move __IsReady function into the critical section
[platform/core/api/audio-io.git] / src / cpp / CAudioIO.cpp
index 3115d75..7565f6b 100644 (file)
@@ -95,8 +95,6 @@ void CAudioIO::onStateChanged(CAudioInfo::EAudioIOState state, bool byPolicy) {
     assert(__mIsInit);
     assert(state >= CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE && state < CAudioInfo::EAudioIOState::AUDIO_IO_STATE_MAX);
 
-    mStatePrev = mState;
-    mState = state;
     mByPolicy = byPolicy;
 
     if (mState == mStatePrev)
@@ -115,6 +113,11 @@ void CAudioIO::onStateChanged(CAudioInfo::EAudioIOState state, bool byPolicy) {
         mStateChangedCallback.onStateChanged(mState, mStatePrev, mByPolicy, mStateChangedCallback.mUserData);
 }
 
+void CAudioIO::setState(CAudioInfo::EAudioIOState state) {
+    mStatePrev = mState;
+    mState = state;
+}
+
 void CAudioIO::onStateChanged(CAudioInfo::EAudioIOState state) {
     onStateChanged(state, false);
 }
@@ -137,7 +140,6 @@ void CAudioIO::pause() {
     if (!__mIsInit || !IsReady())
         THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO"); //LCOV_EXCL_LINE
 
-    std::lock_guard<std::mutex> guard(mMutex);
     AUDIO_IO_LOGD("pause");
     mpPulseAudioClient->cork(true);
 }
@@ -146,7 +148,6 @@ void CAudioIO::resume() {
     if (!__mIsInit || !IsReady())
         THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO"); //LCOV_EXCL_LINE
 
-    std::lock_guard<std::mutex> guard(mMutex);
     mpPulseAudioClient->cork(false);
 }
 
@@ -154,9 +155,6 @@ void CAudioIO::flush() {
     if (!__mIsInit || !IsReady())
         THROW_ERROR_MSG(CAudioError::EError::ERROR_NOT_INITIALIZED, "Did not initialize or prepare CAudioIO"); //LCOV_EXCL_LINE
 
-    std::unique_lock<std::mutex> defer_mutex(mMutex, std::defer_lock);
-    if (!mpPulseAudioClient->isInThread())
-        defer_mutex.lock();
     mpPulseAudioClient->flush();
 }