Loading services/oboeservice/AAudioServiceEndpoint.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ void AAudioServiceEndpoint::disconnectRegisteredStreams() { } mRunningStreams.clear(); for(auto sharedStream : mRegisteredStreams) { sharedStream->onDisconnect(); sharedStream->disconnect(); } mRegisteredStreams.clear(); } Loading services/oboeservice/AAudioServiceStreamBase.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ aaudio_result_t AAudioServiceStreamBase::pause() { mThreadEnabled.store(false); result = mAAudioThread.stop(); if (result != AAUDIO_OK) { processFatalError(); disconnect(); return result; } sendServiceEvent(AAUDIO_SERVICE_EVENT_PAUSED); Loading @@ -96,7 +96,7 @@ aaudio_result_t AAudioServiceStreamBase::stop() { mThreadEnabled.store(false); result = mAAudioThread.stop(); if (result != AAUDIO_OK) { processFatalError(); disconnect(); return result; } sendServiceEvent(AAUDIO_SERVICE_EVENT_STOPPED); Loading Loading @@ -133,8 +133,11 @@ void AAudioServiceStreamBase::run() { ALOGD("AAudioServiceStreamBase::run() exiting ----------------"); } void AAudioServiceStreamBase::processFatalError() { void AAudioServiceStreamBase::disconnect() { if (mState != AAUDIO_STREAM_STATE_DISCONNECTED) { sendServiceEvent(AAUDIO_SERVICE_EVENT_DISCONNECTED); mState = AAUDIO_STREAM_STATE_DISCONNECTED; } } aaudio_result_t AAudioServiceStreamBase::sendServiceEvent(aaudio_service_event_t event, Loading services/oboeservice/AAudioServiceStreamBase.h +1 −1 Original line number Diff line number Diff line Loading @@ -117,7 +117,7 @@ public: void run() override; // to implement Runnable void processFatalError(); void disconnect(); uid_t getOwnerUserId() const { return mOwnerUserId; Loading services/oboeservice/AAudioServiceStreamMMAP.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ aaudio_result_t AAudioServiceStreamMMAP::start() { status_t status = mMmapStream->start(mMmapClient, &mPortHandle); if (status != OK) { ALOGE("AAudioServiceStreamMMAP::start() mMmapStream->start() returned %d", status); processFatalError(); disconnect(); result = AAudioConvert_androidToAAudioResult(status); } else { result = AAudioServiceStreamBase::start(); Loading Loading @@ -248,13 +248,13 @@ aaudio_result_t AAudioServiceStreamMMAP::getFreeRunningPosition(int64_t *positio int64_t *timeNanos) { struct audio_mmap_position position; if (mMmapStream == nullptr) { processFatalError(); disconnect(); return AAUDIO_ERROR_NULL; } status_t status = mMmapStream->getMmapPosition(&position); if (status != OK) { ALOGE("sendCurrentTimestamp(): getMmapPosition() returned %d", status); processFatalError(); disconnect(); return AAudioConvert_androidToAAudioResult(status); } else { mFramesRead.update32(position.position_frames); Loading @@ -265,7 +265,8 @@ aaudio_result_t AAudioServiceStreamMMAP::getFreeRunningPosition(int64_t *positio } void AAudioServiceStreamMMAP::onTearDown() { ALOGD("AAudioServiceStreamMMAP::onTearDown() called"); // TODO what is needed here? ALOGD("AAudioServiceStreamMMAP::onTearDown() called"); disconnect(); }; void AAudioServiceStreamMMAP::onVolumeChanged(audio_channel_mask_t channels, Loading @@ -280,7 +281,7 @@ void AAudioServiceStreamMMAP::onRoutingChanged(audio_port_handle_t deviceId) { ALOGD("AAudioServiceStreamMMAP::onRoutingChanged() called with %d, old = %d", deviceId, mPortHandle); if (mPortHandle > 0 && mPortHandle != deviceId) { sendServiceEvent(AAUDIO_SERVICE_EVENT_DISCONNECTED); disconnect(); } mPortHandle = deviceId; }; Loading services/oboeservice/AAudioServiceStreamShared.cpp +3 −7 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ aaudio_result_t AAudioServiceStreamShared::start() { aaudio_result_t result = endpoint->startStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::start() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); } else { result = AAudioServiceStreamBase::start(); } Loading @@ -222,7 +222,7 @@ aaudio_result_t AAudioServiceStreamShared::pause() { aaudio_result_t result = endpoint->stopStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::pause() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); // TODO should we return or pause Base first? } return AAudioServiceStreamBase::pause(); } Loading @@ -235,7 +235,7 @@ aaudio_result_t AAudioServiceStreamShared::stop() { aaudio_result_t result = endpoint->stopStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::stop() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); } return AAudioServiceStreamBase::stop(); } Loading Loading @@ -293,10 +293,6 @@ aaudio_result_t AAudioServiceStreamShared::getDownDataDescription(AudioEndpointP void AAudioServiceStreamShared::onStop() { } void AAudioServiceStreamShared::onDisconnect() { processFatalError(); } void AAudioServiceStreamShared::markTransferTime(int64_t nanoseconds) { mMarkedPosition = mAudioDataQueue->getFifoBuffer()->getReadCounter(); mMarkedTime = nanoseconds; Loading Loading
services/oboeservice/AAudioServiceEndpoint.cpp +1 −1 Original line number Diff line number Diff line Loading @@ -138,7 +138,7 @@ void AAudioServiceEndpoint::disconnectRegisteredStreams() { } mRunningStreams.clear(); for(auto sharedStream : mRegisteredStreams) { sharedStream->onDisconnect(); sharedStream->disconnect(); } mRegisteredStreams.clear(); } Loading
services/oboeservice/AAudioServiceStreamBase.cpp +7 −4 Original line number Diff line number Diff line Loading @@ -79,7 +79,7 @@ aaudio_result_t AAudioServiceStreamBase::pause() { mThreadEnabled.store(false); result = mAAudioThread.stop(); if (result != AAUDIO_OK) { processFatalError(); disconnect(); return result; } sendServiceEvent(AAUDIO_SERVICE_EVENT_PAUSED); Loading @@ -96,7 +96,7 @@ aaudio_result_t AAudioServiceStreamBase::stop() { mThreadEnabled.store(false); result = mAAudioThread.stop(); if (result != AAUDIO_OK) { processFatalError(); disconnect(); return result; } sendServiceEvent(AAUDIO_SERVICE_EVENT_STOPPED); Loading Loading @@ -133,8 +133,11 @@ void AAudioServiceStreamBase::run() { ALOGD("AAudioServiceStreamBase::run() exiting ----------------"); } void AAudioServiceStreamBase::processFatalError() { void AAudioServiceStreamBase::disconnect() { if (mState != AAUDIO_STREAM_STATE_DISCONNECTED) { sendServiceEvent(AAUDIO_SERVICE_EVENT_DISCONNECTED); mState = AAUDIO_STREAM_STATE_DISCONNECTED; } } aaudio_result_t AAudioServiceStreamBase::sendServiceEvent(aaudio_service_event_t event, Loading
services/oboeservice/AAudioServiceStreamBase.h +1 −1 Original line number Diff line number Diff line Loading @@ -117,7 +117,7 @@ public: void run() override; // to implement Runnable void processFatalError(); void disconnect(); uid_t getOwnerUserId() const { return mOwnerUserId; Loading
services/oboeservice/AAudioServiceStreamMMAP.cpp +6 −5 Original line number Diff line number Diff line Loading @@ -206,7 +206,7 @@ aaudio_result_t AAudioServiceStreamMMAP::start() { status_t status = mMmapStream->start(mMmapClient, &mPortHandle); if (status != OK) { ALOGE("AAudioServiceStreamMMAP::start() mMmapStream->start() returned %d", status); processFatalError(); disconnect(); result = AAudioConvert_androidToAAudioResult(status); } else { result = AAudioServiceStreamBase::start(); Loading Loading @@ -248,13 +248,13 @@ aaudio_result_t AAudioServiceStreamMMAP::getFreeRunningPosition(int64_t *positio int64_t *timeNanos) { struct audio_mmap_position position; if (mMmapStream == nullptr) { processFatalError(); disconnect(); return AAUDIO_ERROR_NULL; } status_t status = mMmapStream->getMmapPosition(&position); if (status != OK) { ALOGE("sendCurrentTimestamp(): getMmapPosition() returned %d", status); processFatalError(); disconnect(); return AAudioConvert_androidToAAudioResult(status); } else { mFramesRead.update32(position.position_frames); Loading @@ -265,7 +265,8 @@ aaudio_result_t AAudioServiceStreamMMAP::getFreeRunningPosition(int64_t *positio } void AAudioServiceStreamMMAP::onTearDown() { ALOGD("AAudioServiceStreamMMAP::onTearDown() called"); // TODO what is needed here? ALOGD("AAudioServiceStreamMMAP::onTearDown() called"); disconnect(); }; void AAudioServiceStreamMMAP::onVolumeChanged(audio_channel_mask_t channels, Loading @@ -280,7 +281,7 @@ void AAudioServiceStreamMMAP::onRoutingChanged(audio_port_handle_t deviceId) { ALOGD("AAudioServiceStreamMMAP::onRoutingChanged() called with %d, old = %d", deviceId, mPortHandle); if (mPortHandle > 0 && mPortHandle != deviceId) { sendServiceEvent(AAUDIO_SERVICE_EVENT_DISCONNECTED); disconnect(); } mPortHandle = deviceId; }; Loading
services/oboeservice/AAudioServiceStreamShared.cpp +3 −7 Original line number Diff line number Diff line Loading @@ -202,7 +202,7 @@ aaudio_result_t AAudioServiceStreamShared::start() { aaudio_result_t result = endpoint->startStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::start() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); } else { result = AAudioServiceStreamBase::start(); } Loading @@ -222,7 +222,7 @@ aaudio_result_t AAudioServiceStreamShared::pause() { aaudio_result_t result = endpoint->stopStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::pause() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); // TODO should we return or pause Base first? } return AAudioServiceStreamBase::pause(); } Loading @@ -235,7 +235,7 @@ aaudio_result_t AAudioServiceStreamShared::stop() { aaudio_result_t result = endpoint->stopStream(this); if (result != AAUDIO_OK) { ALOGE("AAudioServiceStreamShared::stop() mServiceEndpoint returned %d", result); processFatalError(); disconnect(); } return AAudioServiceStreamBase::stop(); } Loading Loading @@ -293,10 +293,6 @@ aaudio_result_t AAudioServiceStreamShared::getDownDataDescription(AudioEndpointP void AAudioServiceStreamShared::onStop() { } void AAudioServiceStreamShared::onDisconnect() { processFatalError(); } void AAudioServiceStreamShared::markTransferTime(int64_t nanoseconds) { mMarkedPosition = mAudioDataQueue->getFifoBuffer()->getReadCounter(); mMarkedTime = nanoseconds; Loading