GNOME Bugzilla – Bug 726956
Gstbaseparse: why need report error if no valid frame before EOS?
Last modified: 2018-11-03 12:20:00 UTC
Why need report error if no valid frame before EOS? We have one test stream which have audio track. But haven't any valid AC3 data in it. Application got error and stopped playback. Below is the source code in gstbaseparse.c /* If we STILL have zero frames processed, fire an error */ if (parse->priv->framecount == 0) { GST_ELEMENT_ERROR (parse, STREAM, WRONG_TYPE, ("No valid frames found before end of stream"), (NULL)); }
Does it have any data in it? I have noticed a regression related to this as well though, when seeking towards the end of a file, sometimes we just get an error now about no valid frames found before end of stream.
Maybe baseparse should only fire that error on the bus if it's working in pull-mode (and driving the pipeline). If no data is seen when working in push-based, it should be up to an upstream element to handle/notify that.
push vs. pull mode is not really a suitable criterion sadly, a parser should behave roughly the same when reading from a file vs. reading from http, for example.
Do we have fix plan for it?
I think decoders handle this like this: * If no data received and eos -> eos * If data received but no valid output and then eos -> error
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gstreamer/issues/52.