summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMalathi Gottam <quic_mgottam@quicinc.com>2023-08-22 02:04:24 +0530
committerMalathi Gottam <quic_mgottam@quicinc.com>2023-08-24 04:30:29 +0000
commite8c390b56a71686ab2bbdb9113be2e97f53c6413 (patch)
tree7e340c7a005f101624fac10205e3f5aebb5a455f
parentda4e6b0612a340b211f987fecb5db178aff14400 (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.java10
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();