diff options
Diffstat (limited to 'plugins/alsa/alsa-softmixer.h')
-rw-r--r-- | plugins/alsa/alsa-softmixer.h | 17 |
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); |