diff options
author | Chong Zhang <chz@google.com> | 2014-02-11 17:32:05 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-02-11 17:32:06 +0000 |
commit | 2cf312c2294f128423491a6cc6ba1b1afda5967b (patch) | |
tree | 292cdfdeabeffb2abc11c7cd7325b9dc237964f5 /media/libstagefright | |
parent | 1d6fa7af1288b550faabe4ec2cf98684236723db (diff) | |
parent | 456fa912e46edf0b01ea3b7760ea922c01ca1866 (diff) | |
download | frameworks_av-2cf312c2294f128423491a6cc6ba1b1afda5967b.zip frameworks_av-2cf312c2294f128423491a6cc6ba1b1afda5967b.tar.gz frameworks_av-2cf312c2294f128423491a6cc6ba1b1afda5967b.tar.bz2 |
Merge "fix delay when shutting down wifi display"
Diffstat (limited to 'media/libstagefright')
-rw-r--r-- | media/libstagefright/SurfaceMediaSource.cpp | 5 | ||||
-rw-r--r-- | media/libstagefright/wifi-display/source/RepeaterSource.cpp | 3 |
2 files changed, 5 insertions, 3 deletions
diff --git a/media/libstagefright/SurfaceMediaSource.cpp b/media/libstagefright/SurfaceMediaSource.cpp index 6b934d4..94c0a1e 100644 --- a/media/libstagefright/SurfaceMediaSource.cpp +++ b/media/libstagefright/SurfaceMediaSource.cpp @@ -202,6 +202,9 @@ status_t SurfaceMediaSource::stop() return OK; } + mStarted = false; + mFrameAvailableCondition.signal(); + while (mNumPendingBuffers > 0) { ALOGI("Still waiting for %d buffers to be returned.", mNumPendingBuffers); @@ -215,8 +218,6 @@ status_t SurfaceMediaSource::stop() mMediaBuffersAvailableCondition.wait(mMutex); } - mStarted = false; - mFrameAvailableCondition.signal(); mMediaBuffersAvailableCondition.signal(); return mBufferQueue->consumerDisconnect(); diff --git a/media/libstagefright/wifi-display/source/RepeaterSource.cpp b/media/libstagefright/wifi-display/source/RepeaterSource.cpp index cc8dee3..59d7e6e 100644 --- a/media/libstagefright/wifi-display/source/RepeaterSource.cpp +++ b/media/libstagefright/wifi-display/source/RepeaterSource.cpp @@ -79,6 +79,8 @@ status_t RepeaterSource::stop() { ALOGV("stopping"); + status_t err = mSource->stop(); + if (mLooper != NULL) { mLooper->stop(); mLooper.clear(); @@ -92,7 +94,6 @@ status_t RepeaterSource::stop() { mBuffer = NULL; } - status_t err = mSource->stop(); ALOGV("stopped"); |