decklinkvideosrc: Post LATENCY message when the mode changes
authorSebastian Dröge <sebastian@centricular.com>
Thu, 8 Jan 2015 17:15:27 +0000 (18:15 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Thu, 8 Jan 2015 17:16:12 +0000 (18:16 +0100)
Different modes have different framerates, and thus different latencies. We
might need to reconfigure the latency of the pipeline.

sys/decklink/gstdecklinkvideosrc.cpp

index 13ae42b..bfef2b9 100644 (file)
@@ -326,13 +326,14 @@ gst_decklink_video_src_create (GstPushSrc * bsrc, GstBuffer ** buffer)
     caps = gst_decklink_mode_get_caps (self->caps_mode);
     gst_video_info_from_caps (&self->info, caps);
     gst_base_src_set_caps (GST_BASE_SRC_CAST (bsrc), caps);
+    gst_element_post_message (GST_ELEMENT_CAST (self),
+        gst_message_new_latency (GST_OBJECT_CAST (self)));
     gst_caps_unref (caps);
   }
 
   f->frame->GetBytes ((gpointer *) & data);
   data_size = self->info.size;
 
-
   vf = (VideoFrame *) g_malloc0 (sizeof (VideoFrame));
 
   *buffer =