[MPlayer-users] Crash on playing any audio

Stephan Diestelhorst dr.syon at freenet.de
Tue May 22 23:42:35 CEST 2007


>   I have some problems playing any audio with mplayer, independent of the
> media (i.e. film, only mp3 file) using alsa. Everything works fine, when I
> use "-nosound" or "-ao null".
>

[...]

> alsa-init: got buffersize=569269120
> alsa-init: got period size 0
> alsa: 44100 Hz/2 channels/4 bpf/569269120 bytes buffer/Signed 16 bit Little
> Endian
> AO: [alsa] 44100Hz 2ch s16le (2 bytes per sample)
> AO: Description: ALSA-0.9.x-1.x audio output
> AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
> AO: Comment: under developement
> Building audio filter chain for 44100Hz/2ch/s16le -> 44100Hz/2ch/s16le...
> [dummy] Was reinitialized: 44100Hz/2ch/s16le
> [dummy] Was reinitialized: 44100Hz/2ch/s16le
>
> Program received signal SIGSEGV, Segmentation fault.
> 0xb7d66acb in ?? ()
> (gdb) bt
> #0  0xb7d66acb in ?? ()
> #1  0xbfffe4e8 in ?? ()
> #2  0x080d3251 in init_audio_filters (sh_audio=0x0, in_samplerate=0,
> in_channels=569269120,
>     in_format=140380448, out_samplerate=0x87b82c0, out_channels=0x0,
> out_format=0xac44,
>     out_minsize=142312224, out_maxsize=<value optimized out>) at
> dec_audio.c:339
> Backtrace stopped: frame did not save the PC

The problem occurs in libmpcodecs/dec_audio.c, where the memalign in line 340 
fails. Added debug statements reveal, that sh_audio->a_out_buffer_size is set 
to 569285440 (about 543 MB), and the malign fails because its out of memory.

This number comes from out_maxsize, and from the invocation in mplayer.c, line 
1220 in build_afilter_chain and from ao_data->buffersize.

The value seems to be close to the "alsa_init: got buffersize=..." above, 
however, I have not yet found any clues, where it comes from. Would it be 
reasonable to limit this value somehow?

Thanks,
  Stephan



More information about the MPlayer-users mailing list