A-V out of sync and unable to recover
"Paul Robertson" <[email protected]> Thu, 25 Jun 2009 17:25:49 +0100
| Newsgroups | gmane.comp.video.mplayer.user.dvb |
|---|---|
| Message-ID | <F0B0CE2D5C90416EABE2A2ADB3FF0B55@SARAHSPC> |
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