aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-plug-route.c
diff options
context:
space:
mode:
authorThierry Bultel <thierry.bultel@iot.bzh>2019-02-13 11:19:25 +0100
committerThierry Bultel <thierry.bultel@iot.bzh>2019-02-18 15:47:41 +0100
commit0e9718e4158355093b281c1376ba9b0ed049d447 (patch)
tree544588fd10e04c50b49035e62b3657adbc49f047 /plugins/alsa/alsa-plug-route.c
parente3209c82faf706d492057d541781f0d5abe78db7 (diff)
alsa-api-pcm: added support of quirks
Adds an optional array of quirks in the parameters of playback and captures. For now, the only known quirk is a needed workarround for writing sound output on the minnow board. Change-Id: I6c65d110a1f9333ccb77cd8f4eeb9c088d0d2eca Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Diffstat (limited to 'plugins/alsa/alsa-plug-route.c')
-rw-r--r--plugins/alsa/alsa-plug-route.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/alsa/alsa-plug-route.c b/plugins/alsa/alsa-plug-route.c
index 2c7851d..8b49f99 100644
--- a/plugins/alsa/alsa-plug-route.c
+++ b/plugins/alsa/alsa-plug-route.c
@@ -31,6 +31,7 @@ typedef struct {
int ccount;
int port;
bool isPcmPlug;
+ unsigned int quirks;
} ChannelCardPortT;
STATIC int CardChannelByUid(SoftMixerT *mixer, const char *uid, ChannelCardPortT *response) {
@@ -59,6 +60,7 @@ STATIC int CardChannelByUid(SoftMixerT *mixer, const char *uid, ChannelCardPortT
response->cardidx = pcm->sndcard->cid.cardidx;
response->pcmplug_params = pcm->sndcard->cid.pcmplug_params;
response->isPcmPlug= pcm->isPcmPlug;
+ response->quirks = pcm->quirks;
found = true;
break;
}
@@ -151,6 +153,8 @@ PUBLIC AlsaPcmCtlT* AlsaCreateRoute(SoftMixerT *mixer, AlsaSndZoneT *zone, int o
pcmRoute->isPcmPlug = true;
}
+ pcmRoute->quirks = slave.quirks;
+
// temporary store to enable multiple channel to route to the same port
snd_config_t **cports = alloca(zone->nbSinks * sizeof (void*));