video decoders: send GAP event if frame can't be decoded?
@tpm
Submitted by Tim Müller Link to original bug (#684579)
Description
I have a file with invalid msmpeg4v1 video data (note to self: locate can-not-be-played-by-totem | grep MSMPEG4; available on request), which results in this for every frame:
libav :0:: invalid startcode
libav :0:: header damaged
libav gstavviddec.c:1142:gst_ffmpegviddec_video_frame:<avdec_msmpeg4v1-0>
after decode: len -1, have_data 0
libav gstavviddec.c:1208:gst_ffmpegviddec_video_frame:<avdec_msmpeg4v1-0>
return flow ok, len -1
libav gstavviddec.c:1269:gst_ffmpegviddec_frame:<avdec_msmpeg4v1-0>
avdec_msmpeg4v1: decoding error (len: -1, have_data: 0)
libav gstavviddec.c:1404:gst_ffmpegviddec_handle_frame:<avdec_msmpeg4v1-0>
Decoding error, breaking
In 1.0 this never outputs any video and never prerolls, though arguably it should output GAP events for the broken frames, so we can move on and at least play the audio.
Possibly this should be done in the base class instead (?)