summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Kevin Rocard <krocard@google.com> 2019-02-28 05:21:21 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2019-02-28 05:21:21 +0000
commit6efe144d48fdcbde50e4f7eb595175be97f98cd6 (patch)
tree2344e521157415b026ae27291726efee14e1186f
parenta9c3a3a47b1fdd0f3379e30aeb0601282a118557 (diff)
parentbe64d36ea3cb6c0b762e33546846631944cc589d (diff)
Merge "Register policy with AudioManager"
-rw-r--r--media/java/android/media/AudioRecord.java9
1 files changed, 9 insertions, 0 deletions
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index ec1a854a66d5..3d5120f86db3 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -653,7 +653,16 @@ public class AudioRecord implements AudioRouting, MicrophoneDirection,
AudioPolicy audioPolicy = new AudioPolicy.Builder(/*context=*/ null)
.setMediaProjection(projection)
.addMix(audioMix).build();
+
+ int error = AudioManager.registerAudioPolicyStatic(audioPolicy);
+ if (error != 0) {
+ throw new UnsupportedOperationException("Error: could not register audio policy");
+ }
+
AudioRecord record = audioPolicy.createAudioRecordSink(audioMix);
+ if (record == null) {
+ throw new UnsupportedOperationException("Cannot create AudioRecord");
+ }
record.unregisterAudioPolicyOnRelease(audioPolicy);
return record;
}