From 12c42585d25d4c51bc5d022aa282d4d36b8e1ff2 Mon Sep 17 00:00:00 2001 From: rohks Date: Tue, 25 Jun 2024 06:54:16 -0700 Subject: [PATCH] Use `removeKey` method instead of setting `null` for KEY_CODECS_STRING Setting a `null` value doesn't remove the key as expected per the `MediaFormat` API documentation, using the `removeKey` method instead which is only available starting API level 29. PiperOrigin-RevId: 646462402 --- .../java/androidx/media3/exoplayer/MediaExtractorCompat.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaExtractorCompat.java b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaExtractorCompat.java index f0efcdf2b2..52e4c63213 100644 --- a/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaExtractorCompat.java +++ b/libraries/exoplayer/src/main/java/androidx/media3/exoplayer/MediaExtractorCompat.java @@ -647,7 +647,9 @@ public final class MediaExtractorCompat { MediaFormat mediaFormatResult = MediaFormatUtil.createMediaFormatFromFormat(result); scratchFormatHolder.clear(); if (compatibilityTrackMimeType != null) { - mediaFormatResult.setString(MediaFormat.KEY_CODECS_STRING, null); + if (Util.SDK_INT >= 29) { + mediaFormatResult.removeKey(MediaFormat.KEY_CODECS_STRING); + } mediaFormatResult.setString(MediaFormat.KEY_MIME, compatibilityTrackMimeType); } return mediaFormatResult;