summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author jiabin <jiabin@google.com> 2021-03-12 20:00:05 +0000
committer jiabin <jiabin@google.com> 2021-03-12 20:03:42 +0000
commit958faf9a252a62a79c426f99ba23b83f93705157 (patch)
tree2cdfe6f39ddf4d2f2b86a2f5d50ddeb88a5d5e8b
parente4ba4f837d74b92066f617eeeb64259cecc90588 (diff)
Add MediaRecorder.SystemSource.
Add an IntDef named MediaRecorder.SystemSource, which includes all audio source that is defined in MediaRecorder.AudioSource. It can be used for preferred device for capture preset APIs. Test: atest AudioServiceHostTest Bug: 180395563 Change-Id: If80a2875b64544c1e7e60999bad6dafdba712333
-rw-r--r--media/java/android/media/AudioManager.java14
-rw-r--r--media/java/android/media/MediaRecorder.java20
2 files changed, 29 insertions, 5 deletions
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 1cef0922a48e..c40974dcb3dc 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -1988,7 +1988,7 @@ public class AudioManager {
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
- public boolean setPreferredDeviceForCapturePreset(int capturePreset,
+ public boolean setPreferredDeviceForCapturePreset(@MediaRecorder.SystemSource int capturePreset,
@NonNull AudioDeviceAttributes device) {
return setPreferredDevicesForCapturePreset(capturePreset, Arrays.asList(device));
}
@@ -2002,7 +2002,8 @@ public class AudioManager {
*/
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
- public boolean clearPreferredDevicesForCapturePreset(int capturePreset) {
+ public boolean clearPreferredDevicesForCapturePreset(
+ @MediaRecorder.SystemSource int capturePreset) {
if (!MediaRecorder.isValidAudioSource(capturePreset)) {
return false;
}
@@ -2024,7 +2025,8 @@ public class AudioManager {
@NonNull
@SystemApi
@RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
- public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(int capturePreset) {
+ public List<AudioDeviceAttributes> getPreferredDevicesForCapturePreset(
+ @MediaRecorder.SystemSource int capturePreset) {
if (!MediaRecorder.isValidAudioSource(capturePreset)) {
return new ArrayList<AudioDeviceAttributes>();
}
@@ -2036,7 +2038,8 @@ public class AudioManager {
}
private boolean setPreferredDevicesForCapturePreset(
- int capturePreset, @NonNull List<AudioDeviceAttributes> devices) {
+ @MediaRecorder.SystemSource int capturePreset,
+ @NonNull List<AudioDeviceAttributes> devices) {
Objects.requireNonNull(devices);
if (!MediaRecorder.isValidAudioSource(capturePreset)) {
return false;
@@ -2081,7 +2084,8 @@ public class AudioManager {
* @param devices a list of newly set preferred audio devices
*/
void onPreferredDevicesForCapturePresetChanged(
- int capturePreset, @NonNull List<AudioDeviceAttributes> devices);
+ @MediaRecorder.SystemSource int capturePreset,
+ @NonNull List<AudioDeviceAttributes> devices);
}
/**
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 49a4cc6239bb..c35a92031ca3 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -379,6 +379,26 @@ public class MediaRecorder implements AudioRouting,
@Retention(RetentionPolicy.SOURCE)
public @interface Source {}
+ /** @hide */
+ @IntDef({
+ AudioSource.DEFAULT,
+ AudioSource.MIC,
+ AudioSource.VOICE_UPLINK,
+ AudioSource.VOICE_DOWNLINK,
+ AudioSource.VOICE_CALL,
+ AudioSource.CAMCORDER,
+ AudioSource.VOICE_RECOGNITION,
+ AudioSource.VOICE_COMMUNICATION,
+ AudioSource.REMOTE_SUBMIX,
+ AudioSource.UNPROCESSED,
+ AudioSource.VOICE_PERFORMANCE,
+ AudioSource.ECHO_REFERENCE,
+ AudioSource.RADIO_TUNER,
+ AudioSource.HOTWORD,
+ })
+ @Retention(RetentionPolicy.SOURCE)
+ public @interface SystemSource {}
+
// TODO make AudioSource static (API change) and move this method inside the AudioSource class
/**
* @hide