[MPlayer-dvb] A-V out of sync and unable to recover
Paul Robertson
paul.robertson at mrgsystems.co.uk
Thu Jun 25 18:25:49 CEST 2009
I'm experimenting with mplayer running on Ubuntu and capturing a DVB stream
generated from a PC card in a different PC.
I can induce errors into the generated DVB and observe a corresponding error
in A/V sync (also reported by the mplayer status line).
If I stop generating errors before A/V goes too far out of sync mplayer
recovers by dropping frames and gets back in sync.
But if I keep generating errors for long enough I can get mplayer into a
state where it doesn't recover, even after I stop generating errors in the
generated DVB, but just continues to play A and V several seconds out of
sync.
I can exacerbate the problem by generating more errors. I can ameliorate it
by increasing the size of the mplayer cache.
My theory is that it has to do with the size of the mplayer cache, something
like this:
Scenario 1
-----------
mplayer has 1000 frames of video in cache
mplayer calculates that it needs to drop 100 frames to restore A/V sync
mplayer skips over the 100 oldest frames in the cache and everything is ok.
Scenario 2
-----------
mplayer has 1000 frames of video in cache
mplayer calculates that it needs to drop 1100 frames to restore A/V sync
mplayer doesn't have 1000 frames to drop so it doesn't drop any, it just
continues to play the oldest video frames and stays out of sync.
Has anyone reported this kind of behaviour?
Does this sound likely to anyone?
Is it a bug in mplayer?
Is there a workaround or a set of command line parameters which will help?
Many thanks if anyone can help,
--
Paul Robertson
More information about the MPlayer-dvb
mailing list