From fc1d60e65b11e8bfa7d28f5e9554e8d1b14f4466 Mon Sep 17 00:00:00 2001 From: Nicholas Tinsley Date: Thu, 15 Feb 2024 17:03:45 -0500 Subject: [PATCH] Fallback to matching video decoder by MIME type. --- .../video/videoconverter/utils/MediaCodecCompat.kt | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/MediaCodecCompat.kt b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/MediaCodecCompat.kt index 931c2784bc..963badbeb2 100644 --- a/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/MediaCodecCompat.kt +++ b/video/lib/src/main/java/org/thoughtcrime/securesms/video/videoconverter/utils/MediaCodecCompat.kt @@ -39,6 +39,13 @@ object MediaCodecCompat { } else { findBackupDecoderForDolbyVision(inputFormat) ?: throw IOException("Can't create decoder for $mimeType!") } + } else if (mimeType != null) { + try { + val decoder = MediaCodec.createDecoderByType(mimeType) + return Pair(decoder, inputFormat) + } catch (iae: IllegalArgumentException) { + throw IOException("Can't create decoder for $mimeType, which is not a valid MIME type.", iae) + } } throw IOException("Can't create decoder for $mimeType!")