Merge "Allow getInputBufferSize for compressed formats" into main
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 6d1408a..180c150 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -1890,7 +1890,7 @@
return 0;
}
if ((sampleRate == 0) ||
- !audio_is_valid_format(format) || !audio_has_proportional_frames(format) ||
+ !audio_is_valid_format(format) ||
!audio_is_input_channel(channelMask)) {
return 0;
}
@@ -1913,6 +1913,10 @@
std::vector<audio_format_t> formats = {format};
if (format != AUDIO_FORMAT_PCM_16_BIT) {
+ // For compressed format, buffer size may be queried using PCM. Allow this for compatibility
+ // in cases the primary hw dev does not support the format.
+ // TODO: replace with a table of formats and nominal buffer sizes (based on nominal bitrate
+ // and codec frame size).
formats.push_back(AUDIO_FORMAT_PCM_16_BIT);
}