Index: webrtc/api/rtpparameters.h |
diff --git a/webrtc/api/rtpparameters.h b/webrtc/api/rtpparameters.h |
index f506c4031c3eacf6e923f3cea67d6f2f9586c4ee..d35615b4b504da00c483660a60d175cb6a9bb354 100644 |
--- a/webrtc/api/rtpparameters.h |
+++ b/webrtc/api/rtpparameters.h |
@@ -84,6 +84,12 @@ struct RtcpFeedback { |
// rather than an unset "parameter" value. |
rtc::Optional<RtcpFeedbackMessageType> message_type; |
+ // Constructors for convenience. |
+ RtcpFeedback() {} |
+ explicit RtcpFeedback(RtcpFeedbackType type) : type(type) {} |
+ RtcpFeedback(RtcpFeedbackType type, RtcpFeedbackMessageType message_type) |
+ : type(type), message_type(message_type) {} |
+ |
bool operator==(const RtcpFeedback& o) const { |
return type == o.type && message_type == o.message_type; |
} |
@@ -184,6 +190,12 @@ struct RtpHeaderExtensionCapability { |
// TODO(deadbeef): Not implemented. |
bool preferred_encrypt = false; |
+ // Constructors for convenience. |
+ RtpHeaderExtensionCapability() {} |
+ explicit RtpHeaderExtensionCapability(const std::string& uri) : uri(uri) {} |
+ RtpHeaderExtensionCapability(const std::string& uri, int preferred_id) |
+ : uri(uri), preferred_id(preferred_id) {} |
+ |
bool operator==(const RtpHeaderExtensionCapability& o) const { |
return uri == o.uri && preferred_id == o.preferred_id && |
preferred_encrypt == o.preferred_encrypt; |
@@ -216,6 +228,7 @@ struct RtpHeaderExtensionParameters { |
struct RtpFecParameters { |
// If unset, a value is chosen by the implementation. |
+ // Works just like RtpEncodingParameters.ssrc. |
rtc::Optional<uint32_t> ssrc; |
FecMechanism mechanism = FecMechanism::RED; |
@@ -228,6 +241,7 @@ struct RtpFecParameters { |
struct RtpRtxParameters { |
// If unset, a value is chosen by the implementation. |
+ // Works just like RtpEncodingParameters.ssrc. |
rtc::Optional<uint32_t> ssrc; |
bool operator==(const RtpRtxParameters& o) const { return ssrc == o.ssrc; } |
@@ -236,6 +250,9 @@ struct RtpRtxParameters { |
struct RtpEncodingParameters { |
// If unset, a value is chosen by the implementation. |
+ // Note that the chosen value is NOT returned by GetParameters, because it |
+ // may change due to an SSRC conflict, in which case the conflict is handled |
+ // internally without any event. |
rtc::Optional<uint32_t> ssrc; |
// Can be used to reference a codec in the |codecs| member of the |
@@ -249,12 +266,13 @@ struct RtpEncodingParameters { |
rtc::Optional<RtpFecParameters> fec; |
// Specifies the RTX parameters, if set. |
- // TODO(deadbeef): Not implemented. |
+ // TODO(deadbeef): Not implemented with PeerConnection senders/receivers. |
rtc::Optional<RtpRtxParameters> rtx; |
// Only used for audio. If set, determines whether or not discontinuous |
// transmission will be used, if an available codec supports it. If not |
// set, the implementation default setting will be used. |
+ // TODO(deadbeef): Not implemented. |
rtc::Optional<DtxStatus> dtx; |
// The relative priority of this encoding. |
@@ -397,7 +415,7 @@ struct RtpParameters { |
std::vector<RtpCodecParameters> codecs; |
- // TODO(deadbeef): Not implemented. |
+ // TODO(deadbeef): Not implemented with PeerConnection senders/receivers. |
std::vector<RtpHeaderExtensionParameters> header_extensions; |
std::vector<RtpEncodingParameters> encodings; |