18#ifndef VIDEO_DEVICE_MONITOR_H__
19#define VIDEO_DEVICE_MONITOR_H__
38class VideoDeviceMonitorImpl;
58 const std::vector<std::map<std::string, std::string>>&
devInfo = {});
76 mutable std::mutex lock_;
81 std::vector<VideoSettings> preferences_;
84 std::vector<VideoSettings>::iterator findPreferencesById(
const std::string&
id);
89 std::vector<VideoDevice> devices_;
90 std::string defaultDevice_ =
"";
92 std::vector<VideoDevice>::iterator findDeviceById(
const std::string&
id);
93 std::vector<VideoDevice>::const_iterator findDeviceById(
const std::string&
id)
const;
95 std::unique_ptr<VideoDeviceMonitorImpl> monitorImpl_;
97 constexpr static const char* CONFIG_LABEL =
"video";
bool addDevice(const std::string &node, const std::vector< std::map< std::string, std::string > > &devInfo={})
bool setDefaultDevice(const std::string &name)
libjami::VideoCapabilities getCapabilities(const std::string &name) const
std::string getDefaultDevice() const
DeviceParams getDeviceParams(const std::string &name) const
Params for libav.
void applySettings(const std::string &name, const VideoSettings &settings)
void removeDeviceViaInput(const std::string &path)
VideoSettings getSettings(const std::string &name)
void setDeviceOrientation(const std::string &id, int angle)
virtual void unserialize(const YAML::Node &in) override
std::vector< std::string > getDeviceList() const
void removeDevice(const std::string &node)
std::string getMRLForDefaultDevice() const
void serialize(YAML::Emitter &out) const override
void emitSignal(Args... args)
std::map< std::string, std::map< std::string, std::vector< std::string > > > VideoCapabilities
Simple macro to hide class' copy constructor and assignment operator.
#define NON_COPYABLE(ClassName)
DeviceParams Parameters used by MediaDecoder and MediaEncoder to open a LibAV device/stream.