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 765096 - baseparse: When initializing DTS from PTS, remember that we did so
baseparse: When initializing DTS from PTS, remember that we did so
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gstreamer (core)
unspecified
Other All
: Normal normal
: 1.8.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-04-15 10:54 UTC by Sebastian Dröge (slomo)
Modified: 2016-04-15 13:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
baseparse: When initializing DTS from PTS, remember that we did so (1.58 KB, patch)
2016-04-15 10:54 UTC, Sebastian Dröge (slomo)
committed Details | Review

Description Sebastian Dröge (slomo) 2016-04-15 10:54:00 UTC
See commit message
Comment 1 Sebastian Dröge (slomo) 2016-04-15 10:54:04 UTC
Created attachment 326082 [details] [review]
baseparse: When initializing DTS from PTS, remember that we did so

If we don't store the value in prev_dts, we would over and over again
initialize the DTS from the last known upstream PTS. If upstream only provides
PTS every now and then, then this causes DTS to be rather static.

For example in adaptive streaming scenarios this means that all buffers in a
fragment will have exactly the same DTS while the PTS is properly updated. As
our queues are now preferring to do buffer fill level calculations on DTS,
this is causing huge problems there.

See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of
the code was introduced.
Comment 2 Sebastian Dröge (slomo) 2016-04-15 13:03:50 UTC
Merged into master and 1.8, it's a regression from 1.0 that happened for 1.2 :)

commit 895332e056735e0bc0c09cc462285d8387e8bb68
Author: Sebastian Dröge <sebastian@centricular.com>
Date:   Fri Apr 15 13:50:30 2016 +0300

    baseparse: When initializing DTS from PTS, remember that we did so
    
    If we don't store the value in prev_dts, we would over and over again
    initialize the DTS from the last known upstream PTS. If upstream only provides
    PTS every now and then, then this causes DTS to be rather static.
    
    For example in adaptive streaming scenarios this means that all buffers in a
    fragment will have exactly the same DTS while the PTS is properly updated. As
    our queues are now preferring to do buffer fill level calculations on DTS,
    this is causing huge problems there.
    
    See https://bugzilla.gnome.org/show_bug.cgi?id=691481#c27 where this part of
    the code was introduced.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=765096