summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-09-16 15:09:22 -0700
committerAndreas Huber <andih@google.com>2011-09-16 15:19:59 -0700
commit3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45 (patch)
tree4d969afd449d31381899275bf9b9fa2a87f9a24e /media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
parent078cfcf7cce9185ec7559910d08b0bc02bfc88a3 (diff)
downloadframeworks_av-3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45.zip
frameworks_av-3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45.tar.gz
frameworks_av-3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45.tar.bz2
In order to recover from video lagging behind audio, drop avc frames
that are not referenced by other frames before feeding them into the decoder. Change-Id: I822190af8f8329567bff8da1ea23136d0a765481
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerDriver.h')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerDriver.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
index 1bb7ca2..181c37d 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDriver.h
@@ -60,16 +60,19 @@ struct NuPlayerDriver : public MediaPlayerInterface {
virtual status_t getMetadata(
const media::Metadata::Filter& ids, Parcel *records);
+ virtual status_t dump(int fd, const Vector<String16> &args) const;
+
void notifyResetComplete();
void notifyDuration(int64_t durationUs);
void notifyPosition(int64_t positionUs);
void notifySeekComplete();
+ void notifyFrameStats(int64_t numFramesTotal, int64_t numFramesDropped);
protected:
virtual ~NuPlayerDriver();
private:
- Mutex mLock;
+ mutable Mutex mLock;
Condition mCondition;
// The following are protected through "mLock"
@@ -77,6 +80,8 @@ private:
bool mResetInProgress;
int64_t mDurationUs;
int64_t mPositionUs;
+ int64_t mNumFramesTotal;
+ int64_t mNumFramesDropped;
// <<<
sp<ALooper> mLooper;