mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
audio: Add some utility methods, improve logging
Add 'isDefaultAudioFormat' to Utils.h. Print the module type in 'setModuleDebug'. Align 'suggestDeviceAddressTag' with framework code. Bug: 273252382 Test: m Change-Id: I0248d2e866522a63a745d4af6132b7d2b6a01564
This commit is contained in:
@@ -99,6 +99,12 @@ constexpr size_t getFrameSizeInBytes(
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
constexpr bool isDefaultAudioFormat(
|
||||||
|
const ::aidl::android::media::audio::common::AudioFormatDescription& desc) {
|
||||||
|
return desc.type == ::aidl::android::media::audio::common::AudioFormatType::DEFAULT &&
|
||||||
|
desc.pcm == ::aidl::android::media::audio::common::PcmType::DEFAULT;
|
||||||
|
}
|
||||||
|
|
||||||
constexpr bool isTelephonyDeviceType(
|
constexpr bool isTelephonyDeviceType(
|
||||||
::aidl::android::media::audio::common::AudioDeviceType device) {
|
::aidl::android::media::audio::common::AudioDeviceType device) {
|
||||||
return device == ::aidl::android::media::audio::common::AudioDeviceType::IN_TELEPHONY_RX ||
|
return device == ::aidl::android::media::audio::common::AudioDeviceType::IN_TELEPHONY_RX ||
|
||||||
|
|||||||
@@ -143,6 +143,21 @@ StreamOut::CreateInstance Module::getStreamOutCreator(Type type) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::ostream& operator<<(std::ostream& os, Module::Type t) {
|
||||||
|
switch (t) {
|
||||||
|
case Module::Type::DEFAULT:
|
||||||
|
os << "default";
|
||||||
|
break;
|
||||||
|
case Module::Type::R_SUBMIX:
|
||||||
|
os << "r_submix";
|
||||||
|
break;
|
||||||
|
case Module::Type::USB:
|
||||||
|
os << "usb";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return os;
|
||||||
|
}
|
||||||
|
|
||||||
void Module::cleanUpPatch(int32_t patchId) {
|
void Module::cleanUpPatch(int32_t patchId) {
|
||||||
erase_all_values(mPatches, std::set<int32_t>{patchId});
|
erase_all_values(mPatches, std::set<int32_t>{patchId});
|
||||||
}
|
}
|
||||||
@@ -352,16 +367,17 @@ void Module::updateStreamsConnectedState(const AudioPatch& oldPatch, const Audio
|
|||||||
|
|
||||||
ndk::ScopedAStatus Module::setModuleDebug(
|
ndk::ScopedAStatus Module::setModuleDebug(
|
||||||
const ::aidl::android::hardware::audio::core::ModuleDebug& in_debug) {
|
const ::aidl::android::hardware::audio::core::ModuleDebug& in_debug) {
|
||||||
LOG(DEBUG) << __func__ << ": old flags:" << mDebug.toString()
|
LOG(DEBUG) << __func__ << ": " << mType << ": old flags:" << mDebug.toString()
|
||||||
<< ", new flags: " << in_debug.toString();
|
<< ", new flags: " << in_debug.toString();
|
||||||
if (mDebug.simulateDeviceConnections != in_debug.simulateDeviceConnections &&
|
if (mDebug.simulateDeviceConnections != in_debug.simulateDeviceConnections &&
|
||||||
!mConnectedDevicePorts.empty()) {
|
!mConnectedDevicePorts.empty()) {
|
||||||
LOG(ERROR) << __func__ << ": attempting to change device connections simulation "
|
LOG(ERROR) << __func__ << ": " << mType
|
||||||
<< "while having external devices connected";
|
<< ": attempting to change device connections simulation while having external "
|
||||||
|
<< "devices connected";
|
||||||
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE);
|
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_STATE);
|
||||||
}
|
}
|
||||||
if (in_debug.streamTransientStateDelayMs < 0) {
|
if (in_debug.streamTransientStateDelayMs < 0) {
|
||||||
LOG(ERROR) << __func__ << ": streamTransientStateDelayMs is negative: "
|
LOG(ERROR) << __func__ << ": " << mType << ": streamTransientStateDelayMs is negative: "
|
||||||
<< in_debug.streamTransientStateDelayMs;
|
<< in_debug.streamTransientStateDelayMs;
|
||||||
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
|
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -129,7 +129,9 @@ AudioDeviceAddress::Tag suggestDeviceAddressTag(const AudioDeviceDescription& de
|
|||||||
using Tag = AudioDeviceAddress::Tag;
|
using Tag = AudioDeviceAddress::Tag;
|
||||||
if (std::string_view connection = description.connection;
|
if (std::string_view connection = description.connection;
|
||||||
connection == AudioDeviceDescription::CONNECTION_BT_A2DP ||
|
connection == AudioDeviceDescription::CONNECTION_BT_A2DP ||
|
||||||
connection == AudioDeviceDescription::CONNECTION_BT_LE ||
|
// Note: BT LE Broadcast uses a "group id".
|
||||||
|
(description.type != AudioDeviceType::OUT_BROADCAST &&
|
||||||
|
connection == AudioDeviceDescription::CONNECTION_BT_LE) ||
|
||||||
connection == AudioDeviceDescription::CONNECTION_BT_SCO ||
|
connection == AudioDeviceDescription::CONNECTION_BT_SCO ||
|
||||||
connection == AudioDeviceDescription::CONNECTION_WIRELESS) {
|
connection == AudioDeviceDescription::CONNECTION_WIRELESS) {
|
||||||
return Tag::mac;
|
return Tag::mac;
|
||||||
|
|||||||
Reference in New Issue
Block a user