summaryrefslogtreecommitdiffstats
path: root/media/libmedia/AudioTrack.cpp
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@android.com>2014-02-10 18:17:02 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-02-10 18:17:02 +0000
commit3523e8c40bc60af0c95d1aa71a51a13d69ec80a2 (patch)
tree92a10a14b54f22f8b4af00dd493d6514b585473f /media/libmedia/AudioTrack.cpp
parent2ca060c742a47034cea0ad2fb4aa10f0d6b59a09 (diff)
parent4e12dadeec10993d2f77cce96600e73ca0dd86e2 (diff)
downloadframeworks_av-3523e8c40bc60af0c95d1aa71a51a13d69ec80a2.zip
frameworks_av-3523e8c40bc60af0c95d1aa71a51a13d69ec80a2.tar.gz
frameworks_av-3523e8c40bc60af0c95d1aa71a51a13d69ec80a2.tar.bz2
am 4e12dade: am 4361749d: Merge "AudioTrack: Never try to use the fast path if resampling is required"
* commit '4e12dadeec10993d2f77cce96600e73ca0dd86e2': AudioTrack: Never try to use the fast path if resampling is required
Diffstat (limited to 'media/libmedia/AudioTrack.cpp')
-rw-r--r--media/libmedia/AudioTrack.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index 41b4845..fa56dc2 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -883,6 +883,12 @@ status_t AudioTrack::createTrack_l(size_t epoch)
}
ALOGV("createTrack_l() output %d afLatency %d", output, afLatency);
+ if ((flags & AUDIO_OUTPUT_FLAG_FAST) && sampleRate != afSampleRate) {
+ ALOGW("AUDIO_OUTPUT_FLAG_FAST denied by client due to mismatching sample rate (%d vs %d)",
+ sampleRate, afSampleRate);
+ flags = (audio_output_flags_t) (flags & ~AUDIO_OUTPUT_FLAG_FAST);
+ }
+
// The client's AudioTrack buffer is divided into n parts for purpose of wakeup by server, where
// n = 1 fast track with single buffering; nBuffering is ignored
// n = 2 fast track with double buffering