summaryrefslogtreecommitdiff
path: root/transmitters/shm
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2012-02-21 20:11:29 -0500
committerOlivier CrĂȘte <olivier.crete@collabora.com>2012-02-21 20:15:20 -0500
commit544e5ef7af95dd8d70bbc122962a04a3f0c9f74a (patch)
treecb7907e8ce3869b917b36152199733a8787e6a25 /transmitters/shm
parentf8b2fbc4dcfe495ca26acb33e875aea56f929dd4 (diff)
downloadfarstream-544e5ef7af95dd8d70bbc122962a04a3f0c9f74a.tar.gz
Add "do-timestamp" property to the transmitters
Make it possible for the "raw" plugin to not have the transmitter put timestamps on the buffers.
Diffstat (limited to 'transmitters/shm')
-rw-r--r--transmitters/shm/fs-shm-transmitter.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/transmitters/shm/fs-shm-transmitter.c b/transmitters/shm/fs-shm-transmitter.c
index e0b11062..200055d7 100644
--- a/transmitters/shm/fs-shm-transmitter.c
+++ b/transmitters/shm/fs-shm-transmitter.c
@@ -57,7 +57,8 @@ enum
PROP_0,
PROP_GST_SINK,
PROP_GST_SRC,
- PROP_COMPONENTS
+ PROP_COMPONENTS,
+ PROP_DO_TIMESTAMP,
};
struct _FsShmTransmitterPrivate
@@ -71,6 +72,8 @@ struct _FsShmTransmitterPrivate
/* They are tables of pointers, one per component */
GstElement **funnels;
GstElement **tees;
+
+ gboolean do_timestamp;
};
#define FS_SHM_TRANSMITTER_GET_PRIVATE(o) \
@@ -266,6 +269,8 @@ fs_shm_transmitter_class_init (FsShmTransmitterClass *klass)
g_object_class_override_property (gobject_class, PROP_GST_SINK, "gst-sink");
g_object_class_override_property (gobject_class, PROP_COMPONENTS,
"components");
+ g_object_class_override_property (gobject_class, PROP_DO_TIMESTAMP,
+ "do-timestamp");
transmitter_class->new_stream_transmitter =
fs_shm_transmitter_new_stream_transmitter;
@@ -286,6 +291,7 @@ fs_shm_transmitter_init (FsShmTransmitter *self)
self->priv = FS_SHM_TRANSMITTER_GET_PRIVATE (self);
self->components = 2;
+ self->priv->do_timestamp = TRUE;
}
static void
@@ -489,6 +495,9 @@ fs_shm_transmitter_get_property (GObject *object,
case PROP_COMPONENTS:
g_value_set_uint (value, self->components);
break;
+ case PROP_DO_TIMESTAMP:
+ g_value_set_boolean (value, self->priv->do_timestamp);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -507,6 +516,9 @@ fs_shm_transmitter_set_property (GObject *object,
case PROP_COMPONENTS:
self->components = g_value_get_uint (value);
break;
+ case PROP_DO_TIMESTAMP:
+ self->priv->do_timestamp = g_value_get_boolean (value);
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
@@ -607,7 +619,7 @@ fs_shm_transmitter_get_shm_src (FsShmTransmitter *self,
g_object_set (elem,
"socket-path", path,
- "do-timestamp", TRUE,
+ "do-timestamp", self->priv->do_timestamp,
"is-live", TRUE,
NULL);