hls: Respect the different stream time bases when comparing dts
authorMichael Niedermayer <michaelni@gmx.at>
Mon, 20 Aug 2012 23:00:05 +0000 (01:00 +0200)
committerMartin Storsjö <martin@martin.st>
Mon, 29 Jul 2013 06:50:08 +0000 (09:50 +0300)
commit9d64f236292ba28018dd9afd2d57f8f944b33f81
treea76e518d444ea224114afaa6af83bd7ec7fbe4d4
parentc11e33a3d9665dd1fc5dbdecdd03a4860ac6a622
hls: Respect the different stream time bases when comparing dts

Also adjust the streams timestamps according to their start
timestamp when comparing. This helps getting correctly interleaved
packets if one stream lacks timestamps (such as a plain ADTS
stream when the other variants are full mpegts) when the others
have timestamps that don't start from zero.

This probably doesn't work properly if such a stream is
temporarily disabled (via the discard flags) and then reenabled,
and such streams are hard to correctly sync against the other
streams as well - but this works better than before at least.

The segment number restriction makes sure all variants advance
roughly at the same pace as well.

Signed-off-by: Martin Storsjö <martin@martin.st>
libavformat/hls.c