After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 705058 - mpegvideoparse: Should only output from keyframe/sequence after flush
mpegvideoparse: Should only output from keyframe/sequence after flush
Status: RESOLVED WONTFIX
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-07-29 06:28 UTC by Edward Hervey
Modified: 2016-05-30 00:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
mpegvideoparse: wait for keyframe after flushing seek (3.30 KB, patch)
2016-05-28 22:02 UTC, Tim-Philipp Müller
none Details | Review

Description Edward Hervey 2013-07-29 06:28:06 UTC
When a flush happens (like after a flushing seek), mpegvideoparse will no longer wait for next I-frame (or sequence header) before pushing.

Right now it only checks if it got the config (which does not get resetted when flushing if obtained from the stream) and if so pushes out everything it receives (which might not start from an I-frame).
Comment 1 Edward Hervey 2013-08-01 13:49:15 UTC
Marking as blocker since:
1) It causes artefacts with some decoders
2) Pushes out data that will be processed... and discarded. This increases the delay until first frame decoded (when scrubbing/seeking).
Comment 2 Sebastian Dröge (slomo) 2013-08-23 09:39:09 UTC
Can you provide a file on which this happens?
Comment 3 Edward Hervey 2013-09-23 12:07:27 UTC
Demoting
Comment 4 Tim-Philipp Müller 2016-05-28 22:02:52 UTC
Created attachment 328683 [details] [review]
mpegvideoparse: wait for keyframe after flushing seek
Comment 5 Sebastian Dröge (slomo) 2016-05-29 06:09:44 UTC
We don't do this in other parsers either, or demuxers. And decoders also happily output things from before a keyframe (just not with perfect frames being decoded).
Comment 6 Nicolas Dufresne (ndufresne) 2016-05-29 23:45:56 UTC
Just fixed the title. It sounded like if the parser was doing so, and that it was a bug.
Comment 7 Nicolas Dufresne (ndufresne) 2016-05-29 23:48:53 UTC
Note that it would be nice to check if we do re-send the sequence though (that we do at least in H264 now, because most decoder completely destroy their state and forget about the headers on flush).
Comment 8 Tim-Philipp Müller 2016-05-30 00:08:36 UTC
The original title was fine btw, there's a difference between 'xyz: outputs' and 'xyz: output', but thanks for clarifying :)

I think sequence headers will always be in the caps once available, so there shouldn't be a need to re-send it in-stream, but didn't confirm (with h264 it's only a problem because of the different stream-formats and because we don't put this info into the caps in byte-stream format).