summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/Tracks.cpp
diff options
context:
space:
mode:
authorRicardo Garcia <rago@google.com>2015-04-22 18:47:32 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-04-22 18:47:33 +0000
commit983f2e02b342ef3ac4004471cbfd4cd8d5aecf7d (patch)
tree7c2ec64cc3034b84348e96cfe120a9c87efe92e3 /services/audioflinger/Tracks.cpp
parentd54514d5e4b326e5dcaaf8b3f336ef31e447f355 (diff)
parent5a8a95de6dad1a3bcf3da5a37b35766e89086e13 (diff)
downloadframeworks_av-983f2e02b342ef3ac4004471cbfd4cd8d5aecf7d.zip
frameworks_av-983f2e02b342ef3ac4004471cbfd4cd8d5aecf7d.tar.gz
frameworks_av-983f2e02b342ef3ac4004471cbfd4cd8d5aecf7d.tar.bz2
Merge "Use AudioPlaybackRate to hold TimestretchBufferProvider parameters"
Diffstat (limited to 'services/audioflinger/Tracks.cpp')
-rw-r--r--services/audioflinger/Tracks.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp
index da2d634..c6e9745 100644
--- a/services/audioflinger/Tracks.cpp
+++ b/services/audioflinger/Tracks.cpp
@@ -906,11 +906,9 @@ status_t AudioFlinger::PlaybackThread::Track::getTimestamp(AudioTimestamp& times
// FIXME Not accurate under dynamic changes of sample rate and speed.
// Do not use track's mSampleRate as it is not current for mixer tracks.
uint32_t sampleRate = mAudioTrackServerProxy->getSampleRate();
- float speed, pitch;
- mAudioTrackServerProxy->getPlaybackRate(&speed, &pitch);
- uint32_t unpresentedFrames =
- ((double) playbackThread->mLatchQ.mUnpresentedFrames * sampleRate * speed)
- / playbackThread->mSampleRate;
+ AudioPlaybackRate playbackRate = mAudioTrackServerProxy->getPlaybackRate();
+ uint32_t unpresentedFrames = ((double) playbackThread->mLatchQ.mUnpresentedFrames *
+ sampleRate * playbackRate.mSpeed)/ playbackThread->mSampleRate;
// FIXME Since we're using a raw pointer as the key, it is theoretically possible
// for a brand new track to share the same address as a recently destroyed
// track, and thus for us to get the frames released of the wrong track.