BMUSBCapture::stop_bm_thread();
for (unsigned card_index = 0; card_index < num_cards + num_video_inputs + num_html_inputs; ++card_index) {
- {
- unique_lock<mutex> lock(card_mutex);
- cards[card_index].should_quit = true; // Unblock thread.
- cards[card_index].new_frames_changed.notify_all();
- }
cards[card_index].capture->stop_dequeue_thread();
if (cards[card_index].output) {
cards[card_index].output->end_output();
std::chrono::steady_clock::time_point received_timestamp = std::chrono::steady_clock::time_point::min();
};
std::deque<NewFrame> new_frames;
- bool should_quit = false;
- std::condition_variable new_frames_changed; // Set whenever new_frames (or should_quit) is changed.
+ std::condition_variable new_frames_changed; // Set whenever new_frames is changed.
QueueLengthPolicy queue_length_policy; // Refers to the "new_frames" queue.