mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-06 13:29:56 -05:00
bluetooth: Create NULL backend
This commit is contained in:
parent
2198048e5d
commit
dca5d07937
5 changed files with 64 additions and 1 deletions
16
configure.ac
16
configure.ac
|
|
@ -1028,6 +1028,21 @@ AS_IF([test "x$HAVE_BLUEZ_4" = "x1" || test "x$HAVE_BLUEZ_5" = "x1"], HAVE_BLUEZ
|
|||
AC_SUBST(HAVE_BLUEZ)
|
||||
AM_CONDITIONAL([HAVE_BLUEZ], [test "x$HAVE_BLUEZ" = x1])
|
||||
|
||||
## Bluetooth Headset profiles backend ##
|
||||
|
||||
AC_ARG_WITH(bluetooth_headset_backend,
|
||||
AS_HELP_STRING([--with-bluetooth-headset-backend=<null>],[Backend for Bluetooth headset profiles (null)]))
|
||||
if test -z "$with_bluetooth_headset_backend" ; then
|
||||
BLUETOOTH_HEADSET_BACKEND=null
|
||||
else
|
||||
BLUETOOTH_HEADSET_BACKEND=$with_bluetooth_headset_backend
|
||||
fi
|
||||
|
||||
AS_IF([test "x$BLUETOOTH_HEADSET_BACKEND" != "xnull"],
|
||||
[AC_MSG_ERROR([*** Invalid Bluetooth Headset backend])])
|
||||
|
||||
AC_SUBST(BLUETOOTH_HEADSET_BACKEND)
|
||||
|
||||
#### UDEV support (optional) ####
|
||||
|
||||
AC_ARG_ENABLE([udev],
|
||||
|
|
@ -1497,6 +1512,7 @@ echo "
|
|||
Enable D-Bus: ${ENABLE_DBUS}
|
||||
Enable BlueZ 4: ${ENABLE_BLUEZ_4}
|
||||
Enable BlueZ 5: ${ENABLE_BLUEZ_5}
|
||||
headset backed: ${BLUETOOTH_HEADSET_BACKEND}
|
||||
Enable udev: ${ENABLE_UDEV}
|
||||
Enable HAL->udev compat: ${ENABLE_HAL_COMPAT}
|
||||
Enable systemd login: ${ENABLE_SYSTEMD}
|
||||
|
|
|
|||
|
|
@ -2099,7 +2099,8 @@ module_bluez4_device_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) $(SBC_CFLAGS)
|
|||
libbluez5_util_la_SOURCES = \
|
||||
modules/bluetooth/bluez5-util.c \
|
||||
modules/bluetooth/bluez5-util.h \
|
||||
modules/bluetooth/a2dp-codecs.h
|
||||
modules/bluetooth/a2dp-codecs.h \
|
||||
modules/bluetooth/backend-@BLUETOOTH_HEADSET_BACKEND@.c
|
||||
libbluez5_util_la_LDFLAGS = -avoid-version
|
||||
libbluez5_util_la_LIBADD = $(MODULE_LIBADD) $(DBUS_LIBS)
|
||||
libbluez5_util_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS)
|
||||
|
|
|
|||
37
src/modules/bluetooth/backend-null.c
Normal file
37
src/modules/bluetooth/backend-null.c
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
/***
|
||||
This file is part of PulseAudio.
|
||||
|
||||
Copyright 2013 João Paulo Rechi Vita
|
||||
|
||||
PulseAudio is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU Lesser General Public License as
|
||||
published by the Free Software Foundation; either version 2.1 of the
|
||||
License, or (at your option) any later version.
|
||||
|
||||
PulseAudio is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Lesser General Public
|
||||
License along with PulseAudio; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
USA.
|
||||
***/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <pulsecore/log.h>
|
||||
|
||||
#include "bluez5-util.h"
|
||||
|
||||
pa_bluetooth_backend *pa_bluetooth_backend_new(pa_core *c) {
|
||||
pa_log_debug("Bluetooth Headset Backend API support disabled");
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void pa_bluetooth_backend_free(pa_bluetooth_backend *b) {
|
||||
/* Nothing to do here */
|
||||
}
|
||||
|
|
@ -87,6 +87,7 @@ struct pa_bluetooth_discovery {
|
|||
pa_hashmap *devices;
|
||||
pa_hashmap *transports;
|
||||
|
||||
pa_bluetooth_backend *backend;
|
||||
PA_LLIST_HEAD(pa_dbus_pending, pending);
|
||||
};
|
||||
|
||||
|
|
@ -1590,6 +1591,7 @@ pa_bluetooth_discovery* pa_bluetooth_discovery_get(pa_core *c) {
|
|||
|
||||
endpoint_init(y, PA_BLUETOOTH_PROFILE_A2DP_SINK);
|
||||
endpoint_init(y, PA_BLUETOOTH_PROFILE_A2DP_SOURCE);
|
||||
y->backend = pa_bluetooth_backend_new(c);
|
||||
|
||||
get_managed_objects(y);
|
||||
|
||||
|
|
@ -1631,6 +1633,9 @@ void pa_bluetooth_discovery_unref(pa_bluetooth_discovery *y) {
|
|||
pa_hashmap_free(y->transports);
|
||||
}
|
||||
|
||||
if (y->backend)
|
||||
pa_bluetooth_backend_free(y->backend);
|
||||
|
||||
if (y->connection) {
|
||||
|
||||
if (y->matches_added)
|
||||
|
|
|
|||
|
|
@ -35,6 +35,7 @@ typedef struct pa_bluetooth_transport pa_bluetooth_transport;
|
|||
typedef struct pa_bluetooth_device pa_bluetooth_device;
|
||||
typedef struct pa_bluetooth_adapter pa_bluetooth_adapter;
|
||||
typedef struct pa_bluetooth_discovery pa_bluetooth_discovery;
|
||||
typedef struct pa_bluetooth_backend pa_bluetooth_backend;
|
||||
|
||||
typedef enum pa_bluetooth_hook {
|
||||
PA_BLUETOOTH_HOOK_DEVICE_CONNECTION_CHANGED, /* Call data: pa_bluetooth_device */
|
||||
|
|
@ -105,6 +106,9 @@ struct pa_bluetooth_adapter {
|
|||
bool valid;
|
||||
};
|
||||
|
||||
pa_bluetooth_backend *pa_bluetooth_backend_new(pa_core *c);
|
||||
void pa_bluetooth_backend_free(pa_bluetooth_backend *b);
|
||||
|
||||
pa_bluetooth_transport *pa_bluetooth_transport_new(pa_bluetooth_device *d, const char *owner, const char *path,
|
||||
pa_bluetooth_profile_t p, const uint8_t *config, size_t size);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue