Revert "audio: update setAudioPatch"
This reverts commit dac3abf95480cdb5e5af520e05e7b674d7ab7b96.
Reason for revert: Droidmonitor created revert due to b/382542679. Will be verifying through ABTD before submission.
Change-Id: I8670c6fa888e57bd11124468612273ad3453b83e
diff --git a/audio/aidl/default/Module.cpp b/audio/aidl/default/Module.cpp
index 2be7f51..e96cf81 100644
--- a/audio/aidl/default/Module.cpp
+++ b/audio/aidl/default/Module.cpp
@@ -1049,23 +1049,6 @@
return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
}
- auto& patches = getConfig().patches;
- auto existing = patches.end();
- if (in_requested.id != 0) {
- existing = findById<AudioPatch>(patches, in_requested.id);
- if (existing == patches.end()) {
- LOG(ERROR) << __func__ << ": " << mType << ": not found existing patch id "
- << in_requested.id;
- return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
- }
- if (in_requested == *existing) {
- LOG(INFO) << __func__ << ": " << mType
- << ": requested patch has no changes compared to already existing one, id "
- << in_requested.id;
- return ndk::ScopedAStatus::ok();
- }
- }
-
auto& configs = getConfig().portConfigs;
std::vector<int32_t> missingIds;
auto sources =
@@ -1105,12 +1088,20 @@
}
RETURN_STATUS_IF_ERROR(checkAudioPatchEndpointsMatch(sources, sinks));
+ auto& patches = getConfig().patches;
+ auto existing = patches.end();
std::optional<decltype(mPatches)> patchesBackup;
- if (existing != patches.end()) {
- patchesBackup = mPatches;
- cleanUpPatch(existing->id);
+ if (in_requested.id != 0) {
+ existing = findById<AudioPatch>(patches, in_requested.id);
+ if (existing != patches.end()) {
+ patchesBackup = mPatches;
+ cleanUpPatch(existing->id);
+ } else {
+ LOG(ERROR) << __func__ << ": " << mType << ": not found existing patch id "
+ << in_requested.id;
+ return ndk::ScopedAStatus::fromExceptionCode(EX_ILLEGAL_ARGUMENT);
+ }
}
-
// Validate the requested patch.
for (const auto& [sinkPortId, nonExclusive] : allowedSinkPorts) {
if (!nonExclusive && mPatches.count(sinkPortId) != 0) {