summaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-plug-dmix.c
diff options
context:
space:
mode:
authorThierry Bultel <thierry.bultel@iot.bzh>2019-05-13 14:30:01 +0200
committerThierry Bultel <thierry.bultel@iot.bzh>2019-05-14 15:14:20 +0200
commitb5206132b6fb5b060acacaf2aee45841a7792a8c (patch)
treeef69b33d17629f6eddd249eadc7f2c446557620a /plugins/alsa/alsa-plug-dmix.c
parent6c627f8650b88b19704dd4e513fe7fff701c00c1 (diff)
parent43df82896d8535f99233b4d3ab35a744b07871e0 (diff)
Bug AGL: SPEC-2387 This brings the following commits from master: * 43df828 loops/avirt: forget saved loops after creation * 622096c plug route: added a calculation for the number of physical c.. * c950295 streams: improved log output * 7520fbf core-pcm: fixed channels setting issues * 293fe69 core pcm: use the same model for writing and reading audio * e355716 pcm plugs: rework the alsa config cleanup * eb45566 alsa-api-pcm: added an 'optional' parameter * 93bf6e6 alsa-transaction: simplify the cleanup * bb70b48 alsa-api-pcm: added support of quirks * 93ca785 alsa-utils-dump: added missing ending null char Change-Id: I8ccc641b1f6827873e479185c0098d732d1b2b0a Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Diffstat (limited to 'plugins/alsa/alsa-plug-dmix.c')
-rw-r--r--plugins/alsa/alsa-plug-dmix.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/plugins/alsa/alsa-plug-dmix.c b/plugins/alsa/alsa-plug-dmix.c
index 9aaf866..bb58a29 100644
--- a/plugins/alsa/alsa-plug-dmix.c
+++ b/plugins/alsa/alsa-plug-dmix.c
@@ -24,6 +24,13 @@ static int uniqueIpcIndex = 1024;
ALSA_PLUG_PROTO(dmix);
+static void dmixConfigClean(SoftMixerT *mixer, void * arg) {
+ snd_config_t * dmixConfig = arg;
+ AFB_API_DEBUG(mixer->api, "%s... ", __func__);
+ snd_config_delete(dmixConfig);
+ snd_config_update();
+}
+
PUBLIC AlsaPcmCtlT* AlsaCreateDmix(SoftMixerT *mixer, const char* pcmName, AlsaSndPcmT *pcmSlave, int open) {
@@ -92,7 +99,7 @@ PUBLIC AlsaPcmCtlT* AlsaCreateDmix(SoftMixerT *mixer, const char* pcmName, AlsaS
if (error) goto OnErrorExit;
}
- /* It is critical to set the right number of channels ... know.
+ /* It is critical to set the right number of channels ... now.
* Trying to set another value later leads to silent failure
* */
@@ -121,6 +128,9 @@ PUBLIC AlsaPcmCtlT* AlsaCreateDmix(SoftMixerT *mixer, const char* pcmName, AlsaS
goto OnErrorExit;
}
+ pcmPlug->private_data = dmixConfig;
+ pcmPlug->private_data_clean = dmixConfigClean;
+
// Debug config & pcm
AlsaDumpCtlConfig(mixer, "plug-dmix", dmixConfig, 1);
AFB_ApiNotice(mixer->api, "%s: %s done", __func__, pcmPlug->cid.cardid);