Hello, I had a look at the driver for my platform and in its snd_pcm_hardware struct, it sets ".formats = SNDRV_PCM_FMTBIT_S16_LE" (no big endian format). Does the S16_BE format being used by alsalib/test/pcm get set in alsalib or elsewhere in the kernel?
Thanks, John
John Faith wrote:
Hello, I am using alsa-lib 1.0.15 on an embedded PowerPC board. I can play audio with aplay, but gstreamer fails, so I built and ran the 'pcm' app in alsa-lib-1.0.15/test/. pcm gives:
# export LIBASOUND_DEBUG=1 # ./pcm Playback device is plughw:0,0 Stream parameters are 44100Hz, S16_BE, 1 channels Sine wave rate is 440.0000Hz Using transfer method: write ALSA lib pcm_plug.c:773:(snd_pcm_plug_hw_refine_schange) Unable to find an usable access for 'plughw:0,0' ALSA ERROR hw_params: set (FORMAT) value = S16_BE : Invalid argument ACCESS: RW_INTERLEAVED FORMAT: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE SUBFORMAT: STD SAMPLE_BITS: [4 64] FRAME_BITS: [4 640000] CHANNELS: [1 10000] RATE: [4000 4294967295) PERIOD_TIME: [25000 300000] PERIOD_SIZE: [100 1288490189) PERIOD_BYTES: [50 4294967295) PERIODS: (0 12884902) BUFFER_TIME: [1 4294967295] BUFFER_SIZE: [100 1288490188] BUFFER_BYTES: [50 4294967295] TICK_TIME: 4000 Sample format not available for playback: Invalid argument Setting of hwparams failed: Invalid argument
Is the driver saying it can do format S16_BE somewhere, but fails when the format is actually set? How can I dig deeper on this?
Thanks in advance for any ideas! , John