[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