decoder: mpeg4: fix picture decoder return value for skipped frames.
authorFabrice Bellet <fabrice@bellet.info>
Wed, 16 Jul 2014 23:51:36 +0000 (01:51 +0200)
committerGwenole Beauchesne <gwenole.beauchesne@intel.com>
Mon, 21 Jul 2014 08:17:00 +0000 (10:17 +0200)
The picture decoder should return GST_VAAPI_DECODER_STATUS_DROP_FRAME
when a frame should be skipped, so the stream processing is not stalled.

https://bugzilla.gnome.org/show_bug.cgi?id=733324

gst-libs/gst/vaapi/gstvaapidecoder_mpeg4.c

index b461877..4f80f7f 100644 (file)
@@ -518,7 +518,7 @@ decode_picture(GstVaapiDecoderMpeg4 *decoder, const guint8 *buf, guint buf_size)
         parser_result = gst_mpeg4_parse_video_object_plane(vop_hdr, sprite_trajectory, vol_hdr, buf, buf_size);
         /* Need to skip this frame if VOP was not coded */
         if (GST_MPEG4_PARSER_OK == parser_result && !vop_hdr->coded)
-            return GST_VAAPI_DECODER_STATUS_ERROR_NO_DATA;
+            return GST_VAAPI_DECODER_STATUS_DROP_FRAME;
     }
 
     if (parser_result != GST_MPEG4_PARSER_OK) {