From f4de6114c20c3b3376806b359d527330f1891826 Mon Sep 17 00:00:00 2001 From: jiabin Date: Wed, 19 Dec 2018 12:40:08 -0800 Subject: [PATCH] Do not allow set sample rate when haptic channels exists. As haptic playback via audio require sample rate is the same as the HAL one, sample rate should not be changed after AudioTrack is created. Bug: 121271890 Test: Manually Change-Id: I1549017b3ca8523735190f62f8c9a4fb8b95e000 --- media/libaudioclient/AudioTrack.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp index 1f6dd60c89..b444d2d154 100644 --- a/media/libaudioclient/AudioTrack.cpp +++ b/media/libaudioclient/AudioTrack.cpp @@ -952,7 +952,8 @@ status_t AudioTrack::setSampleRate(uint32_t rate) if (rate == mSampleRate) { return NO_ERROR; } - if (isOffloadedOrDirect_l() || (mFlags & AUDIO_OUTPUT_FLAG_FAST)) { + if (isOffloadedOrDirect_l() || (mFlags & AUDIO_OUTPUT_FLAG_FAST) + || (mChannelMask & AUDIO_CHANNEL_HAPTIC_ALL)) { return INVALID_OPERATION; } if (mOutput == AUDIO_IO_HANDLE_NONE) {