decoder: handle currputed stream

Bing Song Kevin.Song at freescale.com
Wed Jan 7 18:51:21 PST 2015


Hi,

Audio and video decoder base can decide how to handle decode error by set max error count. It will continue decode if error count less than max error count. Subclass also can set max error to 0 for always continue decoder if decode error.

But I can't see send GAP event when decoder error, it will blocked by can't finish pre-roll when decode corrupted stream. We has one stream which video is ok and audio is whole corrupted stream, it blocked when changed to PAUSE state. Do we need send GAP event when decoder error to start playback and keep sync?

Below code will send ERROR if no output when received EOS. Audio and video decoder base also have max error count to handle corrupted stream. Why need below code to handle it? It will cause issue when corrupted audio is shorter then video and will cause video playback exit.

      /* Error out even if EOS was ok when we had input, but no output */
      if (ret && priv->had_input_data && !priv->had_output_data) {
        GST_ELEMENT_ERROR (decoder, STREAM, DECODE,
            ("No valid frames decoded before end of stream"),
           ("no valid frames found"));

Regards,
Song Bing.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150108/4e93a6e8/attachment-0001.html>


More information about the gstreamer-devel mailing list