fix (core): checks the compatibility even if default options are used

This commit is contained in:
2026-08-30 19:00:12 +05:00
parent 6f6637a9a2
commit 747a349877
+11 -5
View File
@@ -105,11 +105,13 @@ def validate_format_compatibility(
"Please use --drop-video or choose a container that supports video (e.g., MKV, MP4)." "Please use --drop-video or choose a container that supports video (e.g., MKV, MP4)."
) )
# Check if audio codec is supported # Determine actual audio codec for validation
if audio_codec and audio_codec != 'copy': # When 'copy' is used, we must still validate the input codec against the container
if not is_audio_codec_supported(container, audio_codec): actual_audio_codec = audio_codec if audio_codec and audio_codec != 'copy' else stream_info.get('audio_codec')
if actual_audio_codec:
if not is_audio_codec_supported(container, actual_audio_codec):
raise ValueError( raise ValueError(
f"Container '{container}' does not support audio codec '{audio_codec}'. " f"Container '{container}' does not support audio codec '{actual_audio_codec}'. "
f"Please choose a different container or audio codec." f"Please choose a different container or audio codec."
) )
@@ -119,7 +121,11 @@ def validate_format_compatibility(
if video_codec is None and input_file: if video_codec is None and input_file:
from .ffmpeg import get_video_codec from .ffmpeg import get_video_codec
video_codec = get_video_codec(input_file) video_codec = get_video_codec(input_file)
if video_codec and video_codec != 'copy': # When 'copy' is used, validate the input video codec against the container
if video_codec == 'copy' and input_file:
from .ffmpeg import get_video_codec
video_codec = get_video_codec(input_file)
if video_codec:
if not is_video_codec_supported(container, video_codec): if not is_video_codec_supported(container, video_codec):
raise ValueError( raise ValueError(
f"Container '{container}' does not support video codec '{video_codec}'. " f"Container '{container}' does not support video codec '{video_codec}'. "