OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2016 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 |
11 #include "webrtc/modules/rtp_rtcp/source/ulpfec_header_reader_writer.h" | 11 #include "webrtc/modules/rtp_rtcp/source/ulpfec_header_reader_writer.h" |
12 | 12 |
13 #include <utility> | 13 #include <utility> |
14 | 14 |
| 15 #include "webrtc/base/checks.h" |
15 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" | 16 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" |
16 #include "webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h" | 17 #include "webrtc/modules/rtp_rtcp/source/forward_error_correction_internal.h" |
17 #include "webrtc/rtc_base/checks.h" | |
18 | 18 |
19 namespace webrtc { | 19 namespace webrtc { |
20 | 20 |
21 namespace { | 21 namespace { |
22 | 22 |
23 // Maximum number of media packets that can be protected in one batch. | 23 // Maximum number of media packets that can be protected in one batch. |
24 constexpr size_t kMaxMediaPackets = 48; | 24 constexpr size_t kMaxMediaPackets = 48; |
25 | 25 |
26 // Maximum number of FEC packets stored inside ForwardErrorCorrection. | 26 // Maximum number of FEC packets stored inside ForwardErrorCorrection. |
27 constexpr size_t kMaxFecPackets = kMaxMediaPackets; | 27 constexpr size_t kMaxFecPackets = kMaxMediaPackets; |
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
122 // Protection length is set to entire packet. (This is not | 122 // Protection length is set to entire packet. (This is not |
123 // required in general.) | 123 // required in general.) |
124 const size_t fec_header_size = FecHeaderSize(packet_mask_size); | 124 const size_t fec_header_size = FecHeaderSize(packet_mask_size); |
125 ByteWriter<uint16_t>::WriteBigEndian(&fec_packet->data[10], | 125 ByteWriter<uint16_t>::WriteBigEndian(&fec_packet->data[10], |
126 fec_packet->length - fec_header_size); | 126 fec_packet->length - fec_header_size); |
127 // Copy the packet mask. | 127 // Copy the packet mask. |
128 memcpy(&fec_packet->data[12], packet_mask, packet_mask_size); | 128 memcpy(&fec_packet->data[12], packet_mask, packet_mask_size); |
129 } | 129 } |
130 | 130 |
131 } // namespace webrtc | 131 } // namespace webrtc |
OLD | NEW |