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 776979 - vaapidecoder resets too much on input caps change
vaapidecoder resets too much on input caps change
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer-vaapi
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 774182 778792 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2017-01-07 13:08 UTC by Jan Schmidt
Modified: 2017-02-21 18:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
vaapidecode: update internal decoder sink caps (6.99 KB, patch)
2017-01-13 20:34 UTC, Víctor Manuel Jáquez Leal
committed Details | Review

Description Jan Schmidt 2017-01-07 13:08:17 UTC
bug 770921 made vaapidecoder do a full reset when set_format() is called, but causes a new problem by unconditionally resetting the decoder when not needed.

I have a fragmented MP4 file, where the H.264 is continuous but the caps change periodically because the calculated framerate changes from fragment to fragment. That's a by-product of the fact that MP4 doesn't store framerate explicitly, so we have to guess it and the guess can be inaccurate.

The test file can be found at https://www.dropbox.com/s/l34m9vhw8zlj69m/test-fragmented-videotestsrc.mp4?dl=0
Comment 1 Víctor Manuel Jáquez Leal 2017-01-13 20:34:02 UTC
Created attachment 343450 [details] [review]
vaapidecode: update internal decoder sink caps

When a new sink caps arrive the internal decoder state is updated
and, if it is, request a downstream renegotiation.

Previously, when new caps arrived the whole decoder where destroyed
and recreated. Now, if the caps are compatible or has the same codec,
the internal decoder is kept, but a downstream renegotiation is
requested.
Comment 2 Víctor Manuel Jáquez Leal 2017-01-18 10:42:22 UTC
Attachment 343450 [details] pushed as 8654829 - vaapidecode: update internal decoder sink caps
Comment 3 Víctor Manuel Jáquez Leal 2017-02-01 17:01:39 UTC
*** Bug 774182 has been marked as a duplicate of this bug. ***
Comment 4 Faham Negini 2017-02-21 18:07:33 UTC
*** Bug 778792 has been marked as a duplicate of this bug. ***