videodecoder: forward stream-start immediately
authorWim Taymans <wim.taymans@collabora.co.uk>
Sat, 30 Mar 2013 18:13:47 +0000 (19:13 +0100)
committerWim Taymans <wim.taymans@collabora.co.uk>
Sat, 30 Mar 2013 18:14:40 +0000 (19:14 +0100)
gst-libs/gst/video/gstvideodecoder.c

index a9be47e..3017074 100644 (file)
@@ -967,6 +967,20 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
   priv = decoder->priv;
 
   switch (GST_EVENT_TYPE (event)) {
+    case GST_EVENT_STREAM_START:
+    {
+      GstFlowReturn flow_ret = GST_FLOW_OK;
+
+      flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
+      ret = (flow_ret == GST_FLOW_OK);
+
+      /* Forward STREAM_START immediately. Everything is drained after
+       * the STREAM_START event and we can forward this event immediately
+       * now without having buffers out of order.
+       */
+      forward_immediate = TRUE;
+      break;
+    }
     case GST_EVENT_CAPS:
     {
       GstCaps *caps;