123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- #ifndef SDK_MEDIA_CONSTRAINTS_H_
- #define SDK_MEDIA_CONSTRAINTS_H_
- #include <stddef.h>
- #include <string>
- #include <utility>
- #include <vector>
- #include "api/audio_options.h"
- #include "api/peer_connection_interface.h"
- namespace webrtc {
- class MediaConstraints {
- public:
- struct Constraint {
- Constraint() {}
- Constraint(const std::string& key, const std::string value)
- : key(key), value(value) {}
- std::string key;
- std::string value;
- };
- class Constraints : public std::vector<Constraint> {
- public:
- Constraints() = default;
- Constraints(std::initializer_list<Constraint> l)
- : std::vector<Constraint>(l) {}
- bool FindFirst(const std::string& key, std::string* value) const;
- };
- MediaConstraints() = default;
- MediaConstraints(Constraints mandatory, Constraints optional)
- : mandatory_(std::move(mandatory)), optional_(std::move(optional)) {}
-
-
- static const char kGoogEchoCancellation[];
- static const char kAutoGainControl[];
- static const char kExperimentalAutoGainControl[];
- static const char kNoiseSuppression[];
- static const char kExperimentalNoiseSuppression[];
- static const char kHighpassFilter[];
- static const char kTypingNoiseDetection[];
- static const char kAudioMirroring[];
- static const char
- kAudioNetworkAdaptorConfig[];
-
-
- static const char kOfferToReceiveVideo[];
- static const char kOfferToReceiveAudio[];
- static const char kVoiceActivityDetection[];
- static const char kIceRestart[];
-
- static const char kUseRtpMux[];
-
- static const char kValueTrue[];
- static const char kValueFalse[];
-
-
- static const char kEnableDtlsSrtp[];
-
- static const char kEnableRtpDataChannels[];
-
-
- static const char kEnableDscp[];
-
- static const char kEnableIPv6[];
-
- static const char kEnableVideoSuspendBelowMinBitrate[];
-
-
- static const char kCombinedAudioVideoBwe[];
- static const char kScreencastMinBitrate[];
- static const char kCpuOveruseDetection[];
-
-
- static const char kRawPacketizationForVideoEnabled[];
-
-
-
- static const char kNumSimulcastLayers[];
- ~MediaConstraints() = default;
- const Constraints& GetMandatory() const { return mandatory_; }
- const Constraints& GetOptional() const { return optional_; }
- private:
- const Constraints mandatory_ = {};
- const Constraints optional_ = {};
- };
- void CopyConstraintsIntoRtcConfiguration(
- const MediaConstraints* constraints,
- PeerConnectionInterface::RTCConfiguration* configuration);
- void CopyConstraintsIntoAudioOptions(const MediaConstraints* constraints,
- cricket::AudioOptions* options);
- bool CopyConstraintsIntoOfferAnswerOptions(
- const MediaConstraints* constraints,
- PeerConnectionInterface::RTCOfferAnswerOptions* offer_answer_options);
- }
- #endif
|