[aravis] buffer: add a per buffer user_data parameter.
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] buffer: add a per buffer user_data parameter.
- Date: Mon, 14 Feb 2011 14:19:35 +0000 (UTC)
commit cf85d476d31378710c6f27e767d01cacee251374
Author: Emmanuel Pacaud <emmanuel gnome org>
Date: Mon Feb 14 15:18:57 2011 +0100
buffer: add a per buffer user_data parameter.
gst/gstaravis.c | 2 +-
src/arvbuffer.c | 4 +++-
src/arvbuffer.h | 6 ++++--
src/arvfakegvcamera.c | 2 +-
tests/arvcameratest.c | 2 +-
tests/arvtest.c | 2 +-
viewer/arvviewer.c | 2 +-
7 files changed, 12 insertions(+), 8 deletions(-)
---
diff --git a/gst/gstaravis.c b/gst/gstaravis.c
index a437215..be5167f 100644
--- a/gst/gstaravis.c
+++ b/gst/gstaravis.c
@@ -143,7 +143,7 @@ gst_aravis_start (GstBaseSrc *src)
for (i = 0; i < GST_ARAVIS_N_BUFFERS; i++)
arv_stream_push_buffer (gst_aravis->stream,
- arv_buffer_new (gst_aravis->payload, NULL));
+ arv_buffer_new (gst_aravis->payload, NULL, NULL));
GST_LOG_OBJECT (gst_aravis, "Starting acquisition");
diff --git a/src/arvbuffer.c b/src/arvbuffer.c
index 42845d2..a485699 100644
--- a/src/arvbuffer.c
+++ b/src/arvbuffer.c
@@ -40,6 +40,7 @@ static GObjectClass *parent_class = NULL;
* arv_buffer_new:
* @size: payload size
* @preallocated: (transfer none): preallocated memory buffer
+ * @user_data: (transfer none): a pointer to user data associated to this buffer
*
* Creates a new buffer for the storage of the video stream images.
* The data space can be either preallocated, and the caller is responsible
@@ -48,12 +49,13 @@ static GObjectClass *parent_class = NULL;
*/
ArvBuffer *
-arv_buffer_new (size_t size, void *preallocated)
+arv_buffer_new (size_t size, void *preallocated, void *user_data)
{
ArvBuffer *buffer;
buffer = g_object_new (ARV_TYPE_BUFFER, NULL);
buffer->size = size;
+ buffer->user_data = user_data;
if (preallocated != NULL) {
buffer->is_preallocated = TRUE;
diff --git a/src/arvbuffer.h b/src/arvbuffer.h
index 774d475..a40ad73 100644
--- a/src/arvbuffer.h
+++ b/src/arvbuffer.h
@@ -61,8 +61,10 @@ struct _ArvBuffer {
GObject object;
size_t size;
- void *data;
gboolean is_preallocated;
+ void *data;
+
+ void *user_data;
ArvBufferStatus status;
@@ -83,7 +85,7 @@ struct _ArvBufferClass {
GType arv_buffer_get_type (void);
-ArvBuffer * arv_buffer_new (size_t size, void *preallocated);
+ArvBuffer * arv_buffer_new (size_t size, void *preallocated, void *user_data);
G_END_DECLS
diff --git a/src/arvfakegvcamera.c b/src/arvfakegvcamera.c
index 5bb1bd6..95dac70 100644
--- a/src/arvfakegvcamera.c
+++ b/src/arvfakegvcamera.c
@@ -125,7 +125,7 @@ arv_fake_gv_camera_thread (void *user_data)
g_free (inet_address_string);
payload = arv_fake_camera_get_payload (gv_camera->camera);
- image_buffer = arv_buffer_new (payload, NULL);
+ image_buffer = arv_buffer_new (payload, NULL, NULL);
}
arv_fake_camera_wait_for_next_frame (gv_camera->camera);
diff --git a/tests/arvcameratest.c b/tests/arvcameratest.c
index ec71f30..45deadb 100644
--- a/tests/arvcameratest.c
+++ b/tests/arvcameratest.c
@@ -163,7 +163,7 @@ main (int argc, char **argv)
NULL);
for (i = 0; i < 50; i++)
- arv_stream_push_buffer (stream, arv_buffer_new (payload, NULL));
+ arv_stream_push_buffer (stream, arv_buffer_new (payload, NULL, NULL));
arv_camera_set_acquisition_mode (camera, ARV_ACQUISITION_MODE_CONTINUOUS);
diff --git a/tests/arvtest.c b/tests/arvtest.c
index c881acf..5f5c60d 100644
--- a/tests/arvtest.c
+++ b/tests/arvtest.c
@@ -192,7 +192,7 @@ main (int argc, char **argv)
g_print ("payload size = %d (0x%x)\n", value, value);
for (i = 0; i < 30; i++)
- arv_stream_push_buffer (stream, arv_buffer_new (value, NULL));
+ arv_stream_push_buffer (stream, arv_buffer_new (value, NULL, NULL));
arv_device_read_register (device, ARV_GVBS_FIRST_STREAM_CHANNEL_PORT, &value);
g_print ("stream port = %d (%d)\n", value, arv_gv_stream_get_port (ARV_GV_STREAM (stream)));
diff --git a/viewer/arvviewer.c b/viewer/arvviewer.c
index 0699f77..1dace00 100644
--- a/viewer/arvviewer.c
+++ b/viewer/arvviewer.c
@@ -364,7 +364,7 @@ arv_viewer_select_camera_cb (GtkComboBox *combo_box, ArvViewer *viewer)
arv_stream_set_emit_signals (viewer->stream, TRUE);
payload = arv_camera_get_payload (viewer->camera);
for (i = 0; i < 5; i++)
- arv_stream_push_buffer (viewer->stream, arv_buffer_new (payload, NULL));
+ arv_stream_push_buffer (viewer->stream, arv_buffer_new (payload, NULL, NULL));
arv_camera_get_region (viewer->camera, NULL, NULL, &width, &height);
pixel_format = arv_camera_get_pixel_format (viewer->camera);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]