diff options
| author | Carl Hetherington <cth@carlh.net> | 2025-12-30 02:38:54 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2025-12-31 21:38:12 +0100 |
| commit | 36c5c4cdc1c5f47125118edba2593e851ce0756b (patch) | |
| tree | ab9d6e937fcc1e186ae3a0c2135dc96f540842da | |
| parent | ad4d7e654a0125ac8d0ebbc2a23c59a12079ebdf (diff) | |
Fix mismatched audio reel length (#3123).
| -rwxr-xr-x | run/tests | 2 | ||||
| -rw-r--r-- | src/lib/player.cc | 4 | ||||
| -rw-r--r-- | test/player_test.cc | 11 |
3 files changed, 16 insertions, 1 deletions
@@ -3,7 +3,7 @@ # e.g. --run_tests=foo set -e -PRIVATE_GIT="8bf1138b91512fea16179889d33cd5ec801676ca" +PRIVATE_GIT="3193af1f18fd6f0fd8c8a77055e44bfdf93437e8" DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" source $DIR/environment diff --git a/src/lib/player.cc b/src/lib/player.cc index 6bfc1efdb..ebdf5682a 100644 --- a/src/lib/player.cc +++ b/src/lib/player.cc @@ -899,6 +899,10 @@ Player::pass() emit_video_until(film->length()); } + if (_next_audio_time) { + fill_audio(DCPTimePeriod(*_next_audio_time, film->length())); + } + if (_shuffler) { _shuffler->flush(); } diff --git a/test/player_test.cc b/test/player_test.cc index 684cede04..ca81c29f6 100644 --- a/test/player_test.cc +++ b/test/player_test.cc @@ -773,3 +773,14 @@ BOOST_AUTO_TEST_CASE(test_with_audio_stream_that_never_emits_anything) BOOST_REQUIRE(!wait_for_jobs()); } + + +BOOST_AUTO_TEST_CASE(test_fill_audio_at_end) +{ + auto content = content_factory(TestPaths::private_data() / "Video Ts-1.m4v"); + auto film = new_test_film("test_fill_audio_at_end", content); + content[0]->set_trim_start(film, ContentTime::from_seconds((60 + 42) * 60)); + + make_and_verify_dcp(film, {});// dcp::VerificationNote::Code::MISSING_CPL_METADATA }); +} + |
