From 7a8b0ed6419e57dd8b41d3806893d63d3df91aab Mon Sep 17 00:00:00 2001 From: Jean-Michel Trivi Date: Thu, 2 Feb 2012 09:06:31 -0800 Subject: 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 --- media/libstagefright/AudioPlayer.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'media/libstagefright/AudioPlayer.cpp') 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, -- cgit v1.1