gstreamer/gst/mpegtsdemux
Edward Hervey 0e9ce593bf tsdemux: Wait for valid PCR/offset obvervations
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).
2013-09-28 13:15:43 +02:00
..
gstmpegdefs.h mpegtsdemux: New PCR<=>Offset estimation code 2013-09-28 13:15:43 +02:00
gstmpegdesc.h tsdemux: Add more AC3 detection cases 2013-07-29 09:42:11 +02:00
gsttsdemux.c mpegtsdemux: Switch to MPEG-TS SI library 2013-07-03 09:17:25 +02:00
Makefile.am tsdemux: Create and send codec tag 2013-07-23 15:11:51 +02:00
mpegtsbase.c mpegtsdemux: New PCR<=>Offset estimation code 2013-09-28 13:15:43 +02:00
mpegtsbase.h mpegtsbase: Adapt for latest mpegts lib changes 2013-08-21 08:59:42 +02:00
mpegtspacketizer.c mpegtsdemux: New PCR<=>Offset estimation code 2013-09-28 13:15:43 +02:00
mpegtspacketizer.h mpegtsdemux: New PCR<=>Offset estimation code 2013-09-28 13:15:43 +02:00
mpegtsparse.c mpegtsparse: Queue buffers until we have enough to know the caps 2013-09-27 16:10:54 +02:00
mpegtsparse.h mpegtsparse: Queue buffers until we have enough to know the caps 2013-09-27 16:10:54 +02:00
pesparse.c pesparse: Refactory secondary PES extension handling 2013-08-14 13:41:37 +02:00
pesparse.h pesparse: Refactory secondary PES extension handling 2013-08-14 13:41:37 +02:00
TODO tsdemux: Update TODO 2012-03-05 10:17:56 +01:00
tsdemux.c tsdemux: Wait for valid PCR/offset obvervations 2013-09-28 13:15:43 +02:00
tsdemux.h tsdemux: Remember requested seek rate and use it 2013-07-24 15:51:46 +02:00