From be64d36ea3cb6c0b762e33546846631944cc589d Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Wed, 27 Feb 2019 15:12:10 -0800 Subject: [PATCH] Register policy with AudioManager The policy was previously not registered. Resulting in a failure when starting the recording. Test: atest android.media.cts.AudioPlaybackCaptureTest#testCaptureMediaUsage Bug: 111453086 Change-Id: Ib0bbdfefd644c2f8e389baafdc1fc3ad548dcc4c Signed-off-by: Kevin Rocard --- media/java/android/media/AudioRecord.java | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java index ec1a854a66d5f..3d5120f86db36 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; }