[MPlayer-dev-eng] Reverted patch of time-based PTS locking

Pásztor Szilárd don at tricon.hu
Mon Aug 13 14:31:29 CEST 2012


Hi,

I noticed that my new mplayer compilations fail miserably on H.264 PAFF
streams, for which I contributed a series of patches back in 2010.
In cvslog I found that the time-based PTS recalculation part got removed on
Aug 18 2011:

"Log:
Remove strange pts locking code that would never really result in good
A-V sync and actually break it quite seriously in some cases
(Reportedly NTSC DVDs with pullup under high CPU load?)

Patch by Steaphan Greene [sgreene <at> cs binghamton edu]"

I find this move problematic because this now renders mplayer incapable of
properly handling interlaced PAFF H.264 streams by default - again.
There is a PTS reordering code available with the -correct-pts option but
this is not applicable for streams with severe A-V desync, for example VDB
H.264 data.

In every case, the time-based algorithm resulted in the best A-V sync for me
and it certainly locks in correctly for all H.264 streams I could find - and
there are many of them. Now mplayer cannot even start resyncing DVB streams
because the pts reordering code gives up, spitting "Too many buffered pts"
messages because the A-V desync is way too big by default for its buffer.

This is why time-based recalculation was introduced that works even for
streams with bogus PTS.
Please point me to sample(s) that were broken by this code so I can look into
it and apply a fix if needed. I really think this code (maybe fixed) should
get back into the trunk as the difference it makes is extremely significant
with H.264 streams.

greets,
s.

                    ----------------------------------------
                    |  Empty heads have better acoustics.  |
                    ----------------------------------------


More information about the MPlayer-dev-eng mailing list