return false;
}
-vector<VideoMode> BMUSBCapture::get_available_video_modes() const
+map<uint32_t, VideoMode> BMUSBCapture::get_available_video_modes() const
{
// The USB3 cards autodetect, and seem to have no provision for forcing modes.
VideoMode auto_mode;
- auto_mode.id = 0;
auto_mode.name = "Autodetect";
auto_mode.autodetect = true;
- return { auto_mode };
+ return {{ 0, auto_mode }};
}
void BMUSBCapture::set_video_mode(uint32_t video_mode_id)
#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 void set_video_mode(uint32_t video_mode_id) = 0;
~BMUSBCapture() {}
- std::vector<VideoMode> get_available_video_modes() const override;
+ std::map<uint32_t, VideoMode> get_available_video_modes() const override;
void set_video_mode(uint32_t video_mode_id) override;