summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayer.h
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2015-01-30 17:13:27 -0800
committerChong Zhang <chz@google.com>2015-02-03 16:36:09 -0800
commitefbb61950db36a5eb789be83f077246172507c67 (patch)
tree0904a0a4b377dd60935c274b29bf1550d0038389 /media/libmediaplayerservice/nuplayer/NuPlayer.h
parent77f877f82733263bca825b92a3f4537caafabf74 (diff)
downloadframeworks_av-efbb61950db36a5eb789be83f077246172507c67.zip
frameworks_av-efbb61950db36a5eb789be83f077246172507c67.tar.gz
frameworks_av-efbb61950db36a5eb789be83f077246172507c67.tar.bz2
NuPlayer: pause playback when buffering is low
also fix buffering percentage report (should be the buffered position) bug: 18730095 Change-Id: I11e7ca4ba9e772a1ae76861ca1ff1725b62f65ae
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayer.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index 1569816..edc2bd3 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -177,6 +177,14 @@ private:
bool mStarted;
+ // Actual pause state, either as requested by client or due to buffering.
+ bool mPaused;
+
+ // Pause state as requested by client. Note that if mPausedByClient is
+ // true, mPaused is always true; if mPausedByClient is false, mPaused could
+ // still become true, when we pause internally due to buffering.
+ bool mPausedByClient;
+
inline const sp<DecoderBase> &getDecoder(bool audio) {
return audio ? mAudioDecoder : mVideoDecoder;
}
@@ -204,6 +212,7 @@ private:
void onStart();
void onResume();
+ void onPause();
bool audioDecoderStillNeeded();