I have made a lot of progress working with libmad and trying to get two instances running.

 

I have a simple RTOS which has two threads. Each thread starts lib mad with a dedicated mad_decoder buffer for each thread. I am now able to “read” data correcting into the decoders (i.e. I don’t see decoding errors streaming everywhere on the debug trace) but the output audio is mixed up. Meaning that the audio from the two threads is being mixed (actually shuffled) during playback.

 

Seems like there may be another global buffer being used somewhere that I have to split out onto two threads or something. Can anyone help with ideas on how to have two threads, play two different MP3s, using libmad?

 

Thanks

 

Steve Spano, President

Finger Lakes Engineering