+ // TODO: Can the API communicate this to us somehow, for e.g. Thunderbolt cards?
+ bool get_disconnected() const override { return false; }
+
+ std::map<uint32_t, bmusb::VideoMode> get_available_video_modes() const override { return video_modes; }
+ void set_video_mode(uint32_t video_mode_id) override;
+ uint32_t get_current_video_mode() const override { return current_video_mode; }
+
+ std::set<bmusb::PixelFormat> get_available_pixel_formats() const override {
+ return std::set<bmusb::PixelFormat>{ bmusb::PixelFormat_8BitYCbCr, bmusb::PixelFormat_10BitYCbCr };
+ }
+ void set_pixel_format(bmusb::PixelFormat pixel_format) override;
+ bmusb::PixelFormat get_current_pixel_format() const override {
+ return current_pixel_format;
+ }
+
+ std::map<uint32_t, std::string> get_available_video_inputs() const override { return video_inputs; }
+ void set_video_input(uint32_t video_input_id) override;
+ uint32_t get_current_video_input() const override { return current_video_input; }
+
+ std::map<uint32_t, std::string> get_available_audio_inputs() const override { return audio_inputs; }
+ void set_audio_input(uint32_t audio_input_id) override;
+ uint32_t get_current_audio_input() const override { return current_audio_input; }
+