baseparse: When initializing DTS from PTS, remember that we did so
authorSebastian Dröge <sebastian@centricular.com>
Fri, 15 Apr 2016 10:50:30 +0000 (13:50 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Fri, 15 Apr 2016 13:02:29 +0000 (16:02 +0300)
commit895332e056735e0bc0c09cc462285d8387e8bb68
treefc62dea3ecdece712921c38ae2148e4da9e32639
parent428de28c9bb359db168cb0fc5a237f320bc9ad30
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
libs/gst/base/gstbaseparse.c