summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display
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 /media/libstagefright/wifi-display
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
Diffstat (limited to 'media/libstagefright/wifi-display')
-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;
}