From b50ffa706d572b555e8c810072a5fd281edfab46 Mon Sep 17 00:00:00 2001 From: fowr <89118232+perdedora@users.noreply.github.com> Date: Wed, 12 Feb 2025 14:46:22 -0300 Subject: [PATCH] ffmpeg.php: fix mp4 logic for checking if audio exist --- inc/lib/webm/ffmpeg.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/inc/lib/webm/ffmpeg.php b/inc/lib/webm/ffmpeg.php index 0747b420..ac0231c2 100644 --- a/inc/lib/webm/ffmpeg.php +++ b/inc/lib/webm/ffmpeg.php @@ -28,8 +28,17 @@ function is_valid_webm($ffprobe_out) { if ($ffprobe_out['format']['format_name'] != 'matroska,webm') return array('code' => 2, 'msg' => $config['error']['invalidwebm']); } elseif ($extension === 'mp4') { - if ($ffprobe_out['streams'][0]['codec_name'] != 'h264' && $ffprobe_out['streams'][1]['codec_name'] != 'aac') + if (!isset($ffprobe_out['streams'][0]['codec_name'])) { return array('code' => 2, 'msg' => $config['error']['invalidwebm']); + } + + $video_codec = $ffprobe_out['streams'][0]['codec_name']; + + $audio_codec = $ffprobe_out['streams'][1]['codec_name'] ?? null; + + if ($video_codec !== 'h264' || ($audio_codec && $audio_codec !== 'aac')) { + return array('code' => 2, 'msg' => $config['error']['invalidwebm']); + } } else { return array('code' => 1, 'msg' => $config['error']['genwebmerror']); }