diff options
author | Chong Zhang <chz@google.com> | 2013-05-30 09:46:20 -0700 |
---|---|---|
committer | Chong Zhang <chz@google.com> | 2013-05-30 10:16:05 -0700 |
commit | bd25dacce1187c827dde3fb72036c044c8106719 (patch) | |
tree | 627ca13afb9a2841002cd19ba48c747da85a314b /media/libstagefright/wifi-display | |
parent | 20cb300bce9a2b80966a422ef2de35b18533e1dd (diff) | |
download | frameworks_av-bd25dacce1187c827dde3fb72036c044c8106719.zip frameworks_av-bd25dacce1187c827dde3fb72036c044c8106719.tar.gz frameworks_av-bd25dacce1187c827dde3fb72036c044c8106719.tar.bz2 |
wifi-display: fixes for PAUSE/PLAY state
PAUSE could be initiated by either source (via trigger method)
or sink, in latter case we have to allow PAUSE from PLAYING state.
Similarly PLAY should be allowed from PAUSED state.
Bug: 8922515
Change-Id: I475534aa4ffa6dc6844f59c5868d8f88291019ae
Diffstat (limited to 'media/libstagefright/wifi-display')
-rw-r--r-- | media/libstagefright/wifi-display/source/WifiDisplaySource.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp index 0b714f0..dee95eb 100644 --- a/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp +++ b/media/libstagefright/wifi-display/source/WifiDisplaySource.cpp @@ -1369,7 +1369,9 @@ status_t WifiDisplaySource::onPlayRequest( return ERROR_MALFORMED; } - if (mState != AWAITING_CLIENT_PLAY) { + if (mState != AWAITING_CLIENT_PLAY + && mState != PAUSED_TO_PLAYING + && mState != PAUSED) { ALOGW("Received PLAY request but we're in state %d", mState); sendErrorResponse( @@ -1396,7 +1398,7 @@ status_t WifiDisplaySource::onPlayRequest( return err; } - if (mState == PAUSED_TO_PLAYING) { + if (mState == PAUSED_TO_PLAYING || mPlaybackSessionEstablished) { mState = PLAYING; return OK; } @@ -1430,7 +1432,7 @@ status_t WifiDisplaySource::onPauseRequest( ALOGI("Received PAUSE request."); - if (mState != PLAYING_TO_PAUSED) { + if (mState != PLAYING_TO_PAUSED && mState != PLAYING) { return INVALID_OPERATION; } |