summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2013-05-30 09:46:20 -0700
committerChong Zhang <chz@google.com>2013-05-30 10:16:05 -0700
commitbd25dacce1187c827dde3fb72036c044c8106719 (patch)
tree627ca13afb9a2841002cd19ba48c747da85a314b
parent20cb300bce9a2b80966a422ef2de35b18533e1dd (diff)
downloadframeworks_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
-rw-r--r--media/libstagefright/wifi-display/source/WifiDisplaySource.cpp8
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;
}