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

Side by Side Diff: media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.cc

Issue 143263024: Cast: Refactoring RtpReceiver to Clang format (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Responding to review Created 6 years, 10 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.h" 5 #include "media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "net/base/big_endian.h" 8 #include "net/base/big_endian.h"
9 9
10 namespace media { 10 namespace media {
11 namespace cast { 11 namespace cast {
12 12
13 const uint32 kCastRtpHeaderLength = 7; 13 const uint32 kCastRtpHeaderLength = 7;
14 const uint32 kGenericRtpHeaderLength = 12; 14 const uint32 kGenericRtpHeaderLength = 12;
15 static const uint8 kRtpMarkerBitMask = 0x80; 15 static const uint8 kRtpMarkerBitMask = 0x80;
16 16
17 RtpPacketBuilder::RtpPacketBuilder() 17 RtpPacketBuilder::RtpPacketBuilder()
18 : is_key_(false), 18 : is_key_(false),
19 frame_id_(0), 19 frame_id_(0),
20 packet_id_(0), 20 packet_id_(0),
21 max_packet_id_(0), 21 max_packet_id_(0),
22 reference_frame_id_(0), 22 reference_frame_id_(0),
23 is_reference_set_(false), 23 is_reference_set_(false),
24 timestamp_(0), 24 timestamp_(0),
25 sequence_number_(0), 25 sequence_number_(0),
26 marker_(false), 26 marker_(false),
27 payload_type_(0), 27 payload_type_(0),
28 ssrc_(0) {} 28 ssrc_(0) {}
29 29
30 void RtpPacketBuilder::SetKeyFrame(bool is_key) { 30 void RtpPacketBuilder::SetKeyFrame(bool is_key) { is_key_ = is_key; }
31 is_key_ = is_key;
32 }
33 31
34 void RtpPacketBuilder::SetFrameId(uint32 frame_id) { 32 void RtpPacketBuilder::SetFrameId(uint32 frame_id) { frame_id_ = frame_id; }
35 frame_id_ = frame_id;
36 }
37 33
38 void RtpPacketBuilder::SetPacketId(uint16 packet_id) { 34 void RtpPacketBuilder::SetPacketId(uint16 packet_id) { packet_id_ = packet_id; }
39 packet_id_ = packet_id;
40 }
41 35
42 void RtpPacketBuilder::SetMaxPacketId(uint16 max_packet_id) { 36 void RtpPacketBuilder::SetMaxPacketId(uint16 max_packet_id) {
43 max_packet_id_ = max_packet_id; 37 max_packet_id_ = max_packet_id;
44 } 38 }
45 39
46 void RtpPacketBuilder::SetReferenceFrameId(uint32 reference_frame_id, 40 void RtpPacketBuilder::SetReferenceFrameId(uint32 reference_frame_id,
47 bool is_set) { 41 bool is_set) {
48 is_reference_set_ = is_set; 42 is_reference_set_ = is_set;
49 if (is_set) 43 if (is_set)
50 reference_frame_id_ = reference_frame_id; 44 reference_frame_id_ = reference_frame_id;
51 } 45 }
52 void RtpPacketBuilder::SetTimestamp(uint32 timestamp) { 46 void RtpPacketBuilder::SetTimestamp(uint32 timestamp) {
53 timestamp_ = timestamp; 47 timestamp_ = timestamp;
54 } 48 }
55 49
56 void RtpPacketBuilder::SetSequenceNumber(uint16 sequence_number) { 50 void RtpPacketBuilder::SetSequenceNumber(uint16 sequence_number) {
57 sequence_number_ = sequence_number; 51 sequence_number_ = sequence_number;
58 } 52 }
59 53
60 void RtpPacketBuilder::SetMarkerBit(bool marker) { 54 void RtpPacketBuilder::SetMarkerBit(bool marker) { marker_ = marker; }
61 marker_ = marker;
62 }
63 55
64 void RtpPacketBuilder::SetPayloadType(int payload_type) { 56 void RtpPacketBuilder::SetPayloadType(int payload_type) {
65 payload_type_ = payload_type; 57 payload_type_ = payload_type;
66 } 58 }
67 59
68 void RtpPacketBuilder::SetSsrc(uint32 ssrc) { 60 void RtpPacketBuilder::SetSsrc(uint32 ssrc) { ssrc_ = ssrc; }
69 ssrc_ = ssrc;
70 }
71 61
72 void RtpPacketBuilder::BuildHeader(uint8* data, uint32 data_length) { 62 void RtpPacketBuilder::BuildHeader(uint8* data, uint32 data_length) {
73 BuildCommonHeader(data, data_length); 63 BuildCommonHeader(data, data_length);
74 BuildCastHeader(data + kGenericRtpHeaderLength, 64 BuildCastHeader(data + kGenericRtpHeaderLength,
75 data_length - kGenericRtpHeaderLength); 65 data_length - kGenericRtpHeaderLength);
76 } 66 }
77 67
78 void RtpPacketBuilder::BuildCastHeader(uint8* data, uint32 data_length) { 68 void RtpPacketBuilder::BuildCastHeader(uint8* data, uint32 data_length) {
79 // Build header. 69 // Build header.
80 DCHECK_LE(kCastRtpHeaderLength, data_length); 70 DCHECK_LE(kCastRtpHeaderLength, data_length);
81 // Set the first 7 bytes to 0. 71 // Set the first 7 bytes to 0.
82 memset(data, 0, kCastRtpHeaderLength); 72 memset(data, 0, kCastRtpHeaderLength);
83 net::BigEndianWriter big_endian_writer(data, 56); 73 net::BigEndianWriter big_endian_writer(data, 56);
84 big_endian_writer.WriteU8( 74 big_endian_writer.WriteU8((is_key_ ? 0x80 : 0) |
85 (is_key_ ? 0x80 : 0) | (is_reference_set_ ? 0x40 : 0)); 75 (is_reference_set_ ? 0x40 : 0));
86 big_endian_writer.WriteU8(frame_id_); 76 big_endian_writer.WriteU8(frame_id_);
87 big_endian_writer.WriteU16(packet_id_); 77 big_endian_writer.WriteU16(packet_id_);
88 big_endian_writer.WriteU16(max_packet_id_); 78 big_endian_writer.WriteU16(max_packet_id_);
89 if (is_reference_set_) { 79 if (is_reference_set_) {
90 big_endian_writer.WriteU8(reference_frame_id_); 80 big_endian_writer.WriteU8(reference_frame_id_);
91 } 81 }
92 } 82 }
93 83
94 void RtpPacketBuilder::BuildCommonHeader(uint8* data, uint32 data_length) { 84 void RtpPacketBuilder::BuildCommonHeader(uint8* data, uint32 data_length) {
95 DCHECK_LE(kGenericRtpHeaderLength, data_length); 85 DCHECK_LE(kGenericRtpHeaderLength, data_length);
96 net::BigEndianWriter big_endian_writer(data, 96); 86 net::BigEndianWriter big_endian_writer(data, 96);
97 big_endian_writer.WriteU8(0x80); 87 big_endian_writer.WriteU8(0x80);
98 big_endian_writer.WriteU8(payload_type_ | (marker_ ? kRtpMarkerBitMask : 0)); 88 big_endian_writer.WriteU8(payload_type_ | (marker_ ? kRtpMarkerBitMask : 0));
99 big_endian_writer.WriteU16(sequence_number_); 89 big_endian_writer.WriteU16(sequence_number_);
100 big_endian_writer.WriteU32(timestamp_); 90 big_endian_writer.WriteU32(timestamp_);
101 big_endian_writer.WriteU32(ssrc_); 91 big_endian_writer.WriteU32(ssrc_);
102 } 92 }
103 93
104 } // namespace cast 94 } // namespace cast
105 } // namespace media 95 } // namespace media
OLDNEW
« no previous file with comments | « media/cast/rtp_receiver/rtp_parser/test/rtp_packet_builder.h ('k') | media/cast/rtp_receiver/rtp_receiver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698