Loading media/libaudiohal/impl/StreamHalAidl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,14 @@ status_t StreamOutHalAidl::supportsDrain(bool *supportsDrain) { } status_t StreamOutHalAidl::drain(bool earlyNotify) { if (!mStream) return NO_INIT; if(const auto state = getState(); state == StreamDescriptor::State::IDLE) { ALOGD("%p %s stream already in IDLE state", this, __func__); if(mContext.isAsynchronous()) onDrainReady(); return OK; } return StreamHalAidl::drain(earlyNotify); } Loading media/libaudiohal/impl/StreamHalAidl.h +5 −4 Original line number Diff line number Diff line Loading @@ -215,6 +215,11 @@ class StreamHalAidl : public virtual StreamHalInterface, public ConversionHelper ~StreamHalAidl() override; ::aidl::android::hardware::audio::core::StreamDescriptor::State getState() { std::lock_guard l(mLock); return mLastReply.state; } status_t getLatency(uint32_t *latency); // Always returns non-negative values. Loading Loading @@ -268,10 +273,6 @@ class StreamHalAidl : public virtual StreamHalInterface, public ConversionHelper result.format = config.format; return result; } ::aidl::android::hardware::audio::core::StreamDescriptor::State getState() { std::lock_guard l(mLock); return mLastReply.state; } // Note: Since `sendCommand` takes mLock while holding mCommandReplyLock, never call // it with `mLock` being held. status_t sendCommand( Loading Loading
media/libaudiohal/impl/StreamHalAidl.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -796,6 +796,14 @@ status_t StreamOutHalAidl::supportsDrain(bool *supportsDrain) { } status_t StreamOutHalAidl::drain(bool earlyNotify) { if (!mStream) return NO_INIT; if(const auto state = getState(); state == StreamDescriptor::State::IDLE) { ALOGD("%p %s stream already in IDLE state", this, __func__); if(mContext.isAsynchronous()) onDrainReady(); return OK; } return StreamHalAidl::drain(earlyNotify); } Loading
media/libaudiohal/impl/StreamHalAidl.h +5 −4 Original line number Diff line number Diff line Loading @@ -215,6 +215,11 @@ class StreamHalAidl : public virtual StreamHalInterface, public ConversionHelper ~StreamHalAidl() override; ::aidl::android::hardware::audio::core::StreamDescriptor::State getState() { std::lock_guard l(mLock); return mLastReply.state; } status_t getLatency(uint32_t *latency); // Always returns non-negative values. Loading Loading @@ -268,10 +273,6 @@ class StreamHalAidl : public virtual StreamHalInterface, public ConversionHelper result.format = config.format; return result; } ::aidl::android::hardware::audio::core::StreamDescriptor::State getState() { std::lock_guard l(mLock); return mLastReply.state; } // Note: Since `sendCommand` takes mLock while holding mCommandReplyLock, never call // it with `mLock` being held. status_t sendCommand( Loading