summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2024-12-06 21:28:08 +0100
committerCarl Hetherington <cth@carlh.net>2024-12-09 01:40:48 +0100
commit22c40636c977fd5b582c242fb918d2aaa498e063 (patch)
tree4e3bc0c8a0ec62655e0f74729c5af19fe27eaf11
parentd6a5354817613addf97b118b88ae8dfe7e20ae4a (diff)
Assert if we're about to set up 0 encoding threads.
-rw-r--r--src/lib/j2k_encoder.cc1
-rw-r--r--test/j2k_encode_threading_test.cc2
2 files changed, 2 insertions, 1 deletions
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<EncodeServerDescription> 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<J2KEncoder*>(dynamic_pointer_cast<DCPFilmEncoder>(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);
}