feat: audio_edit_filters helper + optional -af chain on build_audio_clip_command
This commit is contained in:
@@ -76,6 +76,31 @@ def test_audio_clip_command_extension_case_insensitive():
|
||||
assert "flac" in build_audio_clip_command("/in.mp4", 0, 1, "/o/A.FLAC")
|
||||
|
||||
|
||||
def test_audio_edit_filters_empty_when_defaults():
|
||||
from core.ffmpeg import audio_edit_filters
|
||||
assert audio_edit_filters(duration=3.0) == []
|
||||
|
||||
def test_audio_edit_filters_fade_normalize_gain():
|
||||
from core.ffmpeg import audio_edit_filters
|
||||
f = audio_edit_filters(duration=10.0, fade_in=0.5, fade_out=2.0,
|
||||
normalize=True, gain_db=-3.0)
|
||||
assert "afade=t=in:st=0:d=0.5" in f
|
||||
assert "afade=t=out:st=8.0:d=2.0" in f # fade-out starts at duration - fade_out
|
||||
assert "loudnorm" in f
|
||||
assert "volume=-3.0dB" in f
|
||||
|
||||
def test_audio_clip_command_no_filters_unchanged():
|
||||
cmd = build_audio_clip_command("/in.mp4", 1.0, 2.0, "/o/a.wav")
|
||||
assert "-af" not in cmd
|
||||
|
||||
def test_audio_clip_command_appends_filter_chain():
|
||||
cmd = build_audio_clip_command("/in.mp4", 1.0, 2.0, "/o/a.wav",
|
||||
filters=["afade=t=in:st=0:d=0.5", "loudnorm"])
|
||||
i = cmd.index("-af")
|
||||
assert cmd[i + 1] == "afade=t=in:st=0:d=0.5,loudnorm"
|
||||
assert i < len(cmd) - 1 and cmd[-1] == "/o/a.wav"
|
||||
|
||||
|
||||
# --- ProcessedDB ---
|
||||
|
||||
def test_db_add_and_get_markers():
|
||||
|
||||
Reference in New Issue
Block a user