void start_bm_capture() override;
void stop_dequeue_thread() override;
bool get_disconnected() const override { return disconnected; } // Only if play_once == true.
void start_bm_capture() override;
void stop_dequeue_thread() override;
bool get_disconnected() const override { return disconnected; } // Only if play_once == true.
std::map<uint32_t, bmusb::VideoMode> get_available_video_modes() const override;
void set_video_mode(uint32_t video_mode_id) override {} // Ignore.
std::map<uint32_t, bmusb::VideoMode> get_available_video_modes() const override;
void set_video_mode(uint32_t video_mode_id) override {} // Ignore.
mutable std::mutex filename_mu;
std::string description, filename;
int srt_sock = -1;
uint16_t timecode = 0;
mutable std::mutex filename_mu;
std::string description, filename;
int srt_sock = -1;
uint16_t timecode = 0;
bmusb::PixelFormat pixel_format = bmusb::PixelFormat_8BitBGRA;
movit::YCbCrFormat current_frame_ycbcr_format;
bool running = false;
bmusb::PixelFormat pixel_format = bmusb::PixelFormat_8BitBGRA;
movit::YCbCrFormat current_frame_ycbcr_format;
bool running = false;