48 VideoDevice(
const std::string& path,
const std::vector<std::map<std::string, std::string>>&
devInfo);
79 for (
const auto& size : getSizeList(
chan)) {
80 std::string
sz = fmt::format(
"{}x{}", size.first, size.second);
84 return jami::to_string(r.real());
100 if (channels.empty())
108 for (
auto& s :
sizes) {
162 params.width = size.first;
163 params.height = size.second;
177 std::vector<VideoSize> getSizeList(
const std::string& channel)
const;
178 std::vector<FrameRate> getRateList(
const std::string& channel,
VideoSize size)
const;
180 VideoSize sizeFromString(
const std::string& channel,
const std::string& size)
const
184 if (sizeToString(s.first, s.second) == size)
190 std::string sizeToString(
unsigned w,
unsigned h)
const {
return fmt::format(
"{}x{}", w, h); }
204 double closest_dist = std::numeric_limits<double>::max();
205 auto rate_list = getRateList(channel, size);
216 void setDeviceParams(
const DeviceParams&);
223 int orientation_ {0};
232 std::shared_ptr<VideoDeviceImpl> deviceImpl_;
VideoSettings getSettings() const
const std::string & getDeviceId() const
std::vector< std::string > getChannelList() const
void applySettings(const VideoSettings &settings)
VideoSettings getDefaultSettings() const
libjami::VideoCapabilities getCapabilities() const
DeviceParams getDeviceParams() const
Returns the parameters needed for actual use of the device.
void setOrientation(int orientation)
#define JAMI_WARNING(formatstr,...)
static constexpr const char DEVICE_DESKTOP[]
std::pair< unsigned, unsigned > VideoSize
rational< double > FrameRate
void emitSignal(Args... args)
std::string to_string(double value)
std::map< std::string, std::map< std::string, std::vector< std::string > > > VideoCapabilities
DeviceParams Parameters used by MediaDecoder and MediaEncoder to open a LibAV device/stream.