diff options
| author | Carl Hetherington <cth@carlh.net> | 2024-12-06 21:28:08 +0100 |
|---|---|---|
| committer | Carl Hetherington <cth@carlh.net> | 2024-12-09 01:40:48 +0100 |
| commit | 22c40636c977fd5b582c242fb918d2aaa498e063 (patch) | |
| tree | 4e3bc0c8a0ec62655e0f74729c5af19fe27eaf11 | |
| parent | d6a5354817613addf97b118b88ae8dfe7e20ae4a (diff) | |
Assert if we're about to set up 0 encoding threads.
| -rw-r--r-- | src/lib/j2k_encoder.cc | 1 | ||||
| -rw-r--r-- | test/j2k_encode_threading_test.cc | 2 |
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); } |
