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 649372 - ffdec: make the time threshold to skip to next keyframe configurable
ffdec: make the time threshold to skip to next keyframe configurable
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-libav
git master
Other All
: Normal enhancement
: 0.10.12
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2011-05-04 13:09 UTC by Vincent Penquerc'h
Modified: 2011-05-06 11:24 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
ffdec: make the time threshold to skip to next keyframe configurable (4.11 KB, patch)
2011-05-04 13:09 UTC, Vincent Penquerc'h
none Details | Review
Alterntive patch, which removes the resync code path (1.86 KB, patch)
2011-05-04 14:54 UTC, Vincent Penquerc'h
reviewed Details | Review
Add a bit more explanation to the commit message (2.02 KB, patch)
2011-05-05 18:20 UTC, Vincent Penquerc'h
committed Details | Review

Description Vincent Penquerc'h 2011-05-04 13:09:58 UTC
Created attachment 187187 [details] [review]
ffdec: make the time threshold to skip to next keyframe configurable

This patch makes the time threshold to skip to next keyframe configurable.
This may be required in the case where a pipeline setup takes more than two seconds between the moment where a live source starts and a decoder processes the first frame.
Comment 1 Sebastian Dröge (slomo) 2011-05-04 13:15:22 UTC
I think that code should be removed completely. As the FIXME above says, this is something the demuxer has to do based on the knowledge of the container and the QoS events.
Comment 2 Vincent Penquerc'h 2011-05-04 14:53:22 UTC
If preferred, here's an alternative patch that does that.
Not quite sure it wouldn't possibly cause regressions though, in cases where performance is *just* enough and it would never catch up where it could with the skip code.
A corner case though maybe.
Comment 3 Vincent Penquerc'h 2011-05-04 14:54:02 UTC
Created attachment 187199 [details] [review]
Alterntive patch, which removes the resync code path
Comment 4 Sebastian Dröge (slomo) 2011-05-05 15:17:22 UTC
Please add some more to the commit message... like why this code should be removed (demuxers should handle this and doing it in the decoder who has absolutely no knowledge about future keyframes is wrong)
Comment 5 Vincent Penquerc'h 2011-05-05 18:20:14 UTC
Created attachment 187309 [details] [review]
Add a bit more explanation to the commit message

Not sure what else to add. Is this what you had in mind ?
Comment 6 Sebastian Dröge (slomo) 2011-05-06 11:24:21 UTC
commit 920bfb0da20f939f13b1742946af8fa3253723a9
Author: Vincent Penquerc'h <vincent.penquerch@collabora.co.uk>
Date:   Wed May 4 17:33:03 2011 +0300

    ffdec: do not try to resync to the next keyframe when late
    
    A keyframe may be quite a while in the future, and the decoder
    has no way of knowing this. A poor decision could mean quite some
    time with no video output.
    This decision should be left to the upstream element: a demuxer
    might know about incoming keyframes, or some other element might
    be able to request a keyframe.
    
    Fixes bug #649372.