summaryrefslogtreecommitdiff
path: root/system/audio_hal_interface/aidl/codec_status.cc
diff options
context:
space:
mode:
authorScott Lobdell <slobdell@google.com>2022-03-11 19:27:17 +0000
committerScott Lobdell <slobdell@google.com>2022-03-11 19:57:09 +0000
commitc9218ef1b82430a07d94f74c212a30e7ccc52975 (patch)
tree241b7fdeb6bdf1cf3af925ba8996f18faa8973d9 /system/audio_hal_interface/aidl/codec_status.cc
parenta26bda4d37221f2f7ef750b413502091e3bcddd4 (diff)
parent480d2270b269a0e47bf475eb439111f3f966e2a9 (diff)
Merge TP1A.220225.003
Change-Id: Id71ac466dbfe3707fe2e544ce22b1da8f474ec2b
Diffstat (limited to 'system/audio_hal_interface/aidl/codec_status.cc')
-rw-r--r--system/audio_hal_interface/aidl/codec_status.cc20
1 files changed, 11 insertions, 9 deletions
diff --git a/system/audio_hal_interface/aidl/codec_status.cc b/system/audio_hal_interface/aidl/codec_status.cc
index 0e4e93f680..996a67eb36 100644
--- a/system/audio_hal_interface/aidl/codec_status.cc
+++ b/system/audio_hal_interface/aidl/codec_status.cc
@@ -18,6 +18,8 @@
#include "codec_status.h"
+#include <unordered_set>
+
#include "a2dp_aac_constants.h"
#include "a2dp_sbc_constants.h"
#include "a2dp_vendor_aptx_constants.h"
@@ -456,23 +458,23 @@ bool UpdateOffloadingCapabilities(
audio_hal_capabilities =
BluetoothAudioSinkClientInterface::GetAudioCapabilities(
SessionType::A2DP_HARDWARE_OFFLOAD_ENCODING_DATAPATH);
- uint32_t codec_type_masks = static_cast<uint32_t>(CodecType::UNKNOWN);
+ std::unordered_set<CodecType> codec_type_set;
for (auto preference : framework_preference) {
switch (preference.codec_type) {
case BTAV_A2DP_CODEC_INDEX_SOURCE_SBC:
- codec_type_masks |= static_cast<uint32_t>(CodecType::SBC);
+ codec_type_set.insert(CodecType::SBC);
break;
case BTAV_A2DP_CODEC_INDEX_SOURCE_AAC:
- codec_type_masks |= static_cast<uint32_t>(CodecType::AAC);
+ codec_type_set.insert(CodecType::AAC);
break;
case BTAV_A2DP_CODEC_INDEX_SOURCE_APTX:
- codec_type_masks |= static_cast<uint32_t>(CodecType::APTX);
+ codec_type_set.insert(CodecType::APTX);
break;
case BTAV_A2DP_CODEC_INDEX_SOURCE_APTX_HD:
- codec_type_masks |= static_cast<uint32_t>(CodecType::APTX_HD);
+ codec_type_set.insert(CodecType::APTX_HD);
break;
case BTAV_A2DP_CODEC_INDEX_SOURCE_LDAC:
- codec_type_masks |= static_cast<uint32_t>(CodecType::LDAC);
+ codec_type_set.insert(CodecType::LDAC);
break;
case BTAV_A2DP_CODEC_INDEX_SINK_SBC:
[[fallthrough]];
@@ -492,9 +494,9 @@ bool UpdateOffloadingCapabilities(
}
offloading_preference.clear();
for (auto capability : audio_hal_capabilities) {
- if ((static_cast<uint32_t>(
- capability.get<AudioCapabilities::a2dpCapabilities>().codecType) &
- codec_type_masks) != 0) {
+ auto codec_type =
+ capability.get<AudioCapabilities::a2dpCapabilities>().codecType;
+ if (codec_type_set.find(codec_type) != codec_type_set.end()) {
LOG(INFO) << __func__
<< ": enabled offloading capability=" << capability.toString();
offloading_preference.push_back(capability);