diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-05-19 22:51:46 +0200 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-05-19 22:51:46 +0200 |
| commit | 60fd98772b64dfc1195a34e5be7782675a150538 (patch) | |
| tree | 451fa5cf44cd5f44d896a88a20008ffaa6c3050a /test | |
| parent | cb83b1ebba5d3eb9085a1b07beff2700606d8df0 (diff) | |
| parent | 7f6cc5c6e151c32fce94181689cf740a011feafb (diff) | |
Merge remote-tracking branch 'origin/main' into v2.17.x
Diffstat (limited to 'test')
| -rw-r--r-- | test/player_test.cc | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/player_test.cc b/test/player_test.cc index 530dfc770..5c6ef2617 100644 --- a/test/player_test.cc +++ b/test/player_test.cc @@ -30,6 +30,7 @@ #include "lib/butler.h" #include "lib/compose.hpp" #include "lib/config.h" +#include "lib/constants.h" #include "lib/content_factory.h" #include "lib/cross.h" #include "lib/dcp_content.h" @@ -739,3 +740,21 @@ BOOST_AUTO_TEST_CASE(check_seek_with_no_video) BOOST_CHECK(*earliest >= dcpomatic::DCPTime(60 * 60)); } + +BOOST_AUTO_TEST_CASE(unmapped_audio_does_not_raise_buffer_error) +{ + auto content = content_factory(TestPaths::private_data() / "arrietty_JP-EN.mkv")[0]; + auto film = new_test_film2("unmapped_audio_does_not_raise_buffer_error", { content }); + + content->audio->set_mapping(AudioMapping(6 * 2, MAX_DCP_AUDIO_CHANNELS)); + + Player player(film, Image::Alignment::COMPACT); + Butler butler(film, player, AudioMapping(), 2, bind(PlayerVideo::force, AV_PIX_FMT_RGB24), VideoRange::FULL, Image::Alignment::PADDED, true, false, Butler::Audio::ENABLED); + + /* Wait for the butler thread to run for a while; in the case under test it will throw an exception because + * the video buffers are filled but no audio comes. + */ + dcpomatic_sleep_seconds(10); + butler.rethrow(); +} + |
