mirror of
https://git.kernel.org/pub/scm/bluetooth/bluez.git
synced 2025-01-19 19:03:47 +08:00
android: Add initial skeleton for a2dp in the daemon
This commit is contained in:
parent
d0682a5f25
commit
5daffcb642
@ -25,6 +25,7 @@ LOCAL_SRC_FILES := \
|
||||
hid.c \
|
||||
socket.c \
|
||||
ipc.c ipc.h \
|
||||
a2dp.c \
|
||||
../src/log.c \
|
||||
../src/shared/mgmt.c \
|
||||
../src/shared/util.c \
|
||||
|
@ -19,6 +19,7 @@ android_bluetoothd_SOURCES = android/main.c \
|
||||
android/adapter.h android/adapter.c \
|
||||
android/hid.h android/hid.c \
|
||||
android/ipc.h android/ipc.c \
|
||||
android/a2dp.h android/a2dp.c \
|
||||
android/socket.h android/socket.c \
|
||||
btio/btio.h btio/btio.c \
|
||||
src/sdp-client.h src/sdp-client.c
|
||||
|
56
android/a2dp.c
Normal file
56
android/a2dp.c
Normal file
@ -0,0 +1,56 @@
|
||||
/*
|
||||
*
|
||||
* BlueZ - Bluetooth protocol stack for Linux
|
||||
*
|
||||
* Copyright (C) 2013 Intel Corporation. All rights reserved.
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
#include <config.h>
|
||||
#endif
|
||||
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <errno.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "lib/bluetooth.h"
|
||||
#include "log.h"
|
||||
#include "a2dp.h"
|
||||
|
||||
static GIOChannel *notification_io = NULL;
|
||||
|
||||
bool bt_a2dp_register(GIOChannel *io, const bdaddr_t *addr)
|
||||
{
|
||||
DBG("");
|
||||
|
||||
notification_io = g_io_channel_ref(io);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void bt_a2dp_unregister(void)
|
||||
{
|
||||
DBG("");
|
||||
|
||||
g_io_channel_unref(notification_io);
|
||||
notification_io = NULL;
|
||||
}
|
25
android/a2dp.h
Normal file
25
android/a2dp.h
Normal file
@ -0,0 +1,25 @@
|
||||
/*
|
||||
*
|
||||
* BlueZ - Bluetooth protocol stack for Linux
|
||||
*
|
||||
* Copyright (C) 2013 Intel Corporation. All rights reserved.
|
||||
*
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program 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 General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*
|
||||
*/
|
||||
|
||||
bool bt_a2dp_register(GIOChannel *io, const bdaddr_t *addr);
|
||||
void bt_a2dp_unregister(void);
|
@ -53,6 +53,7 @@
|
||||
#include "hid.h"
|
||||
#include "hal-msg.h"
|
||||
#include "ipc.h"
|
||||
#include "a2dp.h"
|
||||
|
||||
/* TODO: Consider to remove PLATFORM_SDKVERSION check if requirement
|
||||
* for minimal Android platform version increases. */
|
||||
@ -100,6 +101,11 @@ static void service_register(void *buf, uint16_t len)
|
||||
if (!bt_hid_register(hal_notif_io, adapter_bdaddr))
|
||||
goto error;
|
||||
|
||||
break;
|
||||
case HAL_SERVICE_ID_A2DP:
|
||||
if (!bt_a2dp_register(hal_notif_io, adapter_bdaddr))
|
||||
goto error;
|
||||
|
||||
break;
|
||||
default:
|
||||
DBG("service %u not supported", m->service_id);
|
||||
@ -134,6 +140,9 @@ static void service_unregister(void *buf, uint16_t len)
|
||||
case HAL_SERVICE_ID_HIDHOST:
|
||||
bt_hid_unregister();
|
||||
break;
|
||||
case HAL_SERVICE_ID_A2DP:
|
||||
bt_a2dp_unregister();
|
||||
break;
|
||||
default:
|
||||
/* This would indicate bug in HAL, as unregister should not be
|
||||
* called in init failed */
|
||||
|
Loading…
Reference in New Issue
Block a user