diff options
author | Andreas Huber <andih@google.com> | 2011-09-16 15:09:22 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-09-16 15:19:59 -0700 |
commit | 3fe62150fa3dd6d25cb84aad80bc9e27ddd16c45 (patch) | |
tree | 4d969afd449d31381899275bf9b9fa2a87f9a24e /media/libmediaplayerservice/nuplayer/NuPlayerDriver.h | |
parent | 078cfcf7cce9185ec7559910d08b0bc02bfc88a3 (diff) | |
download | frameworks_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.h | 7 |
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; |