summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2014-09-03 21:23:57 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-09-03 21:23:57 +0000
commitd3db0bfafc98305f867502c06de3ce415c97d3fb (patch)
treec218cc4311feff9bba5db8752834e3820d9befb3 /media/libmediaplayerservice
parentd71233a846aca7035a851941c1530d04c6a65086 (diff)
parentac428aa54d2489705091dd38372bbaade281a92e (diff)
downloadframeworks_av-d3db0bfafc98305f867502c06de3ce415c97d3fb.zip
frameworks_av-d3db0bfafc98305f867502c06de3ce415c97d3fb.tar.gz
frameworks_av-d3db0bfafc98305f867502c06de3ce415c97d3fb.tar.bz2
Merge "NuPlayer: add seek operation when change video texture surface." into lmp-dev
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.cpp4
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayer.h1
2 files changed, 5 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
index 76d25de..ae22123 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.cpp
@@ -145,6 +145,7 @@ private:
NuPlayer::NuPlayer()
: mUIDValid(false),
mSourceFlags(0),
+ mCurrentPositionUs(0),
mVideoIsAVC(false),
mOffloadAudio(false),
mCurrentOffloadInfo(AUDIO_INFO_INITIALIZER),
@@ -540,6 +541,8 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
static_cast<NativeWindowWrapper *>(obj.get())));
if (obj != NULL) {
+ mDeferredActions.push_back(new SeekAction(mCurrentPositionUs));
+
// If there is a new surface texture, instantiate decoders
// again if possible.
mDeferredActions.push_back(
@@ -860,6 +863,7 @@ void NuPlayer::onMessageReceived(const sp<AMessage> &msg) {
} else if (what == Renderer::kWhatPosition) {
int64_t positionUs;
CHECK(msg->findInt64("positionUs", &positionUs));
+ mCurrentPositionUs = positionUs;
CHECK(msg->findInt64("videoLateByUs", &mVideoLateByUs));
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayer.h b/media/libmediaplayerservice/nuplayer/NuPlayer.h
index 511d752..0c7f531 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayer.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayer.h
@@ -121,6 +121,7 @@ private:
sp<Source> mSource;
uint32_t mSourceFlags;
sp<NativeWindowWrapper> mNativeWindow;
+ int64_t mCurrentPositionUs;
sp<MediaPlayerBase::AudioSink> mAudioSink;
sp<Decoder> mVideoDecoder;
bool mVideoIsAVC;