[vlc-devel] VLC audio output FIFO questions ...

j.zorko at att.net j.zorko at att.net
Wed May 14 20:42:08 CEST 2003

Hello, all ...

In my explorations of the VLC source, as well as adding functionality and observing how things 
work, i've now come to the audio output stuff.  There is some behavior i'm seeing that i'm trying to 
determine the cause of, and while i've a theory (and started looking at the audio output source), I 
wanted to ask the people here, as well as perhaps get some additional pointers on where to look.

The behavior I see is this: I've added functionality to VLC to make it do fast-forward and rewind, 
and I implemented this by seeking forward or backward in the file (either purely on a temporal 
basis, or looking for the nth occurence of a sequence header / MP3 frame and setting the new file 
position there).  This works well with the audio and video sources i've tested (MP3, MPEG2 VOBs).  
The idea is that, when VLC is acting as a server to other VLCs, this is sort of like RTSP i.e. a control 
protocol -- some external process can send the ff / rewind commands to the server VLC, and the 
clients receiving the stream don't need to know anything.

However, after several ff / rewind commands, what i'm observing is that, with MP3 audio, the 
audio output 'wobbles' i.e. gets faster, then slower, then finally settling in.  Since i'm not altering 
the number of packets the input thread sends to the FIFO (only where those packets are i.e. 
seeking forward or backward in the file before reading the packets), one can infer from this that 
some FIFO is based on time in the buffer, not # of packets in the buffer.  However, so far i've not 
found this code, and i'm frankly a bit confused (the VLC code seems to have FIFOs everywhere, i'm 
not sure which one is the one that can result in wobbly audio).

So -- can someone give me some pointers, where to look, whether this mystical, magical FIFO is 
indeed based on the spacing of packets in time vs. the quantity of packets in it?  Which FIFO is 
this?  Where is it?


John, VLC hacker (in training) <smile>

Falling You - exploring the beauty 
of voice and sound

This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>

More information about the vlc-devel mailing list