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
diff --git a/media/libaudioclient/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp
index 1f6dd60..b444d2d 100644
--- a/media/libaudioclient/AudioTrack.cpp
+++ b/media/libaudioclient/AudioTrack.cpp
@@ -952,7 +952,8 @@
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) {