mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 23:06:49 +00:00
0e9ce593bf
It is quite possible that we might get PTS/DTS before the first PCR/Offset observation. In order to end up with valid timestamp we wait until at least one stream was able to get a proper running-time for any PTS/DTS. Until then, we queue up the pending buffers to push out. Once we see a first valid timestamp, we re-evaluate the amount of running-time elapsed (based on returned inital running-time and amount of data/DTS queued up) for any given stream. Taking the biggest amount of elapsed time, we set that on the packetizer as the initial offset and recalculate all pending buffers running-time PTS/DTS. Note: The buffer queueing system can also be used later on for the dvb fast start proposal (where we queue up all stream packets before seeing PAT/PMT and then push them once we know if they belong to the chosen program). |
||
---|---|---|
.. | ||
gstmpegdefs.h | ||
gstmpegdesc.h | ||
gsttsdemux.c | ||
Makefile.am | ||
mpegtsbase.c | ||
mpegtsbase.h | ||
mpegtspacketizer.c | ||
mpegtspacketizer.h | ||
mpegtsparse.c | ||
mpegtsparse.h | ||
pesparse.c | ||
pesparse.h | ||
TODO | ||
tsdemux.c | ||
tsdemux.h |