Add aaudio APC opt-out
The opt-out was only present in the java API but not on the native ones.
Test: atest test_attributes
Change-Id: I1b84f1a428508e00de65e615b59405b9ee2ba009
Signed-off-by: Kevin Rocard <krocard@google.com>
diff --git a/media/libaaudio/src/utility/AAudioUtilities.cpp b/media/libaaudio/src/utility/AAudioUtilities.cpp
index 723cbf1..96ed56a 100644
--- a/media/libaaudio/src/utility/AAudioUtilities.cpp
+++ b/media/libaaudio/src/utility/AAudioUtilities.cpp
@@ -217,6 +217,22 @@
return (audio_source_t) preset; // same value
}
+audio_flags_mask_t AAudioConvert_allowCapturePolicyToAudioFlagsMask(
+ aaudio_allowed_capture_policy_t policy) {
+ switch (policy) {
+ case AAUDIO_UNSPECIFIED:
+ case AAUDIO_ALLOW_CAPTURE_BY_ALL:
+ return AUDIO_FLAG_NONE;
+ case AAUDIO_ALLOW_CAPTURE_BY_SYSTEM:
+ return AUDIO_FLAG_NO_MEDIA_PROJECTION;
+ case AAUDIO_ALLOW_CAPTURE_BY_NONE:
+ return AUDIO_FLAG_NO_MEDIA_PROJECTION | AUDIO_FLAG_NO_SYSTEM_CAPTURE;
+ default:
+ ALOGE("%s() 0x%08X unrecognized", __func__, policy);
+ return AUDIO_FLAG_NONE; //
+ }
+}
+
int32_t AAudioConvert_framesToBytes(int32_t numFrames,
int32_t bytesPerFrame,
int32_t *sizeInBytes) {
diff --git a/media/libaaudio/src/utility/AAudioUtilities.h b/media/libaaudio/src/utility/AAudioUtilities.h
index dc2b198..76d0457 100644
--- a/media/libaaudio/src/utility/AAudioUtilities.h
+++ b/media/libaaudio/src/utility/AAudioUtilities.h
@@ -84,6 +84,14 @@
*/
audio_source_t AAudioConvert_inputPresetToAudioSource(aaudio_input_preset_t preset);
+/**
+ * Note that this function does not validate the passed in value.
+ * That is done somewhere else.
+ * @return internal audio flags mask
+ */
+audio_flags_mask_t AAudioConvert_allowCapturePolicyToAudioFlagsMask(
+ aaudio_allowed_capture_policy_t policy);
+
// Note that this code may be replaced by Settings or by some other system configuration tool.
#define AAUDIO_PROP_MMAP_POLICY "aaudio.mmap_policy"