diff options
author | Malathi Gottam <quic_mgottam@quicinc.com> | 2023-08-22 02:04:24 +0530 |
---|---|---|
committer | Malathi Gottam <quic_mgottam@quicinc.com> | 2023-08-24 04:30:29 +0000 |
commit | e8c390b56a71686ab2bbdb9113be2e97f53c6413 (patch) | |
tree | 7e340c7a005f101624fac10205e3f5aebb5a455f | |
parent | da4e6b0612a340b211f987fecb5db178aff14400 (diff) |
Use encoder capabilities for determining screen recording size
Using decoder capabilities for determining max size and rate
can cause failure during screen record as encoder might not be
capable of supporting it. As encoder supported size and rate
are implicitly supported by decoder, recordings will be
playable on device.
CRs-Fixed: 3593702
Change-Id: I5c9eb491df248e6150cc956574ab609102db9ac9
-rw-r--r-- | packages/SystemUI/src/com/android/systemui/screenrecord/ScreenMediaRecorder.java | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenMediaRecorder.java b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenMediaRecorder.java index b8d96f774e02..3b4f28accd3e 100644 --- a/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenMediaRecorder.java +++ b/packages/SystemUI/src/com/android/systemui/screenrecord/ScreenMediaRecorder.java @@ -209,11 +209,13 @@ public class ScreenMediaRecorder extends MediaProjection.Callback { throws IOException { String videoType = MediaFormat.MIMETYPE_VIDEO_AVC; - // Get max size from the decoder, to ensure recordings will be playable on device - MediaCodec decoder = MediaCodec.createDecoderByType(videoType); - MediaCodecInfo.VideoCapabilities vc = decoder.getCodecInfo() + // Get max size from the encoder, + // implicitly decoder supports this size and + // ensure recordings will be playable on device + MediaCodec encoder = MediaCodec.createEncoderByType(videoType); + MediaCodecInfo.VideoCapabilities vc = encoder.getCodecInfo() .getCapabilitiesForType(videoType).getVideoCapabilities(); - decoder.release(); + encoder.release(); // Check if we can support screen size as-is int width = vc.getSupportedWidths().getUpper(); |