fix (core): checks the compatibility even if default options are used
This commit is contained in:
@@ -105,11 +105,13 @@ def validate_format_compatibility(
|
||||
"Please use --drop-video or choose a container that supports video (e.g., MKV, MP4)."
|
||||
)
|
||||
|
||||
# Check if audio codec is supported
|
||||
if audio_codec and audio_codec != 'copy':
|
||||
if not is_audio_codec_supported(container, audio_codec):
|
||||
# Determine actual audio codec for validation
|
||||
# When 'copy' is used, we must still validate the input codec against the container
|
||||
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(
|
||||
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."
|
||||
)
|
||||
|
||||
@@ -119,7 +121,11 @@ def validate_format_compatibility(
|
||||
if video_codec is None and input_file:
|
||||
from .ffmpeg import get_video_codec
|
||||
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):
|
||||
raise ValueError(
|
||||
f"Container '{container}' does not support video codec '{video_codec}'. "
|
||||
|
||||
Reference in New Issue
Block a user