From 83861d5649c83d1df82fafa622f469ac272f21aa Mon Sep 17 00:00:00 2001 From: Liad Rubin Date: Wed, 1 Jan 2025 14:07:21 +0200 Subject: [PATCH] Migrate from MediaCodecList.getCodecCount to iterate getCodecInfos member function in HardwareVideoEncoderFactory 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: I01ce9ed6da25aade4679012e4ca5e308d7672ee8 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/373240 Reviewed-by: ZoƩ Lepaul Reviewed-by: Sergey Silkin Commit-Queue: Sergey Silkin Cr-Commit-Position: refs/heads/main@{#43721} --- .../api/org/webrtc/HardwareVideoEncoderFactory.java | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java b/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java index d43fc27fa0..bdb10e9698 100644 --- a/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java +++ b/sdk/android/api/org/webrtc/HardwareVideoEncoderFactory.java @@ -155,14 +155,8 @@ public class HardwareVideoEncoderFactory implements VideoEncoderFactory { } 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 encoder codec info", e); - } - + final MediaCodecList mediaCodecList = new MediaCodecList(MediaCodecList.ALL_CODECS); + for (MediaCodecInfo info : mediaCodecList.getCodecInfos()) { if (info == null || !info.isEncoder()) { continue; }