diff options
| author | Carl Hetherington <cth@carlh.net> | 2026-01-01 23:10:36 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2026-01-01 23:10:36 +0100 |
| commit | a1033e637454ee2782473a13a867161970b49944 (patch) | |
| tree | 1cc30891977c4dd18efb388c53969c48d53390c2 | |
| parent | ddbe1833763f9e3f6d35aeab5d11d58b2c36d96c (diff) | |
Fix crash due to later creation of DCPFilmEncoder.
| -rw-r--r-- | test/j2k_encode_threading_test.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/test/j2k_encode_threading_test.cc b/test/j2k_encode_threading_test.cc index 58f354e80..e6f10ee07 100644 --- a/test/j2k_encode_threading_test.cc +++ b/test/j2k_encode_threading_test.cc @@ -102,11 +102,12 @@ BOOST_AUTO_TEST_CASE(frames_not_lost_when_threads_disappear) auto film = new_test_film("frames_not_lost", content); film->write_metadata(); auto job = make_dcp(film, TranscodeJob::ChangedBehaviour::IGNORE); - auto encoder = dynamic_cast<J2KEncoder*>(dynamic_pointer_cast<DCPFilmEncoder>(job->_encoder)->_encoder.get()); while (JobManager::instance()->work_to_do()) { - encoder->remake_threads((rand() % 7) + 1, 0, {}); - dcpomatic_sleep_seconds(1); + if (auto encoder = dynamic_cast<J2KEncoder*>(dynamic_pointer_cast<DCPFilmEncoder>(job->_encoder)->_encoder.get())) { + encoder->remake_threads((rand() % 7) + 1, 0, {}); + dcpomatic_sleep_seconds(1); + } } BOOST_CHECK(!JobManager::instance()->errors()); |
