mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:50:18 +00:00
audio: Preserve 'usecase' for in IModule::setAudioPortConfig
The field AudioPortConfig.ext.mix.usecase is provided by the client, thus is needs to be treated the same way as '.handle'. Bug: 302736184 Test: atest VtsHalAudioCoreTargetTest Change-Id: I45050e8530cd236f5e582585f583df477fc7ae8a
This commit is contained in:
@@ -1165,9 +1165,12 @@ ndk::ScopedAStatus Module::setAudioPortConfigImpl(
|
||||
if (in_requested.ext.getTag() != AudioPortExt::Tag::unspecified) {
|
||||
if (in_requested.ext.getTag() == out_suggested->ext.getTag()) {
|
||||
if (out_suggested->ext.getTag() == AudioPortExt::Tag::mix) {
|
||||
// 'AudioMixPortExt.handle' is set by the client, copy from in_requested
|
||||
out_suggested->ext.get<AudioPortExt::Tag::mix>().handle =
|
||||
in_requested.ext.get<AudioPortExt::Tag::mix>().handle;
|
||||
// 'AudioMixPortExt.handle' and '.usecase' are set by the client,
|
||||
// copy from in_requested.
|
||||
const auto& src = in_requested.ext.get<AudioPortExt::Tag::mix>();
|
||||
auto& dst = out_suggested->ext.get<AudioPortExt::Tag::mix>();
|
||||
dst.handle = src.handle;
|
||||
dst.usecase = src.usecase;
|
||||
}
|
||||
} else {
|
||||
LOG(WARNING) << __func__ << ": requested ext tag "
|
||||
|
||||
Reference in New Issue
Block a user