#include <condition_variable>
#include <deque>
#include <functional>
+#include <map>
#include <mutex>
#include <stack>
#include <string>
// Represents an input mode you can tune a card to.
struct VideoMode {
- uint32_t id = 0;
std::string name;
bool autodetect = false; // If true, all the remaining fields are irrelevant.
unsigned width = 0, height = 0;
public:
virtual ~CaptureInterface() {}
- virtual std::vector<VideoMode> get_available_video_modes() const = 0;
-
+ virtual std::map<uint32_t, VideoMode> get_available_video_modes() const = 0;
+ virtual uint32_t get_current_video_mode() const = 0;
virtual void set_video_mode(uint32_t video_mode_id) = 0;
// Does not take ownership.
~BMUSBCapture() {}
- std::vector<VideoMode> get_available_video_modes() const override;
-
+ std::map<uint32_t, VideoMode> get_available_video_modes() const override;
+ uint32_t get_current_video_mode() const override;
void set_video_mode(uint32_t video_mode_id) override;
// Does not take ownership.