diff options
author | Wei Jia <wjia@google.com> | 2015-02-04 17:01:11 -0800 |
---|---|---|
committer | Wei Jia <wjia@google.com> | 2015-02-24 16:34:11 -0800 |
commit | 9816016afb2a13c6a866cd047d57020566a8b9a9 (patch) | |
tree | 176a616a7d5da21447e880158cef57516efee9c3 /media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h | |
parent | 658fc18d8e632441cd5d83a4f74b53620cbac1fe (diff) | |
download | frameworks_av-9816016afb2a13c6a866cd047d57020566a8b9a9.zip frameworks_av-9816016afb2a13c6a866cd047d57020566a8b9a9.tar.gz frameworks_av-9816016afb2a13c6a866cd047d57020566a8b9a9.tar.bz2 |
mediaplayer: support dynamic playback rate
Bug: 19196501
Change-Id: I856b1507d5fa2cedfb645706d2435683a7d3e050
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h index faf3b3f..38843d5 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.h @@ -48,6 +48,8 @@ struct NuPlayer::Renderer : public AHandler { void queueEOS(bool audio, status_t finalResult); + void setPlaybackRate(float rate); + void flush(bool audio, bool notifyComplete); void signalTimeDiscontinuity(); @@ -100,6 +102,7 @@ private: kWhatPostDrainVideoQueue = 'pDVQ', kWhatQueueBuffer = 'queB', kWhatQueueEOS = 'qEOS', + kWhatSetRate = 'setR', kWhatFlush = 'flus', kWhatPause = 'paus', kWhatResume = 'resm', @@ -138,6 +141,7 @@ private: int32_t mVideoDrainGeneration; sp<MediaClock> mMediaClock; + float mPlaybackRate; int64_t mAudioFirstAnchorTimeMediaUs; int64_t mAnchorTimeMediaUs; int64_t mAnchorNumFramesWritten; @@ -243,6 +247,8 @@ private: void startAudioOffloadPauseTimeout(); void cancelAudioOffloadPauseTimeout(); + int64_t getDurationUsIfPlayedAtSampleRate(uint32_t numFrames); + DISALLOW_EVIL_CONSTRUCTORS(Renderer); }; |