[alsa-devel] Multi-channel playback

Subhransu S. Prusty subhransu.s.prusty at intel.com
Thu Apr 14 10:28:01 CEST 2016


On Wed, Apr 13, 2016 at 02:46:39AM +0530, Li, Steve wrote:
> Hi,
> 
> I am trying to playback a multi-channel PCM stream, e.g. 5.1. Is there an API for configuring the channel positions?
> 
> I found this API:
> int snd_pcm_set_chmap(snd_pcm_t *pcm, const snd_pcm_chmap_t *map);
> 
> typedef struct snd_pcm_chmap {
>         unsigned int channels;
>         unsigned int pos[0];
> } snd_pcm_chmap_t;
> 
> But when I call it, it returns -6. Also, calling snd_pcm_get_chmap() return NULL.
> 
> Your help is appreciated.

Hi Steve,

You can use the chmap controls, only if the sound device has registerd
controls for chmap. So you have to check whether the chmap controls are
supported by the PCM device. I guess query_chmap can be used for this. 

Also you can refer test/chmap.c in alsa-lib on how to use those APIs.
Using a debug version of alsa library will help you as well to narrow down
what is missing.

Regards,
Subhransu

> 
> Thanks
> Steve
> 
> ______________________________________________________________________
> This email has been scanned by the Symantec Email Security.cloud service.
> For more information please visit http://www.symanteccloud.com
> ______________________________________________________________________
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel at alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

-- 


More information about the Alsa-devel mailing list