diff options
author | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-06-15 17:20:21 +0200 |
---|---|---|
committer | Sebastian Dröge <sebastian.droege@collabora.co.uk> | 2009-06-15 21:13:32 +0200 |
commit | d1ad31b9b35a0b705fe830df7fab666f4fbe65a8 (patch) | |
tree | cbe12deb23887cd407b1438ef889338410b2d42b /gst/effectv/gstaging.c | |
parent | 45ef8efc6b181d7fb092f2f970ee1ed6ef20c2db (diff) |
agingtv: Actually use GstController for syncing the properties to timestamps
Diffstat (limited to 'gst/effectv/gstaging.c')
-rw-r--r-- | gst/effectv/gstaging.c | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/gst/effectv/gstaging.c b/gst/effectv/gstaging.c index 8ff4dc11..829fa3f0 100644 --- a/gst/effectv/gstaging.c +++ b/gst/effectv/gstaging.c @@ -28,12 +28,15 @@ #include "config.h" #endif -#include <gst/video/gstvideofilter.h> - #include <string.h> #include <math.h> +#include <gst/gst.h> + #include <gst/video/video.h> +#include <gst/video/gstvideofilter.h> + +#include <gst/controller/gstcontroller.h> #define GST_TYPE_AGINGTV \ (gst_agingtv_get_type()) @@ -387,6 +390,17 @@ gst_agingtv_transform (GstBaseTransform * trans, GstBuffer * in, guint32 *dest = (guint32 *) GST_BUFFER_DATA (out); gint area_scale = width * height / 64 / 480; GstFlowReturn ret = GST_FLOW_OK; + GstClockTime timestamp, stream_time; + + timestamp = GST_BUFFER_TIMESTAMP (in); + stream_time = + gst_segment_to_stream_time (&trans->segment, GST_FORMAT_TIME, timestamp); + + GST_DEBUG_OBJECT (agingtv, "sync to %" GST_TIME_FORMAT, + GST_TIME_ARGS (timestamp)); + + if (GST_CLOCK_TIME_IS_VALID (stream_time)) + gst_object_sync_values (G_OBJECT (agingtv), stream_time); if (area_scale <= 0) area_scale = 1; |