summaryrefslogtreecommitdiffstats
path: root/plugins/alsa/alsa-dmix.c
diff options
context:
space:
mode:
authorFulup Ar Foll <fulup@iot.bzh>2018-05-11 01:18:43 +0200
committerFulup Ar Foll <fulup@iot.bzh>2018-05-11 01:18:43 +0200
commit1dd1509a02fee564ff87f80c2f29055d7aad889c (patch)
tree031a0a9e912fa3f9ab94a268ad6058d774e6f8dd /plugins/alsa/alsa-dmix.c
parente904b7da51297b0417df31ab79568c3f1243fb64 (diff)
Initial version with softvol control and DMIX
Diffstat (limited to 'plugins/alsa/alsa-dmix.c')
-rw-r--r--plugins/alsa/alsa-dmix.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/plugins/alsa/alsa-dmix.c b/plugins/alsa/alsa-dmix.c
deleted file mode 100644
index d527657..0000000
--- a/plugins/alsa/alsa-dmix.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2018 "IoT.bzh"
- * Author Fulup Ar Foll <fulup@iot.bzh>
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#define _GNU_SOURCE // needed for vasprintf
-
-#include "alsa-softmixer.h"
-
-static int uniqueIpcIndex = 1024;
-
-
-PUBLIC snd_pcm_t* AlsaCreateDmix(CtlSourceT *source, const char *dmixName, const char *slaveName) {
-
- AFB_ApiNotice(source->api, "AlsaCreateDmix: start ");
-
- int cardIndex= snd_ctl_card_info_get_card(AlsaByPathInfo (source, "/dev/snd/by-id/usb-Focusrite_Scarlett_18i8_USB_10004EE6-00"));
-
- AFB_ApiNotice(source->api, "AlsaCreateDmix: card index=%d ", cardIndex);
-
- snd_pcm_t *dmixPcm;
- snd_config_t *dmixConfig, *slaveConfig, *elemConfig;
- snd_pcm_stream_t streamPcm = SND_PCM_STREAM_PLAYBACK;
- int error = 0, streamMode = SND_PCM_NONBLOCK;
-
-
- error += snd_config_top(&dmixConfig);
- error += snd_config_imake_integer(&elemConfig, "ipc_key", uniqueIpcIndex++);
- error += snd_config_add(dmixConfig, elemConfig);
- if (error) goto OnErrorExit;
-
- error += snd_config_make_compound(&slaveConfig, "slave", 0);
- error += snd_config_imake_string(&elemConfig, "pcm", slaveName);
- error += snd_config_add(slaveConfig, elemConfig);
- if (error) goto OnErrorExit;
-
- // add leaf into config
- error += snd_config_add(dmixConfig, slaveConfig);
- if (error) goto OnErrorExit;
-
- snd_config_update();
- //AlsaDumpConfig (source, snd_config, 1);
- AlsaDumpCtlConfig (source, dmixConfig, 1);
-
-
- error = _snd_pcm_dmix_open(&dmixPcm, dmixName, snd_config, dmixConfig, streamPcm , streamMode);
- if (error) {
- AFB_ApiError(source->api, "AlsaCreateDmix: fail to create DMIX=%s SLAVE=%s", dmixName, slaveName);
- goto OnErrorExit;
- }
-
- AlsaDumpPcmInfo(source, dmixPcm, "DmixPCM");
-
- AFB_ApiNotice(source->api, "AlsaCreateDmix: done");
-
- return dmixPcm;
-
-OnErrorExit:
- AFB_ApiNotice(source->api, "AlsaCreateDmix: OnErrorExit");
- return NULL;
-} \ No newline at end of file