50 const std::vector<std::map<std::string, std::string>>&
devInfo);
81 for (
const auto& size : getSizeList(
chan)) {
82 std::string
sz = fmt::format(
"{}x{}", size.first, size.second);
86 return jami::to_string(r.real());
102 if (channels.empty())
110 for (
auto& s :
sizes) {
128 JAMI_WARN(
"Default video settings: %s, %s FPS",
167 params.width = size.first;
168 params.height = size.second;
182 std::vector<VideoSize> getSizeList(
const std::string& channel)
const;
183 std::vector<FrameRate> getRateList(
const std::string& channel,
VideoSize size)
const;
185 VideoSize sizeFromString(
const std::string& channel,
const std::string& size)
const
189 if (sizeToString(s.first, s.second) == size)
195 std::string sizeToString(
unsigned w,
unsigned h)
const
197 return fmt::format(
"{}x{}", w, h);
200 FrameRate rateFromString(
const std::string& channel,
202 const std::string&
rate)
const
214 double closest_dist = std::numeric_limits<double>::max();
215 auto rate_list = getRateList(channel, size);
226 void setDeviceParams(
const DeviceParams&);
233 int orientation_ {0};
242 std::shared_ptr<VideoDeviceImpl> deviceImpl_;
VideoSettings getSettings() const
const std::string & getDeviceId() const
std::vector< std::string > getChannelList() const
VideoSettings getDefaultSettings() const
libjami::VideoCapabilities getCapabilities() const
void applySettings(VideoSettings settings)
DeviceParams getDeviceParams() const
Returns the parameters needed for actual use of the device.
void setOrientation(int orientation)
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.