Use AudioPlaybackRate to hold TimestretchBufferProvider parameters
Use this struct to handle the parameters for TimestretchBufferProvider all
across the system.
Add stretch mode and fallback mode to TimestretchBuffer Provider.
Change-Id: I19099924a7003c62e48bb6ead56c785cb129fba2
diff --git a/media/libmedia/AudioTrackShared.cpp b/media/libmedia/AudioTrackShared.cpp
index aee9fc2..1d7aed2 100644
--- a/media/libmedia/AudioTrackShared.cpp
+++ b/media/libmedia/AudioTrackShared.cpp
@@ -794,14 +794,10 @@
(void) android_atomic_or(CBLK_UNDERRUN, &cblk->mFlags);
}
-void AudioTrackServerProxy::getPlaybackRate(float *speed, float *pitch)
+AudioPlaybackRate AudioTrackServerProxy::getPlaybackRate()
{ // do not call from multiple threads without holding lock
- AudioTrackPlaybackRate playbackRate;
- if (mPlaybackRateObserver.poll(playbackRate)) {
- mPlaybackRate = playbackRate;
- }
- *speed = mPlaybackRate.mSpeed;
- *pitch = mPlaybackRate.mPitch;
+ mPlaybackRateObserver.poll(mPlaybackRate);
+ return mPlaybackRate;
}
// ---------------------------------------------------------------------------