Automated release: version and notes generated from pull requests merged since 3.8.2.
Fixed
overlay.py,waveform.py,loop.pyandsync.py --replace-audioend their sound to the
sample;pad.pyandfreeze.pyadd silence to the sample (the siblings of #493). The first
four ended their output with-t {:.3f}, a length to the millisecond: an input whose sound is
59244 samples long (48 kHz, 1.23425 s) came out ofoverlay.py --image/--videoand
waveform.pywith 59232 (54433 at 44.1 kHz with 54419), the reference's 59244 came out of
sync.py --replace-audioas 59232, andloop.py --duration 2.23425wrote 107232 for 107244. Where
the sound runs on past the length (sync.py's pad,loop.py's next repeat) a millisecond that
rounds up wrote too much: 59280 for a reference of 59261.pad.py --start/--endand
freeze.py --hold(a hold at the clip's end or at its first frame) wrote the silence as
adelay=<whole ms>/apad=pad_dur={:.3f}:--end 0.23425added 11232 samples for 11244, and
the millisecond was cut, not rounded, so--start 1.001delayed the sound by 1.000 s
(int(1.001 * 1000)is 1000; 741 of the whole-millisecond values up to 100 s). The-tis the
length to the microsecond when the millisecond text names another sample count
(length_output_t()in_common), and a silence that is not a whole millisecond is counted in
samples (silence_filter():adelay=NS,apad=pad_len=Nbehind anaformatthat pins the
rate). A length or a silence in whole milliseconds, an input without sound and a dry run's
pending input write the command they always did, except the whole milliseconds that were cut by
one. The picture is bounded by the same-t, so the limit carries no half sample of slack
(with it a layer's frame that starts exactly at the main input's end came through on a 1/60000
time base); a frame that starts in the last half millisecond before the end, which-t {:.3f}
left out when it rounded down, is now written.pad.py's andfreeze.py's picture
(tpad, whole frames) is unchanged. Measured on FFmpeg 6.1.1.- fix: overlay, waveform, loop and sync --replace-audio end their sound to the sample; pad and freeze add silence to the sample (#499)
What's Changed
- fix: overlay, waveform, loop and sync --replace-audio end their sound to the sample; pad and freeze add silence to the sample by @kajisho5 in #499
Full Changelog: v3.8.2...v3.8.3