summaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-softmixer.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/alsa/alsa-softmixer.h')
-rw-r--r--plugins/alsa/alsa-softmixer.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/plugins/alsa/alsa-softmixer.h b/plugins/alsa/alsa-softmixer.h
index a8cc6de..346964a 100644
--- a/plugins/alsa/alsa-softmixer.h
+++ b/plugins/alsa/alsa-softmixer.h
@@ -101,10 +101,13 @@ typedef struct {
int subdev;
} AlsaDevInfoT;
+#define SND_FORMAT_STRING_LEN 16
+#define SND_FORMAT_DEFAULT "S16_LE"
+
typedef struct {
unsigned int rate;
unsigned int channels;
- const char *formatS;
+ char formatString[SND_FORMAT_STRING_LEN];
snd_pcm_format_t format;
snd_pcm_access_t access;
size_t sampleSize;
@@ -238,7 +241,7 @@ typedef struct {
} AlsaSndPcmT;
typedef struct {
- const char*uid;
+ char * uid;
int index;
int numid;
struct cds_list_head list;
@@ -305,7 +308,11 @@ typedef struct SoftMixerT_{
unsigned int nbRamps;
AlsaVolRampT ramps;
- AlsaMixerTransaction * transaction;
+ AlsaMixerTransaction * transaction; // current transaction
+
+ struct cds_list_head list; // node to list of all mixers
+
+ struct cds_list_head transactionList; // all transactions of this mixer
} SoftMixerT;
// alsa-utils-bypath.c
@@ -368,12 +375,16 @@ PUBLIC int ApiStreamAttach(SoftMixerT *mixer, AFB_ReqT request, const char * uid
PUBLIC int ApiZoneAttach(SoftMixerT *mixer, AFB_ReqT request, const char *, json_object * argsJ);
PUBLIC int ApiRampAttach(SoftMixerT *mixer, AFB_ReqT request, const char *, json_object *argsJ);
+PUBLIC void loopsDisplay(SoftMixerT * mixer);
+
// helper used for attach verb,and also by the streams API for fake zones
PUBLIC AlsaSndZoneT * zoneCreate(SoftMixerT* mixer, const char * uid, json_object * argsJ);
PUBLIC AlsaLoopSubdevT *ApiLoopFindSubdev(SoftMixerT *mixer, const char *streamUid, const char *targetUid, AlsaSndLoopT **loop);
PUBLIC AlsaPcmHwInfoT *ApiPcmSetParams(SoftMixerT *mixer, const char *uid, json_object *paramsJ);
+PUBLIC AlsaPcmHwInfoT* ApiPcmParamsDup(SoftMixerT* mixer, AlsaPcmHwInfoT* params);
+PUBLIC void ApiPcmParamsShow(SoftMixerT * mixer, const char * msg, const AlsaPcmHwInfoT * params);
PUBLIC void ApiPcmDelParams(SoftMixerT*, AlsaPcmHwInfoT*);
PUBLIC AlsaSndPcmT *ApiPcmAttachOne(SoftMixerT *mixer, const char *uid, snd_pcm_stream_t direction, json_object *argsJ);