Disable audio before Android 11

The permission "android.permission.RECORD_AUDIO" has been added for
shell in Android 11.

Moreover, on lower versions, it may make the server segfault on the
device (happened on a Nexus 5 with Android 6.0.1).

Refs <https://android.googlesource.com/platform/frameworks/base/+/4feeee88911503cc365b223a712437abcd91c94f%5E%21/>
This commit is contained in:
Romain Vimont 2023-02-19 15:24:08 +01:00
commit 0c5d9266a5

View file

@ -200,6 +200,12 @@ public final class AudioEncoder {
@TargetApi(Build.VERSION_CODES.M) @TargetApi(Build.VERSION_CODES.M)
public void encode() throws IOException { public void encode() throws IOException {
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) {
Ln.w("Audio disabled: it is not supported before Android 11");
streamer.writeDisableStream();
return;
}
try { try {
try { try {
mediaCodec = MediaCodec.createEncoderByType(MIMETYPE); // may throw IOException mediaCodec = MediaCodec.createEncoderByType(MIMETYPE); // may throw IOException