[alsa-devel] alsa conformance test fails to run for playback (and works for capture)

Hin-Tak Leung htl10 at users.sourceforge.net
Fri Oct 18 12:56:37 CEST 2019


 > On Friday, 18 October 2019, 04:27:29 BST, Yu-hsuan Hsu <yuhsuan at google.com> wrote:

> How about using index instead? You should find the card index and device index by running "aplay -l" command. The pcm format is hw:{CARD_INDEX},{DEVICE_INDEX}.
> See example part in https://chromium.googlesource.com/chromiumos/platform/audiotest/+/refs/heads/master/alsa_conformance_test.md for more information.

Dear Yu-Hsuan,

Yes, using card index and device index works. Here is the output:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
 Subdevices: 7/7
 Subdevice #0: subdevice #0
 Subdevice #1: subdevice #1
 Subdevice #2: subdevice #2
 Subdevice #3: subdevice #3
 Subdevice #4: subdevice #4
 Subdevice #5: subdevice #5
 Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
 Subdevices: 1/1
 Subdevice #0: subdevice #0
card 1: seeed8micvoicec [seeed-8mic-voicecard], device 0: bcm2835-i2s-ac10x-codec0 ac10x-codec.1-0035-0 []
 Subdevices: 1/1
 Subdevice #0: subdevice #0

As I mentioned earlier I am interested in card 1, the seeed8micvoicec entry. Here it is the conformance test output: 


20 passed, 0 failed
Device Information
 Name: hw:CARD=1,0
 Stream: PLAYBACK
 Format: ['S32_LE']
 Channels: [8]
 Rate: [8000, 11025, 16000, 22050, 44100, 48000]
 Period_size range: [8, 8192]
 Buffer_size range: [16, 16384]
Test Params
 Set channels 8: pass
 Set format S32_LE: pass
 Set rate 8000: pass
 Set rate 11025: pass
 Set rate 16000: pass
 Set rate 22050: pass
 Set rate 44100: pass
 Set rate 48000: pass
Test Rates
 Set rate 8000: pass
 Set rate 11025: pass
 Set rate 16000: pass
 Set rate 22050: pass
 Set rate 44100: pass
 Set rate 48000: pass
Test All Pairs
 Set channels 8, format S32_LE, rate 8000: pass
 Set channels 8, format S32_LE, rate 11025: pass
 Set channels 8, format S32_LE, rate 16000: pass
 Set channels 8, format S32_LE, rate 22050: pass
 Set channels 8, format S32_LE, rate 44100: pass
 Set channels 8, format S32_LE, rate 48000: pass

There is probably a bug somewhere on not being able to use the card name?

Regards,
Hin-Tak
  


More information about the Alsa-devel mailing list