1 /*
2 * Copyright 2023 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17 // Stubbed non-standard codec.
18
19 #include "a2dp_vendor_ldac.h"
20
A2DP_IsCodecValidLdac(const uint8_t * p_codec_info)21 bool A2DP_IsCodecValidLdac(const uint8_t* p_codec_info) { return false; }
22
A2DP_VendorUsesRtpHeaderLdac(bool content_protection_enabled,const uint8_t * p_codec_info)23 bool A2DP_VendorUsesRtpHeaderLdac(bool content_protection_enabled,
24 const uint8_t* p_codec_info) {
25 return false;
26 }
27
A2DP_VendorCodecNameLdac(const uint8_t * p_codec_info)28 const char* A2DP_VendorCodecNameLdac(const uint8_t* p_codec_info) {
29 return "Ldac";
30 }
31
A2DP_VendorCodecTypeEqualsLdac(const uint8_t * p_codec_info_a,const uint8_t * p_codec_info_b)32 bool A2DP_VendorCodecTypeEqualsLdac(const uint8_t* p_codec_info_a,
33 const uint8_t* p_codec_info_b) {
34 return false;
35 }
36
A2DP_VendorCodecEqualsLdac(const uint8_t * p_codec_info_a,const uint8_t * p_codec_info_b)37 bool A2DP_VendorCodecEqualsLdac(const uint8_t* p_codec_info_a,
38 const uint8_t* p_codec_info_b) {
39 return false;
40 }
41
A2DP_VendorGetBitRateLdac(const uint8_t * p_codec_info)42 int A2DP_VendorGetBitRateLdac(const uint8_t* p_codec_info) { return -1; }
43
A2DP_VendorGetTrackSampleRateLdac(const uint8_t * p_codec_info)44 int A2DP_VendorGetTrackSampleRateLdac(const uint8_t* p_codec_info) { return -1; }
45
A2DP_VendorGetTrackBitsPerSampleLdac(const uint8_t * p_codec_info)46 int A2DP_VendorGetTrackBitsPerSampleLdac(const uint8_t* p_codec_info) { return -1; }
47
A2DP_VendorGetTrackChannelCountLdac(const uint8_t * p_codec_info)48 int A2DP_VendorGetTrackChannelCountLdac(const uint8_t* p_codec_info) { return -1; }
49
A2DP_VendorGetChannelModeCodeLdac(const uint8_t * p_codec_info)50 int A2DP_VendorGetChannelModeCodeLdac(const uint8_t* p_codec_info) { return -1; }
51
A2DP_VendorGetFrameSizeLdac(const uint8_t * p_codec_info)52 int A2DP_VendorGetFrameSizeLdac(const uint8_t* p_codec_info) { return -1; }
53
A2DP_VendorGetPacketTimestampLdac(const uint8_t * p_codec_info,const uint8_t * p_data,uint32_t * p_timestamp)54 bool A2DP_VendorGetPacketTimestampLdac(const uint8_t* p_codec_info, const uint8_t* p_data,
55 uint32_t* p_timestamp) {
56 return false;
57 }
58
A2DP_VendorBuildCodecHeaderLdac(const uint8_t * p_codec_info,BT_HDR * p_buf,uint16_t frames_per_packet)59 bool A2DP_VendorBuildCodecHeaderLdac(const uint8_t* p_codec_info, BT_HDR* p_buf,
60 uint16_t frames_per_packet) {
61 return false;
62 }
63
A2DP_VendorCodecInfoStringLdac(const uint8_t * p_codec_info)64 std::string A2DP_VendorCodecInfoStringLdac(const uint8_t* p_codec_info) {
65 return "Unsupported codec: Ldac";
66 }
67
A2DP_VendorGetEncoderInterfaceLdac(const uint8_t * p_codec_info)68 const tA2DP_ENCODER_INTERFACE* A2DP_VendorGetEncoderInterfaceLdac(const uint8_t* p_codec_info) {
69 return nullptr;
70 }
71
A2DP_VendorAdjustCodecLdac(uint8_t * p_codec_info)72 bool A2DP_VendorAdjustCodecLdac(uint8_t* p_codec_info) { return false; }
73
A2DP_VendorSourceCodecIndexLdac(const uint8_t * p_codec_info)74 btav_a2dp_codec_index_t A2DP_VendorSourceCodecIndexLdac(const uint8_t* p_codec_info) {
75 return BTAV_A2DP_CODEC_INDEX_MAX;
76 }
77
A2DP_VendorCodecIndexStrLdac(void)78 const char* A2DP_VendorCodecIndexStrLdac(void) { return "Ldac"; }
79
A2DP_VendorInitCodecConfigLdac(AvdtpSepConfig * p_cfg)80 bool A2DP_VendorInitCodecConfigLdac(AvdtpSepConfig* p_cfg) { return false; }
81
A2dpCodecConfigLdacSource(btav_a2dp_codec_priority_t codec_priority)82 A2dpCodecConfigLdacSource::A2dpCodecConfigLdacSource(btav_a2dp_codec_priority_t codec_priority)
83 : A2dpCodecConfigLdacBase(BTAV_A2DP_CODEC_INDEX_SOURCE_LDAC, A2DP_VendorCodecIndexStrLdac(),
84 codec_priority, true) {}
85
~A2dpCodecConfigLdacSource()86 A2dpCodecConfigLdacSource::~A2dpCodecConfigLdacSource() {}
87
init()88 bool A2dpCodecConfigLdacSource::init() { return false; }
89
useRtpHeaderMarkerBit() const90 bool A2dpCodecConfigLdacSource::useRtpHeaderMarkerBit() const { return false; }
91
debug_codec_dump(int fd)92 void A2dpCodecConfigLdacSource::debug_codec_dump(int fd) {}
93
setCodecConfig(const uint8_t * p_peer_codec_info,bool is_capability,uint8_t * p_result_codec_config)94 tA2DP_STATUS A2dpCodecConfigLdacBase::setCodecConfig(const uint8_t* p_peer_codec_info,
95 bool is_capability,
96 uint8_t* p_result_codec_config) {
97 return AVDTP_UNSUPPORTED_CONFIGURATION;
98 }
99
setPeerCodecCapabilities(const uint8_t * p_peer_codec_capabilities)100 bool A2dpCodecConfigLdacBase::setPeerCodecCapabilities(const uint8_t* p_peer_codec_capabilities) {
101 return false;
102 }
103