Fix still-frame handling.
authorJan Schmidt <thaytan@noraisin.net>
Mon, 3 Sep 2012 06:19:09 +0000 (23:19 -0700)
committerJan Schmidt <thaytan@noraisin.net>
Thu, 13 Sep 2012 06:07:28 +0000 (23:07 -0700)
Still frame events are not OOB downstream. Also, always send
immediately downstream.

gst-libs/gst/video/gstvideodecoder.c

index a714e0f..4032199 100644 (file)
@@ -960,20 +960,21 @@ gst_video_decoder_sink_event_default (GstVideoDecoder * decoder,
       forward_immediate = TRUE;
       break;
     }
-    case GST_EVENT_CUSTOM_DOWNSTREAM_OOB:
+    case GST_EVENT_CUSTOM_DOWNSTREAM:
     {
       gboolean in_still;
       GstFlowReturn flow_ret = GST_FLOW_OK;
 
       if (gst_video_event_parse_still_frame (event, &in_still)) {
         if (in_still) {
+          GST_DEBUG_OBJECT (decoder, "draining current data for still-frame");
           flow_ret = gst_video_decoder_drain_out (decoder, FALSE);
           ret = (flow_ret == GST_FLOW_OK);
-          forward_immediate = TRUE;
         }
+        forward_immediate = TRUE;
       }
+      break;
     }
-
     case GST_EVENT_SEGMENT:
     {
       GstSegment segment;