Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(106)

Side by Side Diff: webrtc/modules/rtp_rtcp/source/rtp_packet.cc

Issue 3012983002: Remove RtpPacketToSend::GetHeader as almost unused. (Closed)
Patch Set: -forward declare of RTPHeader Created 3 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/rtp_packet.h" 11 #include "webrtc/modules/rtp_rtcp/source/rtp_packet.h"
12 12
13 #include <cstring> 13 #include <cstring>
14 #include <utility> 14 #include <utility>
15 15
16 #include "webrtc/common_types.h" 16 #include "webrtc/common_types.h"
17 #include "webrtc/modules/rtp_rtcp/include/rtp_header_extension_map.h" 17 #include "webrtc/modules/rtp_rtcp/include/rtp_header_extension_map.h"
18 #include "webrtc/modules/rtp_rtcp/source/byte_io.h" 18 #include "webrtc/modules/rtp_rtcp/source/byte_io.h"
19 #include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
20 #include "webrtc/rtc_base/checks.h" 19 #include "webrtc/rtc_base/checks.h"
21 #include "webrtc/rtc_base/logging.h" 20 #include "webrtc/rtc_base/logging.h"
22 #include "webrtc/rtc_base/random.h" 21 #include "webrtc/rtc_base/random.h"
23 22
24 namespace webrtc { 23 namespace webrtc {
25 namespace rtp { 24 namespace rtp {
26 namespace { 25 namespace {
27 constexpr size_t kFixedHeaderSize = 12; 26 constexpr size_t kFixedHeaderSize = 12;
28 constexpr uint8_t kRtpVersion = 2; 27 constexpr uint8_t kRtpVersion = 2;
29 constexpr uint16_t kOneByteExtensionId = 0xBEDE; 28 constexpr uint16_t kOneByteExtensionId = 0xBEDE;
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 size_t num_csrc = data()[0] & 0x0F; 137 size_t num_csrc = data()[0] & 0x0F;
139 RTC_DCHECK_GE(capacity(), kFixedHeaderSize + num_csrc * 4); 138 RTC_DCHECK_GE(capacity(), kFixedHeaderSize + num_csrc * 4);
140 std::vector<uint32_t> csrcs(num_csrc); 139 std::vector<uint32_t> csrcs(num_csrc);
141 for (size_t i = 0; i < num_csrc; ++i) { 140 for (size_t i = 0; i < num_csrc; ++i) {
142 csrcs[i] = 141 csrcs[i] =
143 ByteReader<uint32_t>::ReadBigEndian(&data()[kFixedHeaderSize + i * 4]); 142 ByteReader<uint32_t>::ReadBigEndian(&data()[kFixedHeaderSize + i * 4]);
144 } 143 }
145 return csrcs; 144 return csrcs;
146 } 145 }
147 146
148 void Packet::GetHeader(RTPHeader* header) const {
149 header->markerBit = Marker();
150 header->payloadType = PayloadType();
151 header->sequenceNumber = SequenceNumber();
152 header->timestamp = Timestamp();
153 header->ssrc = Ssrc();
154 std::vector<uint32_t> csrcs = Csrcs();
155 header->numCSRCs = csrcs.size();
156 for (size_t i = 0; i < csrcs.size(); ++i) {
157 header->arrOfCSRCs[i] = csrcs[i];
158 }
159 header->paddingLength = padding_size();
160 header->headerLength = headers_size();
161 header->payload_type_frequency = 0;
162 header->extension.hasTransmissionTimeOffset =
163 GetExtension<TransmissionOffset>(
164 &header->extension.transmissionTimeOffset);
165 header->extension.hasAbsoluteSendTime =
166 GetExtension<AbsoluteSendTime>(&header->extension.absoluteSendTime);
167 header->extension.hasTransportSequenceNumber =
168 GetExtension<TransportSequenceNumber>(
169 &header->extension.transportSequenceNumber);
170 header->extension.hasAudioLevel = GetExtension<AudioLevel>(
171 &header->extension.voiceActivity, &header->extension.audioLevel);
172 header->extension.hasVideoRotation =
173 GetExtension<VideoOrientation>(&header->extension.videoRotation);
174 header->extension.hasVideoContentType =
175 GetExtension<VideoContentTypeExtension>(
176 &header->extension.videoContentType);
177 header->extension.has_video_timing =
178 GetExtension<VideoTimingExtension>(&header->extension.video_timing);
179 GetExtension<RtpStreamId>(&header->extension.stream_id);
180 GetExtension<RepairedRtpStreamId>(&header->extension.repaired_stream_id);
181 GetExtension<RtpMid>(&header->extension.mid);
182 GetExtension<PlayoutDelayLimits>(&header->extension.playout_delay);
183 }
184
185 size_t Packet::headers_size() const { 147 size_t Packet::headers_size() const {
186 return payload_offset_; 148 return payload_offset_;
187 } 149 }
188 150
189 size_t Packet::payload_size() const { 151 size_t Packet::payload_size() const {
190 return payload_size_; 152 return payload_size_;
191 } 153 }
192 154
193 size_t Packet::padding_size() const { 155 size_t Packet::padding_size() const {
194 return padding_size_; 156 return padding_size_;
(...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 uint8_t* Packet::WriteAt(size_t offset) { 540 uint8_t* Packet::WriteAt(size_t offset) {
579 return buffer_.data() + offset; 541 return buffer_.data() + offset;
580 } 542 }
581 543
582 void Packet::WriteAt(size_t offset, uint8_t byte) { 544 void Packet::WriteAt(size_t offset, uint8_t byte) {
583 buffer_.data()[offset] = byte; 545 buffer_.data()[offset] = byte;
584 } 546 }
585 547
586 } // namespace rtp 548 } // namespace rtp
587 } // namespace webrtc 549 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/modules/rtp_rtcp/source/rtp_packet.h ('k') | webrtc/modules/rtp_rtcp/source/rtp_packet_received.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698