[MPlayer-dev-eng] (libmad) decode_audio block decoding [ARM]

Gaetan SEMET gsem01 at freescale.com
Wed Jun 29 12:16:21 CEST 2005


Hello

I'm trying to have mplayer working on a ARM9 board, and have a
problem with libmad to decode MP3 stream coming from network
(RTP multicast, using livemedia).

Audio (mp3 using libmad) only works fine, Video only as well,
but as soon as they are played together, audio is played correctly,
but video is played far too slowly.
I've checked the source, and the problem comes from the call of
decode_audio in mplayer.c. It spends 0,6s decoding audio (and
most of the time it actually *waits" for all this data to come from
the network (so it's not a CPU overhead).). So, during these 0,6s,
it doesn't decode any video frame, and when it comes to decode
a frame, it finds it's in late so drop the frame and want to fill
the audio buffer again... and wait again 0,6s.
So I have audio that is played very fine, but the video is played...
1 frame per 0,6s.

I have to say that I have not experienced this behaviour on PC,
reading was perfect.
I don't know if it's normal (why mplayer actually needs to
*fill* the audio output buffer, and especialy why it *waits*
instead of saying "well, i can't fill the audio buffer for the moment
with the data i receive for my dear RTP connexion,
but for the sake of my video frame rate, I'll do it later I'll
have enough time on the next frame"), if if comes from a
bug into mplayer or libmad... but this behaviour is really
annoying.

Thanks a lot

Gaetan






More information about the MPlayer-dev-eng mailing list