[MPlayer-users] Mplayer can't read a 48kHz/24bit wave. No problem with aplay.

Paride Legovini legovini at spiro.fisica.unipd.it
Tue Mar 3 20:21:14 CET 2009


Dominik 'Rathann' Mierzejewski wrote:
> On Monday, 23 February 2009 at 19:12, Paride Legovini wrote:
>> I have a 24kHz/24bit wave file:
>>
>> $ file antani.wav
>> antani.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 24 
>> bit, stereo 48000 Hz
>>
>> My sound card supports this format, and so I can play it with 'aplay'
> [...]
>> But I have problems in playing the 24bit/44.1kHz file with mplayer:
>>
>> $ mplayer -ao alsa:device=hw=1.0 antani.wav
>>
>> ==========================================================================
>> Opening audio decoder: [pcm] Uncompressed PCM audio decoder
>> AUDIO: 48000 Hz, 2 ch, s24le, 2304.0 kbit/100.00% (ratio: 288000->288000)
>> Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
>> ==========================================================================
>> [AO_ALSA] Format s24le is not supported by hardware, trying default.
>> [AO_ALSA] Unable to set format: Invalid argument
>> Failed to initialize audio driver 'alsa:device=hw=1.0'
>> Could not open/initialize audio device -> no sound.
>>
>> Any clue?
> 
> We need full uncut output of mplayer -v -ao alsa:device=hw=1.0 antani.wav
> Does it work if you don't specify the audio device manually?
> You could also try -format s24le.

Sorry for replying so late. If I don't specify the audio device manually
 mplayer uses the first (default) audio adapter, that is not supposed to
support that format. The option -format -s24le does not help.

Here is an uncut output of mplayer -v (I just checkedout the last svn):

$ ./mplayer -v -ao alsa:device=hw=1.0 ~/antani.wav
MPlayer SVN-r28803-4.3.3 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel  max cpuid level: 10
CPU: Intel(R) Core(TM) Duo CPU      L2500  @ 1.83GHz (Family: 6, Model:
14, Stepping: 12)
extended cpuid-level: 8
extended cache-info: 134242368
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags:  MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 0
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 CMOV
get_path('codecs.conf') -> '/home/torn/.mplayer/codecs.conf'
Reading /home/torn/.mplayer/codecs.conf: Can't open
'/home/torn/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open
'/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration:
CommandLine: '-v' '-ao' 'alsa:device=hw=1.0' '/home/torn/antani.wav'
init_freetype
get_path('font/font.desc') -> '/home/torn/.mplayer/font/font.desc'
font: can't open file: /home/torn/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/torn/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/torn/.mplayer/input.conf'
Can't open input config file /home/torn/.mplayer/input.conf: No such
file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such
file or directory
Falling back on default (hardcoded) input config
Setting up LIRC support...
mplayer: could not connect to socket
mplayer: No such file or directory
Failed to open LIRC support. You will not be able to use your remote
control.
get_path('antani.wav.conf') -> '/home/torn/.mplayer/antani.wav.conf'

Playing /home/torn/antani.wav.
get_path('sub/') -> '/home/torn/.mplayer/sub/'
[file] File size is 1728044 bytes
STREAM: [file] /home/torn/antani.wav
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: WAV format
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename /home/torn/antani.wav ext: .wav
Trying demuxer 17 based on filename extension
==> Found audio stream: 0
======= WAVE Format =======
Format Tag: 1 (0x1)
Channels: 2
Samplerate: 48000
avg byte/sec: 288000
Block align: 6
bits/sample: 24
cbSize: 0
==========================================================================
demux_audio: audio data 0x2C - 0x1A5E2C
Audio only file format detected.
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 65536 = 67584 bytes for output buffer.
AUDIO: 48000 Hz, 2 ch, s24le, 2304.0 kbit/100.00% (ratio: 288000->288000)
Selected audio codec: [pcm] afm: pcm (Uncompressed PCM)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s24le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/s24le
[dummy] Was reinitialized: 48000Hz/2ch/s24le
Trying preferred audio driver 'alsa', options 'device=hw=1.0'
alsa-init: requested format: 48000 Hz, 2 channels, 11
alsa-init: using ALSA 1.0.19
alsa-init: setup for 1/2 channel(s)
alsa-init: using device hw:1,0
alsa-init: pcm opened in blocking mode
[AO_ALSA] Format s24le is not supported by hardware, trying default.
[AO_ALSA] Unable to set format: Invalid argument
Failed to initialize audio driver 'alsa:device=hw=1.0'
Could not open/initialize audio device -> no sound.
Uninit audio filters...
[libaf] Removing filter dummy
Uninit audio: pcm
Audio: no sound
Freeing 0 unused audio chunks.
Video: no video
Freeing 0 unused video chunks.

vo: x11 uninit called but X11 not initialized..

Exiting... (End of file)
##########################################################

And, in case it's useful, also of aplay -v:

##########################################################
$ aplay -v -D front:CARD=UA1EX,DEV=0 antani.wav
Playing WAVE 'antani.wav' : Signed 24 bit Little Endian in 3bytes, Rate
48000 Hz, Stereo
Hardware PCM card 1 'UA-1EX' device 0 subdevice 0
Its setup is:
  stream       : PLAYBACK
  access       : RW_INTERLEAVED
  format       : S24_3LE
  subformat    : STD
  channels     : 2
  rate         : 48000
  exact rate   : 48000 (48000/1)
  msbits       : 24
  buffer_size  : 24000
  period_size  : 6000
  period_time  : 125000
  tstamp_mode  : NONE
  period_step  : 1
  avail_min    : 6000
  period_event : 0
  start_threshold  : 24000
  stop_threshold   : 24000
  silence_threshold: 0
  silence_size : 0
  boundary     : 1572864000
##########################################################

Is the suggestion of Martijn (i.e. the problem is that s24le and s24_3le
are different, and mplayer does not support s24_3le) good?

Thank you!
p.



More information about the MPlayer-users mailing list