Is tinyalsa utility is supported on Dragonbaord 410c?


#1

Hi,

I saw the tinyalsa utility is available in /system/bin of android AOSP(Lollipop) for Dragonboard. If I try using this for playing a PCM (Wav) file, it is not able to play. Is tinyalsa supported on this board? If not any guidance available for configuring or using it or any alternatives?
The sequence of events like this:

  1. Played Riff1.wav on dragon board booted to android GUI. The output of below command is as under:
    root@msm8916_64:/system/bin # cat /proc/asound/card0/pcm0p/sub0/hw_params
    access: RW_INTERLEAVED
    format: S16_LE
    subformat: STD
    channels: 2
    rate: 48000 (48000/1)
    period_size: 960
    buffer_size: 3840

  2. Played the same file using tinyalsa:
    root@msm8916_64:/sdcard/Music # /system/bin/tinyplay Riff1.wav
    Playing sample: 2 ch, 44100 hz, 16 bit
    prepare_error
    Error playing sample

When I analyzed further, error coming from kernel at soc-pcm.c @ /* there is no point preparing this FE if there are no BEs */
if (list_empty(&fe->dpcm[stream].be_clients)) {

Note that the Riff1.wav is 44100HZ with 2 channels, when checked in Audacity. From that sense it is not clear why playback from android GUI reports it as 48000HZ.

Any suggestions on above issues are very much helpful.

Regards,
Vishwanath


#2

After further analysis I noticed that the Back end DAIs(Speaker, haedphone and such end points) are not configured and hence the soc-dpcm failed to configure front end PCM interfaces of audio DSP in kernel. And this configuration understood be dependent on mixer settings. When I run ./tinymix it displayed approximately 450 settings. Can some one guide me, which one to configure for tinyplay to work?