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

Side by Side Diff: media/cast/net/rtp/rtp_packet_builder.cc

Issue 1534273002: Switch to standard integer types in media/. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: more Created 5 years 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/net/rtp/rtp_packet_builder.h" 5 #include "media/cast/net/rtp/rtp_packet_builder.h"
6 6
7 #include "base/big_endian.h" 7 #include "base/big_endian.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 9
10 namespace media { 10 namespace media {
11 namespace cast { 11 namespace cast {
12 12
13 RtpPacketBuilder::RtpPacketBuilder() 13 RtpPacketBuilder::RtpPacketBuilder()
14 : is_key_(false), 14 : is_key_(false),
15 frame_id_(0), 15 frame_id_(0),
16 packet_id_(0), 16 packet_id_(0),
17 max_packet_id_(0), 17 max_packet_id_(0),
18 reference_frame_id_(0), 18 reference_frame_id_(0),
19 timestamp_(0), 19 timestamp_(0),
20 sequence_number_(0), 20 sequence_number_(0),
21 marker_(false), 21 marker_(false),
22 payload_type_(0), 22 payload_type_(0),
23 ssrc_(0) {} 23 ssrc_(0) {}
24 24
25 void RtpPacketBuilder::SetKeyFrame(bool is_key) { is_key_ = is_key; } 25 void RtpPacketBuilder::SetKeyFrame(bool is_key) { is_key_ = is_key; }
26 26
27 void RtpPacketBuilder::SetFrameIds(uint32 frame_id, uint32 reference_frame_id) { 27 void RtpPacketBuilder::SetFrameIds(uint32_t frame_id,
28 uint32_t reference_frame_id) {
28 frame_id_ = frame_id; 29 frame_id_ = frame_id;
29 reference_frame_id_ = reference_frame_id; 30 reference_frame_id_ = reference_frame_id;
30 } 31 }
31 32
32 void RtpPacketBuilder::SetPacketId(uint16 packet_id) { packet_id_ = packet_id; } 33 void RtpPacketBuilder::SetPacketId(uint16_t packet_id) {
34 packet_id_ = packet_id;
35 }
33 36
34 void RtpPacketBuilder::SetMaxPacketId(uint16 max_packet_id) { 37 void RtpPacketBuilder::SetMaxPacketId(uint16_t max_packet_id) {
35 max_packet_id_ = max_packet_id; 38 max_packet_id_ = max_packet_id;
36 } 39 }
37 40
38 void RtpPacketBuilder::SetTimestamp(uint32 timestamp) { 41 void RtpPacketBuilder::SetTimestamp(uint32_t timestamp) {
39 timestamp_ = timestamp; 42 timestamp_ = timestamp;
40 } 43 }
41 44
42 void RtpPacketBuilder::SetSequenceNumber(uint16 sequence_number) { 45 void RtpPacketBuilder::SetSequenceNumber(uint16_t sequence_number) {
43 sequence_number_ = sequence_number; 46 sequence_number_ = sequence_number;
44 } 47 }
45 48
46 void RtpPacketBuilder::SetMarkerBit(bool marker) { marker_ = marker; } 49 void RtpPacketBuilder::SetMarkerBit(bool marker) { marker_ = marker; }
47 50
48 void RtpPacketBuilder::SetPayloadType(int payload_type) { 51 void RtpPacketBuilder::SetPayloadType(int payload_type) {
49 payload_type_ = payload_type; 52 payload_type_ = payload_type;
50 } 53 }
51 54
52 void RtpPacketBuilder::SetSsrc(uint32 ssrc) { ssrc_ = ssrc; } 55 void RtpPacketBuilder::SetSsrc(uint32_t ssrc) {
56 ssrc_ = ssrc;
57 }
53 58
54 void RtpPacketBuilder::BuildHeader(uint8* data, uint32 data_length) { 59 void RtpPacketBuilder::BuildHeader(uint8_t* data, uint32_t data_length) {
55 BuildCommonHeader(data, data_length); 60 BuildCommonHeader(data, data_length);
56 BuildCastHeader(data + kRtpHeaderLength, data_length - kRtpHeaderLength); 61 BuildCastHeader(data + kRtpHeaderLength, data_length - kRtpHeaderLength);
57 } 62 }
58 63
59 void RtpPacketBuilder::BuildCastHeader(uint8* data, uint32 data_length) { 64 void RtpPacketBuilder::BuildCastHeader(uint8_t* data, uint32_t data_length) {
60 // Build header. 65 // Build header.
61 DCHECK_LE(kCastHeaderLength, data_length); 66 DCHECK_LE(kCastHeaderLength, data_length);
62 // Set the first 7 bytes to 0. 67 // Set the first 7 bytes to 0.
63 memset(data, 0, kCastHeaderLength); 68 memset(data, 0, kCastHeaderLength);
64 base::BigEndianWriter big_endian_writer(reinterpret_cast<char*>(data), 56); 69 base::BigEndianWriter big_endian_writer(reinterpret_cast<char*>(data), 56);
65 const bool includes_specific_frame_reference = 70 const bool includes_specific_frame_reference =
66 (is_key_ && (reference_frame_id_ != frame_id_)) || 71 (is_key_ && (reference_frame_id_ != frame_id_)) ||
67 (!is_key_ && (reference_frame_id_ != (frame_id_ - 1))); 72 (!is_key_ && (reference_frame_id_ != (frame_id_ - 1)));
68 big_endian_writer.WriteU8((is_key_ ? 0x80 : 0) | 73 big_endian_writer.WriteU8((is_key_ ? 0x80 : 0) |
69 (includes_specific_frame_reference ? 0x40 : 0)); 74 (includes_specific_frame_reference ? 0x40 : 0));
70 big_endian_writer.WriteU8(frame_id_); 75 big_endian_writer.WriteU8(frame_id_);
71 big_endian_writer.WriteU16(packet_id_); 76 big_endian_writer.WriteU16(packet_id_);
72 big_endian_writer.WriteU16(max_packet_id_); 77 big_endian_writer.WriteU16(max_packet_id_);
73 if (includes_specific_frame_reference) { 78 if (includes_specific_frame_reference) {
74 big_endian_writer.WriteU8(reference_frame_id_); 79 big_endian_writer.WriteU8(reference_frame_id_);
75 } 80 }
76 } 81 }
77 82
78 void RtpPacketBuilder::BuildCommonHeader(uint8* data, uint32 data_length) { 83 void RtpPacketBuilder::BuildCommonHeader(uint8_t* data, uint32_t data_length) {
79 DCHECK_LE(kRtpHeaderLength, data_length); 84 DCHECK_LE(kRtpHeaderLength, data_length);
80 base::BigEndianWriter big_endian_writer(reinterpret_cast<char*>(data), 96); 85 base::BigEndianWriter big_endian_writer(reinterpret_cast<char*>(data), 96);
81 big_endian_writer.WriteU8(0x80); 86 big_endian_writer.WriteU8(0x80);
82 big_endian_writer.WriteU8(payload_type_ | (marker_ ? kRtpMarkerBitMask : 0)); 87 big_endian_writer.WriteU8(payload_type_ | (marker_ ? kRtpMarkerBitMask : 0));
83 big_endian_writer.WriteU16(sequence_number_); 88 big_endian_writer.WriteU16(sequence_number_);
84 big_endian_writer.WriteU32(timestamp_); 89 big_endian_writer.WriteU32(timestamp_);
85 big_endian_writer.WriteU32(ssrc_); 90 big_endian_writer.WriteU32(ssrc_);
86 } 91 }
87 92
88 } // namespace cast 93 } // namespace cast
89 } // namespace media 94 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698