summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Li <dvdli@google.com>2024-05-14 17:05:13 +0000
committerAndroid Build Cherrypicker Worker <android-build-cherrypicker-worker@google.com>2024-05-14 17:05:13 +0000
commitd974cf81fb98c24e1436a7416ab1921aab7938f1 (patch)
tree2dc745a172e73d9228f3a7525dda9b50ccda2750
parent9d0441fbd0a0b956d3d2d9131dd5929f6da7089f (diff)
downloadav-d974cf81fb98c24e1436a7416ab1921aab7938f1.tar.gz
allow standby function in the DRAINING and TRANSFERRING states
Bug: 339564402 Test: steps in bug (cherry picked from https://googleplex-android-review.googlesource.com/q/commit:6713689c5b517c44afccf700dcd62ca26c77ec81) Merged-In: I71e306f65d6a3730224a1d6375f62e3f952dcebc Change-Id: I71e306f65d6a3730224a1d6375f62e3f952dcebc
-rw-r--r--media/libaudiohal/impl/StreamHalAidl.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libaudiohal/impl/StreamHalAidl.cpp b/media/libaudiohal/impl/StreamHalAidl.cpp
index 4389913d24..5d2f9e859b 100644
--- a/media/libaudiohal/impl/StreamHalAidl.cpp
+++ b/media/libaudiohal/impl/StreamHalAidl.cpp
@@ -200,8 +200,12 @@ status_t StreamHalAidl::standby() {
StreamDescriptor::Reply reply;
switch (state) {
case StreamDescriptor::State::ACTIVE:
+ case StreamDescriptor::State::DRAINING:
+ case StreamDescriptor::State::TRANSFERRING:
RETURN_STATUS_IF_ERROR(pause(&reply));
- if (reply.state != StreamDescriptor::State::PAUSED) {
+ if (reply.state != StreamDescriptor::State::PAUSED &&
+ reply.state != StreamDescriptor::State::DRAIN_PAUSED &&
+ reply.state != StreamDescriptor::State::TRANSFER_PAUSED) {
ALOGE("%s: unexpected stream state: %s (expected PAUSED)",
__func__, toString(reply.state).c_str());
return INVALID_OPERATION;
@@ -209,6 +213,7 @@ status_t StreamHalAidl::standby() {
FALLTHROUGH_INTENDED;
case StreamDescriptor::State::PAUSED:
case StreamDescriptor::State::DRAIN_PAUSED:
+ case StreamDescriptor::State::TRANSFER_PAUSED:
if (mIsInput) return flush();
RETURN_STATUS_IF_ERROR(flush(&reply));
if (reply.state != StreamDescriptor::State::IDLE) {