From 1ba220a816e8344729194092ebf3349df347eb26 Mon Sep 17 00:00:00 2001 From: Liad Rubin Date: Mon, 13 Jan 2025 20:32:06 +0200 Subject: [PATCH] Migrate from MediaCodecList.getCodecCount to iterate getCodecInfos member function in MediaCodecVideoDecoderFactory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit GetCodecCount is deprecated in API 21+ and getCodecInfos is encouraged to be used instead. See guidance: https://developer.android.com/reference/android/media/MediaCodecList#getCodecCount() Bug: webrtc:386857228 Change-Id: I3578809a550ef069562c521e47ce58e42ab2f5a8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/374163 Reviewed-by: ZoƩ Lepaul Reviewed-by: Sergey Silkin Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#43745} --- .../java/org/webrtc/MediaCodecVideoDecoderFactory.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java b/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java index 9a73bc49ff..875d781abd 100644 --- a/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java +++ b/sdk/android/src/java/org/webrtc/MediaCodecVideoDecoderFactory.java @@ -84,14 +84,8 @@ class MediaCodecVideoDecoderFactory implements VideoDecoderFactory { } private @Nullable MediaCodecInfo findCodecForType(VideoCodecMimeType type) { - for (int i = 0; i < MediaCodecList.getCodecCount(); ++i) { - MediaCodecInfo info = null; - try { - info = MediaCodecList.getCodecInfoAt(i); - } catch (IllegalArgumentException e) { - Logging.e(TAG, "Cannot retrieve decoder codec info", e); - } - + final MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.ALL_CODECS); + for (MediaCodecInfo info : mediaCodecList.getCodecInfos()) { if (info == null || info.isEncoder()) { continue; }