[aravis] gst: Add packet-resend property
- From: Emmanuel Pacaud <emmanuel src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [aravis] gst: Add packet-resend property
- Date: Thu, 17 Apr 2014 19:45:23 +0000 (UTC)
commit 16176b0fbdabedca5d56ce3860d1421ffe69676f
Author: Patrick Doyle <wpd harvestai com>
Date: Thu Apr 17 18:34:42 2014 +0000
gst: Add packet-resend property
gst/gstaravis.c | 24 +++++++++++++++++++++++-
gst/gstaravis.h | 1 +
2 files changed, 24 insertions(+), 1 deletions(-)
---
diff --git a/gst/gstaravis.c b/gst/gstaravis.c
index 8079088..a8374e1 100644
--- a/gst/gstaravis.c
+++ b/gst/gstaravis.c
@@ -56,7 +56,8 @@ enum
PROP_H_BINNING,
PROP_V_BINNING,
PROP_OFFSET_X,
- PROP_OFFSET_Y
+ PROP_OFFSET_Y,
+ PROP_PACKET_RESEND
};
G_DEFINE_TYPE (GstAravis, gst_aravis, GST_TYPE_PUSH_SRC);
@@ -241,6 +242,11 @@ gst_aravis_set_caps (GstBaseSrc *src, GstCaps *caps)
gst_aravis->payload = arv_camera_get_payload (gst_aravis->camera);
gst_aravis->stream = arv_camera_create_stream (gst_aravis->camera, NULL, NULL);
+ if (gst_aravis->packet_resend) {
+ g_object_set (gst_aravis->stream, "packet-resend", ARV_GV_STREAM_PACKET_RESEND_ALWAYS, NULL);
+ } else {
+ g_object_set (gst_aravis->stream, "packet-resend", ARV_GV_STREAM_PACKET_RESEND_NEVER, NULL);
+ }
for (i = 0; i < GST_ARAVIS_N_BUFFERS; i++)
arv_stream_push_buffer (gst_aravis->stream,
@@ -441,6 +447,7 @@ gst_aravis_init (GstAravis *gst_aravis)
gst_aravis->offset_y = 0;
gst_aravis->h_binning = -1;
gst_aravis->v_binning = -1;
+ gst_aravis->packet_resend = TRUE;
gst_aravis->payload = 0;
gst_aravis->buffer_timeout_us = GST_ARAVIS_BUFFER_TIMEOUT_DEFAULT;
@@ -531,6 +538,9 @@ gst_aravis_set_property (GObject * object, guint prop_id,
case PROP_V_BINNING:
gst_aravis->v_binning = g_value_get_int (value);
break;
+ case PROP_PACKET_RESEND:
+ gst_aravis->packet_resend = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -574,6 +584,9 @@ gst_aravis_get_property (GObject * object, guint prop_id, GValue * value,
case PROP_V_BINNING:
g_value_set_int (value, gst_aravis->v_binning);
break;
+ case PROP_PACKET_RESEND:
+ g_value_set_boolean (value, gst_aravis->packet_resend);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -673,6 +686,15 @@ gst_aravis_class_init (GstAravisClass * klass)
1, G_MAXINT, 1,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+ g_object_class_install_property
+ (gobject_class,
+ PROP_PACKET_RESEND,
+ g_param_spec_boolean ("packet-resend",
+ "Packet Resend",
+ "Request dropped packets to be reissued by the camera",
+ TRUE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
+
GST_DEBUG_CATEGORY_INIT (aravis_debug, "aravissrc", 0, "Aravis interface");
gst_element_class_set_details_simple (element_class,
diff --git a/gst/gstaravis.h b/gst/gstaravis.h
index 2a8aeec..a3a4ba1 100644
--- a/gst/gstaravis.h
+++ b/gst/gstaravis.h
@@ -53,6 +53,7 @@ struct _GstAravis {
gint h_binning;
gint v_binning;
+ gboolean packet_resend;
gint payload;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]