aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-softmixer.h
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-05-13 13:55:58 +0200
commitbb70b4863ce923b80bee0cbc48229db168be067c (patch)
treec1e1b712ecb8022168904945760b74bbe3523d29 /plugins/alsa/alsa-softmixer.h
parent93ca785e9b7e295deb3be7406b37de2c61ef2579 (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-softmixer.h')
-rw-r--r--plugins/alsa/alsa-softmixer.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/alsa/alsa-softmixer.h b/plugins/alsa/alsa-softmixer.h
index 2e7874d..c73dd0e 100644
--- a/plugins/alsa/alsa-softmixer.h
+++ b/plugins/alsa/alsa-softmixer.h
@@ -128,6 +128,7 @@ typedef struct {
bool closeAtDeletion; // intermediate pcms in the pcm chain must not be closed, else it make libasound abort()
bool isPcmPlug;
+ unsigned int quirks;
} AlsaPcmCtlT;
typedef struct {
@@ -224,8 +225,12 @@ typedef struct {
struct cds_list_head list;
snd_config_t * routeConfig;
bool isPcmPlug;
+ unsigned int quirks;
} AlsaSndZoneT;
+/* This is a list of known sound card (hardware or driver) specific bugs */
+/* - do not trust the result of snd_pcm_poll_descriptors_revents */
+#define QUIRK_BOGUS_POLL_REVENTS_DEMANGLING (1<<0)
typedef struct {
const char *uid;
const char *verb;
@@ -238,6 +243,7 @@ typedef struct {
struct cds_list_head list;
bool isPcmPlug;
void * apiVerbHandle;
+ unsigned int quirks;
} AlsaSndPcmT;
typedef struct {