Experiment. On the arm board:
$ oggdec myfile.ogg -o - | aplay -
Basically, see if a straight-up pipe will buffer reasonably. If not, I suppose it's remotely possible that this is just a CPU-bound operation and it can't keep up. I can't imagine that's really the case though with that CPU.
On Tue, Mar 2, 2010 at 11:50 AM, Christian Wolf wolflpz@web.de wrote:
I'm using SDL on an ARM based board running Linux (Olimex-AT91SAM9261) . I successfully cross-compiled, installed and tested the libraries (SDL, SDL_mixer) on the system. The sound output is done thru ALSA (SDL_AUDIODRIVER=alsa). And the ogg file decoding thru libvorbis/libvorbisfile libraries.
Now I'm trying to play ogg files. First I used the Mix_LoadWAV macro from the SDL_Mixer library for playback. This worked, but the macro decompresses first the complete audio file into memory and then starts the playback. Thus leading to a long delay before playing the music. Therefore I tried a different approach with the Mix_LoadMUS macro (SDL_mixer) to play the ogg file. This function streams the files directly from the hard-disk and avoids the long decoding time. Unfortunately ALSA shows several buffer under-runs leading to a disrupted playback. To fix this I tried different buffer sizes, but the problem is still existent.
The code works fine on my host system, but not on the ARM target. And i'm not sure if these problems are caused by the ALSA lib?
Any sort of help would be great!
Thanks in advance Christian ___________________________________________________________ GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT! Jetzt freischalten unter http://movieflat.web.de _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org http://mailman.alsa-project.org/mailman/listinfo/alsa-devel