From 22c40636c977fd5b582c242fb918d2aaa498e063 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Fri, 6 Dec 2024 21:28:08 +0100 Subject: Assert if we're about to set up 0 encoding threads. --- src/lib/j2k_encoder.cc | 1 + test/j2k_encode_threading_test.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/j2k_encoder.cc b/src/lib/j2k_encoder.cc index 15046b51d..b416f921d 100644 --- a/src/lib/j2k_encoder.cc +++ b/src/lib/j2k_encoder.cc @@ -365,6 +365,7 @@ void J2KEncoder::remake_threads(int cpu, int gpu, list servers) { LOG_GENERAL("Making threads: CPU=%1, GPU=%2, Remote=%3", cpu, gpu, servers.size()); + DCPOMATIC_ASSERT((cpu + gpu + servers.size()) > 0); boost::mutex::scoped_lock lm (_threads_mutex); if (_ending) { diff --git a/test/j2k_encode_threading_test.cc b/test/j2k_encode_threading_test.cc index 1f57f4143..48a639faa 100644 --- a/test/j2k_encode_threading_test.cc +++ b/test/j2k_encode_threading_test.cc @@ -102,7 +102,7 @@ BOOST_AUTO_TEST_CASE(frames_not_lost_when_threads_disappear) auto encoder = dynamic_cast(dynamic_pointer_cast(job->_encoder)->_encoder.get()); while (JobManager::instance()->work_to_do()) { - encoder->remake_threads(rand() % 8, 0, {}); + encoder->remake_threads((rand() % 7) + 1, 0, {}); dcpomatic_sleep_seconds(1); } -- cgit v1.2.3