]> git.sesse.net Git - bmusb/commitdiff
Tweak get_available_video_modes() interface.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Fri, 4 Mar 2016 00:23:56 +0000 (01:23 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Fri, 4 Mar 2016 00:23:56 +0000 (01:23 +0100)
bmusb.cpp
bmusb.h

index 1eeedce846e57530939731d2f5ca4ca41b6620a8..b400ac732ce8ae02a788aef8161695085e4a9bf0 100644 (file)
--- a/bmusb.cpp
+++ b/bmusb.cpp
@@ -1231,14 +1231,13 @@ bool decode_video_format(uint16_t video_format, VideoFormat *decoded_video_forma
        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)
diff --git a/bmusb.h b/bmusb.h
index 8178ac0ba3e992fd1a6cb350143c9b9cb57ca12f..e905e05afc82496abca75a5ef22083826f805125 100644 (file)
--- a/bmusb.h
+++ b/bmusb.h
@@ -6,6 +6,7 @@
 #include <condition_variable>
 #include <deque>
 #include <functional>
+#include <map>
 #include <mutex>
 #include <stack>
 #include <string>
@@ -80,7 +81,6 @@ private:
 
 // 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;
@@ -113,7 +113,7 @@ class CaptureInterface {
  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;
 
@@ -152,7 +152,7 @@ class BMUSBCapture : public CaptureInterface {
 
        ~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;