[MPlayer-dev-eng] ogg demuxer

Alban Bedel albeu at free.fr
Thu Mar 14 19:24:48 CET 2002


Hi Arpi,

on Thu, 14 Mar 2002 18:36:34 +0100 you wrote:

> Hi,
> 
> Is the ogg demuxer working? Why isn't it in the CVS yet then?
> There are several test files at mphq, and i also can help testing
> it and fixing a-v sync problems if any
> 

Actually, I make a little pause on mplayer but the Ogg demuxer is about ready.
It seems to work (still no seeking) but I runned into trouble with vorbis audio.
Because unlike VBR mp3 vorbis don't have fixed length (in time) packet, and I
don't know how to handle this.
BTW I also did a ahead decoding stuff a little different from Nick's version.
In this version I use only decoded audio to get the PTS and ogg movies work
good, sync is allrigth (and more viewable as framedropping is smarter, but that's
not the topic ;)
I think the problem with really vbr audio come from the timestamp correction. I didn't
fully understand how it work nor what it should do (I read the tech docs, but didn't
understand all). In my ahead decoding version there is no timestamp correction
and I still have perfect sync (but not tested with many files). The only real
difference is that in mplayer the audio timer is increased each time some audio is
writed to the soudcard : timer += playsize/ sh_audio->o_bps (where
playsize is the length in bytes of writed data) while I keep a counter of total
writed bytes and get the time from it : 
played_bytes += playsize; timer = played_bytes / sh_audio->o_bps;
I first did like in mplayer but after some minutes slowly the audio was going out of sync.
And I found that it was the rounding error, so my question is does the timestamp
correction just correct this or also something else ?
I'd like that we find a good way to handle this. If possible we should get audio PTS
only from decoded data. For seeking I don't know, but imho we should avoid
calculating PTS using the compressed data as much as possible.
That's it the demuxer seems ready but it's actually unusable with vorbis audio :(
	Albeu



More information about the MPlayer-dev-eng mailing list