if (percentile <= 0.5) {
return *next(orders.begin(), elem_idx) * multiplier;
} else {
- return *prev(orders.end(), elem_idx + 1) * multiplier;
+ return *prev(orders.end(), orders.size() - elem_idx) * multiplier;
}
}
theme.reset(new Theme(global_flags.theme_filename, global_flags.theme_dirs, resource_pool.get(), num_cards));
// Start listening for clients only once VideoEncoder has written its header, if any.
- httpd.start(9095);
+ httpd.start(global_flags.http_port);
// First try initializing the then PCI devices, then USB, then
// fill up with fake cards until we have the desired number of cards.
live_frame.ready_fence = fence;
live_frame.input_frames = {};
live_frame.temp_textures = { y_display_tex, cbcr_display_tex };
- output_channel[OUTPUT_LIVE].output_frame(live_frame);
+ output_channel[OUTPUT_LIVE].output_frame(move(live_frame));
// Set up preview and any additional channels.
for (int i = 1; i < theme->get_num_channels() + 2; ++i) {
DisplayFrame display_frame;
Theme::Chain chain = theme->get_chain(i, pts(), global_flags.width, global_flags.height, input_state); // FIXME: dimensions
- display_frame.chain = chain.chain;
- display_frame.setup_chain = chain.setup_chain;
+ display_frame.chain = move(chain.chain);
+ display_frame.setup_chain = move(chain.setup_chain);
display_frame.ready_fence = fence;
- display_frame.input_frames = chain.input_frames;
+ display_frame.input_frames = move(chain.input_frames);
display_frame.temp_textures = {};
- output_channel[i].output_frame(display_frame);
+ output_channel[i].output_frame(move(display_frame));
}
}
}
}
-void Mixer::OutputChannel::output_frame(DisplayFrame frame)
+void Mixer::OutputChannel::output_frame(DisplayFrame &&frame)
{
// Store this frame for display. Remove the ready frame if any
// (it was seemingly never used).
if (has_ready_frame) {
parent->release_display_frame(&ready_frame);
}
- ready_frame = frame;
+ ready_frame = move(frame);
has_ready_frame = true;
// Call the callbacks under the mutex (they should be short),
}
if (has_ready_frame) {
assert(!has_current_frame);
- current_frame = ready_frame;
+ current_frame = move(ready_frame);
ready_frame.ready_fence.reset(); // Drop the refcount.
ready_frame.input_frames.clear(); // Drop the refcounts.
has_current_frame = true;