blob: a49c767589bbaf4950202bf4a0a19186aae34ca0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
/*
* Copyright 2022 The Android Open Source Project
*
* 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.
*/
#pragma once
#include <vector>
#include "a2dp_sbc_constants.h"
#include "audio_a2dp_hw/include/audio_a2dp_hw.h"
#include "btif_a2dp_source.h"
#include "btif_av.h"
#include "btif_av_co.h"
#include "btif_hf.h"
#include "common/message_loop_thread.h"
#include "osi/include/log.h"
#include "osi/include/properties.h"
#include "types/raw_address.h"
namespace bluetooth {
namespace audio {
namespace aidl {
namespace a2dp {
bool update_codec_offloading_capabilities(
const std::vector<btav_a2dp_codec_config_t>& framework_preference);
/***
* Check if new bluetooth_audio is enabled
***/
bool is_hal_enabled();
/***
* Check if new bluetooth_audio is running with offloading encoders
***/
bool is_hal_offloading();
/***
* Initialize BluetoothAudio HAL: openProvider
***/
bool init(bluetooth::common::MessageLoopThread* message_loop);
/***
* Clean up BluetoothAudio HAL
***/
void cleanup();
/***
* Set up the codec into BluetoothAudio HAL
***/
bool setup_codec();
/***
* Send command to the BluetoothAudio HAL: StartSession, EndSession,
* StreamStarted, StreamSuspended
***/
void start_session();
void end_session();
void ack_stream_started(const tA2DP_CTRL_ACK& status);
void ack_stream_suspended(const tA2DP_CTRL_ACK& status);
/***
* Read from the FMQ of BluetoothAudio HAL
***/
size_t read(uint8_t* p_buf, uint32_t len);
/***
* Update A2DP delay report to BluetoothAudio HAL
***/
void set_remote_delay(uint16_t delay_report);
/***
* Set low latency buffer mode allowed or disallowed
***/
void set_low_latency_mode_allowed(bool allowed);
} // namespace a2dp
} // namespace aidl
} // namespace audio
} // namespace bluetooth
|