diff options
author | Jean-Michel Trivi <jmtrivi@google.com> | 2012-02-02 09:06:31 -0800 |
---|---|---|
committer | Jean-Michel Trivi <jmtrivi@google.com> | 2012-02-13 12:39:54 -0800 |
commit | 7a8b0ed6419e57dd8b41d3806893d63d3df91aab (patch) | |
tree | da2076d221f7eb3e26db190d51173c04a91e0788 /media/libstagefright/AudioPlayer.cpp | |
parent | 1f5ce8b0941c9c6baadd40d151634145f6d5a35c (diff) | |
download | frameworks_av-7a8b0ed6419e57dd8b41d3806893d63d3df91aab.zip frameworks_av-7a8b0ed6419e57dd8b41d3806893d63d3df91aab.tar.gz frameworks_av-7a8b0ed6419e57dd8b41d3806893d63d3df91aab.tar.bz2 |
Playback rate on MediaPlayer
Add support for modifying the playback rate of a MediaPlayer
by altering the sample rate of its AudioTrack.
The playback rate is expressed in permille, where 1000 is the
playback at normal speed.
Change-Id: I981d060ab32f7bae7a767e82c60c88ae635dceed
Diffstat (limited to 'media/libstagefright/AudioPlayer.cpp')
-rw-r--r-- | media/libstagefright/AudioPlayer.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/media/libstagefright/AudioPlayer.cpp b/media/libstagefright/AudioPlayer.cpp index 9a9c3ef..df27566 100644 --- a/media/libstagefright/AudioPlayer.cpp +++ b/media/libstagefright/AudioPlayer.cpp @@ -268,6 +268,16 @@ bool AudioPlayer::reachedEOS(status_t *finalStatus) { return mReachedEOS; } +status_t AudioPlayer::setPlaybackRatePermille(int32_t ratePermille) { + if (mAudioSink.get() != NULL) { + return mAudioSink->setPlaybackRatePermille(ratePermille); + } else if (mAudioTrack != NULL){ + return mAudioTrack->setSampleRate(ratePermille * mSampleRate / 1000); + } else { + return NO_INIT; + } +} + // static size_t AudioPlayer::AudioSinkCallback( MediaPlayerBase::AudioSink *audioSink, |