]> git.sesse.net Git - nageru/blobdiff - input_mapping.h
Support audio-only FFmpeg inputs. Somewhat wonky, though.
[nageru] / input_mapping.h
index a1e90eb483e245b049dc6b2cb3c13c643b56273a..67af0f489ee3aaf465b8c6c32aa554796c788cf1 100644 (file)
@@ -2,10 +2,11 @@
 #define _INPUT_MAPPING_H 1
 
 #include <stdint.h>
+#include <map>
 #include <string>
 #include <vector>
 
-enum class InputSourceType { SILENCE, CAPTURE_CARD, ALSA_INPUT };
+enum class InputSourceType { SILENCE, CAPTURE_CARD, ALSA_INPUT, FFMPEG_VIDEO_INPUT };
 struct DeviceSpec {
        InputSourceType type;
        unsigned index;
@@ -46,4 +47,15 @@ struct InputMapping {
        std::vector<Bus> buses;
 };
 
+// This is perhaps not the most user-friendly output, but it's at least better
+// than the raw index.
+std::string spec_to_string(DeviceSpec device_spec);
+
+bool save_input_mapping_to_file(const std::map<DeviceSpec, DeviceInfo> &devices,
+                                const InputMapping &mapping,
+                                const std::string &filename);
+bool load_input_mapping_from_file(const std::map<DeviceSpec, DeviceInfo> &devices,
+                                  const std::string &filename,
+                                  InputMapping *mapping);
+
 #endif  // !defined(_INPUT_MAPPING_H)