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 <4feeee8891%5E%21/>
PR #3757 <https://github.com/Genymobile/scrcpy/pull/3757>
This commit is contained in:
Romain Vimont 2023-02-19 15:24:08 +01:00
parent 13a3395a33
commit 80c0780b77

View file

@ -203,6 +203,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;
}
MediaCodec mediaCodec = null; MediaCodec mediaCodec = null;
AudioRecord recorder = null; AudioRecord recorder = null;