[Live-devel] scaled mp3 streaming
Ross Finlayson
finlayson at live.com
Mon Feb 21 02:26:10 PST 2005
>Am trying to debug mp3 trickplay streaming with VLC as the client. (wav
>file playback is working successfully).
As far as I know, MP3 trickplay with VLC is also working OK. (At least, it
was when I wrote the code.)
> Looking at the MP3StreamState.cpp, it looks like the presentation time
> stamp is being modified to account for the new scale value (findNextFrame
> modifies the timestamp, which looks like is propagated back to
> MP3FileSource). As per an earlier discussion clarifying how the
> presentation time stamp is *not* supposed to be scaled according to RTSP
> dialect
That's correct. The way scale factors N>1 are handled for MP3 is that
every MP3 frame is read from the file, but only every Nth frame is actually
delivered to the reading client. (See "MP3ADU.cpp", line 259.) To account
for this, the duration (gap) between the presentation times of successive
frames - as they're read from the file - is divided by N, so that the
sequence of presentation times that will get delivered to the reading
client increases at the same rate as if the input source were not being
scaled at all.
Ross Finlayson
LIVE.COM
<http://www.live.com/>
More information about the live-devel
mailing list