summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2026-01-01 23:10:36 +0100
committerCarl Hetherington <cth@carlh.net>2026-01-01 23:10:36 +0100
commita1033e637454ee2782473a13a867161970b49944 (patch)
tree1cc30891977c4dd18efb388c53969c48d53390c2
parentddbe1833763f9e3f6d35aeab5d11d58b2c36d96c (diff)
Fix crash due to later creation of DCPFilmEncoder.
-rw-r--r--test/j2k_encode_threading_test.cc7
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());