aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/lib/bluetooth/hal-bt-mixer-link.c
diff options
context:
space:
mode:
authorThierry Bultel <thierry.bultel@iot.bzh>2018-12-05 14:05:10 +0100
committerThierry Bultel <thierry.bultel@iot.bzh>2018-12-12 22:01:30 +0100
commitb2588f97269799bdcbc6253286ffaa28d5d7aeff (patch)
treef81f6fe6523d9c389f1ef4e7bc44fb127a323a41 /plugins/lib/bluetooth/hal-bt-mixer-link.c
parent4b299e632148205bb27c9c4a4d6dd779d466ff37 (diff)
Adds support for bluetooth audio through bluez-alsasandbox/tbultel/bluealsa
Implements a new bluealsa plugin to the HAL manager, reacting to the changes of the available transports. This plugin is linked with the new bluealsa.so shared library. New transports (SCO & A2DP) result in softmixer invocations of the "attach" verb, that creates the new capture (eg, A2DP capture from bluealsa ioplug PCM, SCO microphone capture), playbacks (SCO playback to a softmixer zone, and SCO output to bluealsa iogplug PCM). When a transport disappears, the hal manager calls the transaction deletion verb that will tell the softmixer to remove the created streams and associated objects. Signed-off-by: Thierry Bultel <thierry.bultel@iot.bzh>
Diffstat (limited to 'plugins/lib/bluetooth/hal-bt-mixer-link.c')
-rw-r--r--plugins/lib/bluetooth/hal-bt-mixer-link.c80
1 files changed, 0 insertions, 80 deletions
diff --git a/plugins/lib/bluetooth/hal-bt-mixer-link.c b/plugins/lib/bluetooth/hal-bt-mixer-link.c
deleted file mode 100644
index abbd1b7..0000000
--- a/plugins/lib/bluetooth/hal-bt-mixer-link.c
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2018 "IoT.bzh"
- * Author Jonathan Aillet <jonathan.aillet@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
-
-#include <stdio.h>
-#include <string.h>
-#include <stdbool.h>
-
-#include <wrap-json.h>
-
-#include <ctl-config.h>
-
-#include "hal-bt-mixer-link.h"
-
-/*******************************************************************************
- * HAL controllers handle mixer bt calls functions *
- ******************************************************************************/
-
-int HalBtMixerLinkSetBtStreamingSettings(AFB_ApiT apiHandle, char *mixerApiName, unsigned int btStreamStatus, char *hci, char *btAddress)
-{
- char *returnedError = NULL;
-
- json_object *toSendJ, *returnedJ;
-
- if(! apiHandle || ! mixerApiName)
- return -1;
-
- if(! btStreamStatus) {
- AFB_ApiDebug(apiHandle, "Will try to disable bluetooth streamed device");
- toSendJ = NULL;
- }
- else if(btStreamStatus == 1 && hci && btAddress) {
- AFB_ApiDebug(apiHandle, "Will try to change bluetooth streamed device to hci='%s' address='%s'", hci, btAddress);
- wrap_json_pack(&toSendJ, "{s:s s:s s:s}", "interface", hci, "device", btAddress, "profile", "a2dp");
- }
- else {
- return -2;
- }
-
- if(AFB_ServiceSync(apiHandle, mixerApiName, MIXER_SET_STREAMED_BT_DEVICE_VERB, toSendJ, &returnedJ)) {
- AFB_ApiError(apiHandle,
- "Error during call to verb %s of %s api",
- MIXER_SET_STREAMED_BT_DEVICE_VERB,
- mixerApiName);
- return -3;
- }
- else if(! wrap_json_unpack(returnedJ, "{s:{s:s}}", "request", "info", &returnedError)) {
- AFB_ApiError(apiHandle,
- "Error '%s' happened during set bluetooth streaming settings during call to verb '%s' of api '%s'",
- returnedError ? returnedError : "no_error_string",
- MIXER_SET_STREAMED_BT_DEVICE_VERB,
- mixerApiName);
- json_object_put(returnedJ);
- return -4;
- }
-
- json_object_put(returnedJ);
-
- if(btStreamStatus)
- AFB_ApiInfo(apiHandle, "Bluetooth streamed device changed to hci='%s' address='%s'", hci, btAddress);
- else
- AFB_ApiInfo(apiHandle, "Bluetooth streamed device disbaled");
-
- return 0;
-} \ No newline at end of file