Chromium Code Reviews| 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. |
|
pthatcher1
2017/02/08 01:33:49
I don't see why we couldn't return it in GetParame
Taylor Brandstetter
2017/02/10 00:19:45
Yeah. You wouldn't want to do "Set" with an option
|
| 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; |