decoder: mpeg4: fix picture decoder return value for skipped frames.

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
This commit is contained in:
Fabrice Bellet 2014-07-17 01:51:36 +02:00 committed by Gwenole Beauchesne
parent 22dc8c4251
commit 00ca734ebf

View 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); 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 */ /* Need to skip this frame if VOP was not coded */
if (GST_MPEG4_PARSER_OK == parser_result && !vop_hdr->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) { if (parser_result != GST_MPEG4_PARSER_OK) {