OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
131 | 131 |
132 // RTP header extensions to use for this send stream. | 132 // RTP header extensions to use for this send stream. |
133 std::vector<RtpExtension> extensions; | 133 std::vector<RtpExtension> extensions; |
134 | 134 |
135 // See NackConfig for description. | 135 // See NackConfig for description. |
136 NackConfig nack; | 136 NackConfig nack; |
137 | 137 |
138 // See UlpfecConfig for description. | 138 // See UlpfecConfig for description. |
139 UlpfecConfig ulpfec; | 139 UlpfecConfig ulpfec; |
140 | 140 |
141 // See FlexfecConfig for description. | 141 struct Flexfec { |
142 // TODO(brandtr): Move this config to a new class FlexfecSendStream | 142 // Payload type of FlexFEC. Set to -1 to disable sending FlexFEC. |
143 // when we support multistream protection. | 143 int payload_type = -1; |
144 FlexfecConfig flexfec; | 144 |
| 145 // SSRC of FlexFEC stream. |
| 146 uint32_t ssrc = 0; |
| 147 |
| 148 // Vector containing a single element, corresponding to the SSRC of the |
| 149 // media stream being protected by this FlexFEC stream. |
| 150 // The vector MUST have size 1. |
| 151 // |
| 152 // TODO(brandtr): Update comment above when we support |
| 153 // multistream protection. |
| 154 std::vector<uint32_t> protected_media_ssrcs; |
| 155 } flexfec; |
145 | 156 |
146 // Settings for RTP retransmission payload format, see RFC 4588 for | 157 // Settings for RTP retransmission payload format, see RFC 4588 for |
147 // details. | 158 // details. |
148 struct Rtx { | 159 struct Rtx { |
149 std::string ToString() const; | 160 std::string ToString() const; |
150 // SSRCs to use for the RTX streams. | 161 // SSRCs to use for the RTX streams. |
151 std::vector<uint32_t> ssrcs; | 162 std::vector<uint32_t> ssrcs; |
152 | 163 |
153 // Payload type to use for the RTX stream. | 164 // Payload type to use for the RTX stream. |
154 int payload_type = -1; | 165 int payload_type = -1; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
236 EnableEncodedFrameRecording(std::vector<rtc::PlatformFile>(), 0); | 247 EnableEncodedFrameRecording(std::vector<rtc::PlatformFile>(), 0); |
237 } | 248 } |
238 | 249 |
239 protected: | 250 protected: |
240 virtual ~VideoSendStream() {} | 251 virtual ~VideoSendStream() {} |
241 }; | 252 }; |
242 | 253 |
243 } // namespace webrtc | 254 } // namespace webrtc |
244 | 255 |
245 #endif // WEBRTC_VIDEO_SEND_STREAM_H_ | 256 #endif // WEBRTC_VIDEO_SEND_STREAM_H_ |
OLD | NEW |