summaryrefslogtreecommitdiff
path: root/src/lib/writer.cc
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-10-05 01:34:07 +0100
committerCarl Hetherington <cth@carlh.net>2017-10-05 01:34:07 +0100
commit35c0a33f8da3b1f99ec32a8c42f578cbc063e7e4 (patch)
treebc1827210ad379143236bafd0875252959ef6b99 /src/lib/writer.cc
parent46ffbecc24e997c91c152a6e7154747b2e76a904 (diff)
Add configuration option to set writer's maximum frames in memory.
Diffstat (limited to 'src/lib/writer.cc')
-rw-r--r--src/lib/writer.cc11
1 files changed, 1 insertions, 10 deletions
diff --git a/src/lib/writer.cc b/src/lib/writer.cc
index b5123ad74..3f0c687c2 100644
--- a/src/lib/writer.cc
+++ b/src/lib/writer.cc
@@ -676,16 +676,7 @@ operator== (QueueItem const & a, QueueItem const & b)
void
Writer::set_encoder_threads (int threads)
{
- /* I think the scaling factor here should be the ratio of the longest frame
- encode time to the shortest; if the thread count is T, longest time is L
- and the shortest time S we could encode L/S frames per thread whilst waiting
- for the L frame to encode so we might have to store LT/S frames.
-
- However we don't want to use too much memory, so keep it a bit lower than we'd
- perhaps like. A J2K frame is typically about 1Mb so 3 here will mean we could
- use about 240Mb with 72 encoding threads.
- */
- _maximum_frames_in_memory = lrint (threads * 3);
+ _maximum_frames_in_memory = lrint (threads * Config::instance()->frames_in_memory_multiplier());
}
void