From d5ac69750d6d16c88ee009e0106bfd6eeffaa695 Mon Sep 17 00:00:00 2001 From: Mark Farrugia Date: Tue, 12 Feb 2019 12:11:26 +1100 Subject: Add support for AVIRT Leverage the new AVIRT driver for a more secure, more dynamically configurable loopback sound driver. To use, replace the file smixer-4a-default.json with smixer-4a-avirt.json, at /usr/libexec/agl/smixer/etc. The snd-avirt drivers are installed in AGL by default as of 6.99.2. The existing snd-aloop configuration is not broken by this change. Change-Id: I827636656c109a7393ad77997e05069a2462ea46 Signed-off-by: Mark Farrugia --- plugins/alsa/alsa-softmixer.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'plugins/alsa/alsa-softmixer.h') diff --git a/plugins/alsa/alsa-softmixer.h b/plugins/alsa/alsa-softmixer.h index b6c0e5b..2fb9370 100644 --- a/plugins/alsa/alsa-softmixer.h +++ b/plugins/alsa/alsa-softmixer.h @@ -242,7 +242,7 @@ typedef struct { typedef struct { char * uid; - int index; + int index; // AVIRT: parent PCM index (Since subdev idx is always 0) int numid; struct cds_list_head list; } AlsaLoopSubdevT; @@ -251,10 +251,11 @@ typedef struct { struct SoftMixerT_; typedef struct AlsaSndLoopT { + bool avirt; // AVIRT: Is this loop AVIRT? const char *uid; struct SoftMixerT_ * mixer; /* owner */ - int playback; - int capture; + int playback; // AVIRT: UNUSED + int capture; // AVIRT: UNUSED AlsaSndCtlT *sndcard; int nbSubdevs; AlsaLoopSubdevT subdevs; @@ -368,7 +369,7 @@ PUBLIC AlsaPcmCtlT* AlsaCreateDmix(SoftMixerT *mixer, const char* pcmName, AlsaS // alsa-api-* -PUBLIC int ApiLoopAttach(SoftMixerT *mixer, afb_req_t request, const char *, json_object * argsJ); +PUBLIC int ApiLoopAttach(SoftMixerT *mixer, afb_req_t request, const char *, json_object * argsJ, json_object *streamsJ); PUBLIC int ApiSourceAttach(SoftMixerT *mixer, afb_req_t request, const char *, json_object * argsJ); PUBLIC int ApiSinkAttach(SoftMixerT *mixer, afb_req_t request, const char *, json_object * argsJ); PUBLIC int ApiStreamAttach(SoftMixerT *mixer, afb_req_t request, const char * uid, const char *prefix, json_object * argsJ); -- cgit 1.2.3-korg