diff options
author | danilchap <danilchap@webrtc.org> | 2015-12-28 10:18:46 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-12-28 18:18:52 +0000 |
commit | f6975f46131981f83e0c88d276dee6b6c5753180 (patch) | |
tree | 121d207849f903418c61f2cc4cdee70c373809eb /webrtc/modules | |
parent | e0d56a72250340d820823ecce72c2ab4f12433d9 (diff) | |
download | webrtc-f6975f46131981f83e0c88d276dee6b6c5753180.tar.gz |
[rtp_rtcp] Lint errors cleaned from rtp_utility
R=åsapersson
BUG=webrtc:5277
Review URL: https://codereview.webrtc.org/1539423003
Cr-Commit-Position: refs/heads/master@{#11131}
Diffstat (limited to 'webrtc/modules')
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/CPPLINT.cfg | 2 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc | 2 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_sender.cc | 21 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc | 2 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc | 42 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc | 2 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_utility.cc | 108 | ||||
-rw-r--r-- | webrtc/modules/rtp_rtcp/source/rtp_utility.h | 95 |
8 files changed, 109 insertions, 165 deletions
diff --git a/webrtc/modules/rtp_rtcp/source/CPPLINT.cfg b/webrtc/modules/rtp_rtcp/source/CPPLINT.cfg index 7edbb96e9b..c318452482 100644 --- a/webrtc/modules/rtp_rtcp/source/CPPLINT.cfg +++ b/webrtc/modules/rtp_rtcp/source/CPPLINT.cfg @@ -1,7 +1,5 @@ #tmmbr_help is refactored in CL#1474693002 exclude_files=tmmbr_help.* -#rtp_utility is refactored in CL#1481773004 -exclude_files=rtp_utility.* #rtcp_utility planned to be removed when webrtc:5260 will be finished. exclude_files=rtcp_utility.* #rtcp_receiver/rtcp_receiver_help will be refactored more deeply as part of webrtc:5260 diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc index 82c813fd76..d4cbe544cc 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_parser.cc @@ -58,7 +58,7 @@ bool RtpHeaderParserImpl::Parse(const uint8_t* packet, rtp_header_extension_map_.GetCopy(&map); } - const bool valid_rtpheader = rtp_parser.Parse(*header, &map); + const bool valid_rtpheader = rtp_parser.Parse(header, &map); if (!valid_rtpheader) { return false; } diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc index 940d12b621..6ad666b01a 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender.cc @@ -579,7 +579,7 @@ size_t RTPSender::TrySendRedundantPayloads(size_t bytes_to_send) { break; RtpUtility::RtpHeaderParser rtp_parser(buffer, length); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); bytes_left -= static_cast<int>(length - rtp_header.headerLength); } return bytes_to_send - bytes_left; @@ -589,8 +589,7 @@ void RTPSender::BuildPaddingPacket(uint8_t* packet, size_t header_length, size_t padding_length) { packet[0] |= 0x20; // Set padding bit. - int32_t *data = - reinterpret_cast<int32_t *>(&(packet[header_length])); + int32_t* data = reinterpret_cast<int32_t*>(&(packet[header_length])); // Fill data buffer with random data. for (size_t j = 0; j < (padding_length >> 2); ++j) { @@ -671,7 +670,7 @@ size_t RTPSender::SendPadData(size_t bytes, RtpUtility::RtpHeaderParser rtp_parser(padding_packet, length); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); if (capture_time_ms > 0) { UpdateTransmissionTimeOffset( @@ -723,7 +722,7 @@ int32_t RTPSender::ReSendPacket(uint16_t packet_id, int64_t min_resend_time) { if (paced_sender_) { RtpUtility::RtpHeaderParser rtp_parser(data_buffer, length); RTPHeader header; - if (!rtp_parser.Parse(header)) { + if (!rtp_parser.Parse(&header)) { assert(false); return -1; } @@ -909,11 +908,11 @@ bool RTPSender::PrepareAndSendPacket(uint8_t* buffer, int64_t capture_time_ms, bool send_over_rtx, bool is_retransmit) { - uint8_t *buffer_to_send_ptr = buffer; + uint8_t* buffer_to_send_ptr = buffer; RtpUtility::RtpHeaderParser rtp_parser(buffer, length); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); if (!is_retransmit && rtp_header.markerBit) { TRACE_EVENT_ASYNC_END0(TRACE_DISABLED_BY_DEFAULT("webrtc_rtp"), "PacedSend", capture_time_ms); @@ -1032,7 +1031,7 @@ int32_t RTPSender::SendToNetwork(uint8_t* buffer, RtpUtility::RtpHeaderParser rtp_parser(buffer, payload_length + rtp_header_length); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); int64_t now_ms = clock_->TimeInMilliseconds(); @@ -1175,7 +1174,7 @@ size_t RTPSender::CreateRtpHeader(uint8_t* header, int32_t rtp_header_length = kRtpHeaderLength; if (csrcs.size() > 0) { - uint8_t *ptr = &header[rtp_header_length]; + uint8_t* ptr = &header[rtp_header_length]; for (size_t i = 0; i < csrcs.size(); ++i) { ByteWriter<uint32_t>::WriteBigEndian(ptr, csrcs[i]); ptr += 4; @@ -1827,7 +1826,7 @@ void RTPSender::BuildRtxPacket(uint8_t* buffer, size_t* length, reinterpret_cast<const uint8_t*>(buffer), *length); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); // Add original RTP header. memcpy(data_buffer_rtx, buffer, rtp_header.headerLength); @@ -1840,7 +1839,7 @@ void RTPSender::BuildRtxPacket(uint8_t* buffer, size_t* length, } // Replace sequence number. - uint8_t *ptr = data_buffer_rtx + 2; + uint8_t* ptr = data_buffer_rtx + 2; ByteWriter<uint16_t>::WriteBigEndian(ptr, sequence_number_rtx_++); // Replace SSRC. diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc index 86407f9f40..d361443cee 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_audio.cc @@ -350,7 +350,7 @@ int32_t RTPSenderAudio::SendAudio(FrameType frameType, size_t packetSize = payloadSize + rtpHeaderLength; RtpUtility::RtpHeaderParser rtp_parser(dataBuffer, packetSize); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); _rtpSender->UpdateAudioLevel(dataBuffer, packetSize, rtp_header, (frameType == kAudioFrameSpeech), audio_level_dbov); diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc index 1ca7831ab2..6bc122201a 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc @@ -208,7 +208,7 @@ class RtpSenderVideoTest : public RtpSenderTest { } else { ASSERT_EQ(kRtpHeaderSize, length); } - ASSERT_TRUE(rtp_parser.Parse(rtp_header, map)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header, map)); ASSERT_FALSE(rtp_parser.RTCP()); EXPECT_EQ(payload_, rtp_header.payloadType); EXPECT_EQ(seq_num, rtp_header.sequenceNumber); @@ -335,7 +335,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacket) { webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); webrtc::RTPHeader rtp_header; - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, nullptr); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, nullptr); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -370,7 +370,7 @@ TEST_F(RtpSenderTestWithoutPacer, RtpHeaderExtensionMap map; map.Register(kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -381,7 +381,7 @@ TEST_F(RtpSenderTestWithoutPacer, // Parse without map extension webrtc::RTPHeader rtp_header2; - const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); + const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr); ASSERT_TRUE(valid_rtp_header2); VerifyRTPHeaderCommon(rtp_header2); @@ -410,7 +410,7 @@ TEST_F(RtpSenderTestWithoutPacer, RtpHeaderExtensionMap map; map.Register(kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -437,7 +437,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAbsoluteSendTimeExtension) { RtpHeaderExtensionMap map; map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -448,7 +448,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAbsoluteSendTimeExtension) { // Parse without map extension webrtc::RTPHeader rtp_header2; - const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); + const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr); ASSERT_TRUE(valid_rtp_header2); VerifyRTPHeaderCommon(rtp_header2); @@ -476,7 +476,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithVideoRotation_MarkerBit) { webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); webrtc::RTPHeader rtp_header; - ASSERT_TRUE(rtp_parser.Parse(rtp_header, &map)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header, &map)); ASSERT_FALSE(rtp_parser.RTCP()); VerifyRTPHeaderCommon(rtp_header); EXPECT_EQ(length, rtp_header.headerLength); @@ -504,7 +504,7 @@ TEST_F(RtpSenderTestWithoutPacer, webrtc::RtpUtility::RtpHeaderParser rtp_parser(packet_, length); webrtc::RTPHeader rtp_header; - ASSERT_TRUE(rtp_parser.Parse(rtp_header, &map)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header, &map)); ASSERT_FALSE(rtp_parser.RTCP()); VerifyRTPHeaderCommon(rtp_header, false); EXPECT_EQ(length, rtp_header.headerLength); @@ -525,12 +525,12 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAudioLevelExtension) { webrtc::RTPHeader rtp_header; // Updating audio level is done in RTPSenderAudio, so simulate it here. - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel); RtpHeaderExtensionMap map; map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -542,7 +542,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithAudioLevelExtension) { // Parse without map extension webrtc::RTPHeader rtp_header2; - const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); + const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr); ASSERT_TRUE(valid_rtp_header2); VerifyRTPHeaderCommon(rtp_header2); @@ -579,7 +579,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithHeaderExtensions) { webrtc::RTPHeader rtp_header; // Updating audio level is done in RTPSenderAudio, so simulate it here. - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); rtp_sender_->UpdateAudioLevel(packet_, length, rtp_header, true, kAudioLevel); RtpHeaderExtensionMap map; @@ -589,7 +589,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithHeaderExtensions) { map.Register(kRtpExtensionAudioLevel, kAudioLevelExtensionId); map.Register(kRtpExtensionTransportSequenceNumber, kTransportSequenceNumberExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); ASSERT_FALSE(rtp_parser.RTCP()); @@ -608,7 +608,7 @@ TEST_F(RtpSenderTestWithoutPacer, BuildRTPPacketWithHeaderExtensions) { // Parse without map extension webrtc::RTPHeader rtp_header2; - const bool valid_rtp_header2 = rtp_parser.Parse(rtp_header2, nullptr); + const bool valid_rtp_header2 = rtp_parser.Parse(&rtp_header2, nullptr); ASSERT_TRUE(valid_rtp_header2); VerifyRTPHeaderCommon(rtp_header2); @@ -667,7 +667,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingWithExtensions) { map.Register(kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId); map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); // Verify transmission time offset. @@ -727,7 +727,7 @@ TEST_F(RtpSenderTest, TrafficSmoothingRetransmits) { map.Register(kRtpExtensionTransmissionTimeOffset, kTransmissionTimeOffsetExtensionId); map.Register(kRtpExtensionAbsoluteSendTime, kAbsoluteSendTimeExtensionId); - const bool valid_rtp_header = rtp_parser.Parse(rtp_header, &map); + const bool valid_rtp_header = rtp_parser.Parse(&rtp_header, &map); ASSERT_TRUE(valid_rtp_header); // Verify transmission time offset. @@ -934,7 +934,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) { RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, transport_.last_sent_packet_len_); webrtc::RTPHeader rtp_header; - ASSERT_TRUE(rtp_parser.Parse(rtp_header)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header)); const uint8_t* payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_); @@ -959,7 +959,7 @@ TEST_F(RtpSenderTestWithoutPacer, SendGenericVideo) { RtpUtility::RtpHeaderParser rtp_parser2(transport_.last_sent_packet_, transport_.last_sent_packet_len_); - ASSERT_TRUE(rtp_parser.Parse(rtp_header)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header)); payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_); generic_header = *payload_data++; @@ -1217,7 +1217,7 @@ TEST_F(RtpSenderAudioTest, SendAudio) { RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, transport_.last_sent_packet_len_); webrtc::RTPHeader rtp_header; - ASSERT_TRUE(rtp_parser.Parse(rtp_header)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header)); const uint8_t* payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_); @@ -1246,7 +1246,7 @@ TEST_F(RtpSenderAudioTest, SendAudioWithAudioLevelExtension) { RtpUtility::RtpHeaderParser rtp_parser(transport_.last_sent_packet_, transport_.last_sent_packet_len_); webrtc::RTPHeader rtp_header; - ASSERT_TRUE(rtp_parser.Parse(rtp_header)); + ASSERT_TRUE(rtp_parser.Parse(&rtp_header)); const uint8_t* payload_data = GetPayloadData(rtp_header, transport_.last_sent_packet_); diff --git a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc index e4604f97c9..5a565dfa99 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc @@ -304,7 +304,7 @@ int32_t RTPSenderVideo::SendVideo(const RtpVideoCodecTypes videoType, size_t packetSize = payloadSize + rtp_header_length; RtpUtility::RtpHeaderParser rtp_parser(dataBuffer, packetSize); RTPHeader rtp_header; - rtp_parser.Parse(rtp_header); + rtp_parser.Parse(&rtp_header); _rtpSender.UpdateVideoRotation(dataBuffer, packetSize, rtp_header, rtpHdr->rotation); } diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc index bd7df42288..43433b94d9 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc @@ -10,38 +10,10 @@ #include "webrtc/modules/rtp_rtcp/source/rtp_utility.h" -#include <assert.h> -#include <math.h> // ceil -#include <string.h> // memcpy - -#if defined(_WIN32) -// Order for these headers are important -#include <winsock2.h> // timeval -#include <windows.h> // FILETIME NOLINT(build/include_alpha) -#include <MMSystem.h> // timeGetTime -#elif ((defined WEBRTC_LINUX) || (defined WEBRTC_MAC)) -#include <sys/time.h> // gettimeofday -#include <time.h> -#endif -#if (!defined(NDEBUG) && defined(_WIN32) && (_MSC_VER >= 1400)) -#include <stdio.h> -#endif +#include <string.h> #include "webrtc/base/logging.h" #include "webrtc/modules/rtp_rtcp/source/byte_io.h" -#include "webrtc/system_wrappers/include/tick_util.h" - -#if (!defined(NDEBUG) && defined(_WIN32) && (_MSC_VER >= 1400)) -#define DEBUG_PRINT(...) \ - { \ - char msg[256]; \ - sprintf(msg, __VA_ARGS__); \ - OutputDebugString(msg); \ - } -#else -// special fix for visual 2003 -#define DEBUG_PRINT(exp) ((void)0) -#endif // !defined(NDEBUG) && defined(_WIN32) namespace webrtc { @@ -83,12 +55,12 @@ enum { #if defined(_WIN32) bool StringCompare(const char* str1, const char* str2, const uint32_t length) { - return (_strnicmp(str1, str2, length) == 0) ? true : false; + return _strnicmp(str1, str2, length) == 0; } #elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) bool StringCompare(const char* str1, const char* str2, const uint32_t length) { - return (strncasecmp(str1, str2, length) == 0) ? true : false; + return strncasecmp(str1, str2, length) == 0; } #endif @@ -99,10 +71,6 @@ size_t Word32Align(size_t size) { return size; } -uint32_t pow2(uint8_t exp) { - return 1 << exp; -} - RtpHeaderParser::RtpHeaderParser(const uint8_t* rtpData, const size_t rtpDataLength) : _ptrRTPDataBegin(rtpData), @@ -212,7 +180,7 @@ bool RtpHeaderParser::ParseRtcp(RTPHeader* header) const { return true; } -bool RtpHeaderParser::Parse(RTPHeader& header, +bool RtpHeaderParser::Parse(RTPHeader* header, RtpHeaderExtensionMap* ptrExtensionMap) const { const ptrdiff_t length = _ptrRTPDataEnd - _ptrRTPDataBegin; if (length < kRtpMinParseLength) { @@ -251,39 +219,39 @@ bool RtpHeaderParser::Parse(RTPHeader& header, return false; } - header.markerBit = M; - header.payloadType = PT; - header.sequenceNumber = sequenceNumber; - header.timestamp = RTPTimestamp; - header.ssrc = SSRC; - header.numCSRCs = CC; - header.paddingLength = P ? *(_ptrRTPDataEnd - 1) : 0; + header->markerBit = M; + header->payloadType = PT; + header->sequenceNumber = sequenceNumber; + header->timestamp = RTPTimestamp; + header->ssrc = SSRC; + header->numCSRCs = CC; + header->paddingLength = P ? *(_ptrRTPDataEnd - 1) : 0; for (uint8_t i = 0; i < CC; ++i) { uint32_t CSRC = ByteReader<uint32_t>::ReadBigEndian(ptr); ptr += 4; - header.arrOfCSRCs[i] = CSRC; + header->arrOfCSRCs[i] = CSRC; } - header.headerLength = 12 + CSRCocts; + header->headerLength = 12 + CSRCocts; // If in effect, MAY be omitted for those packets for which the offset // is zero. - header.extension.hasTransmissionTimeOffset = false; - header.extension.transmissionTimeOffset = 0; + header->extension.hasTransmissionTimeOffset = false; + header->extension.transmissionTimeOffset = 0; // May not be present in packet. - header.extension.hasAbsoluteSendTime = false; - header.extension.absoluteSendTime = 0; + header->extension.hasAbsoluteSendTime = false; + header->extension.absoluteSendTime = 0; // May not be present in packet. - header.extension.hasAudioLevel = false; - header.extension.voiceActivity = false; - header.extension.audioLevel = 0; + header->extension.hasAudioLevel = false; + header->extension.voiceActivity = false; + header->extension.audioLevel = 0; // May not be present in packet. - header.extension.hasVideoRotation = false; - header.extension.videoRotation = 0; + header->extension.hasVideoRotation = false; + header->extension.videoRotation = 0; if (X) { /* RTP header extension, RFC 3550. @@ -300,7 +268,7 @@ bool RtpHeaderParser::Parse(RTPHeader& header, return false; } - header.headerLength += 4; + header->headerLength += 4; uint16_t definedByProfile = ByteReader<uint16_t>::ReadBigEndian(ptr); ptr += 2; @@ -320,15 +288,16 @@ bool RtpHeaderParser::Parse(RTPHeader& header, ptrRTPDataExtensionEnd, ptr); } - header.headerLength += XLen; + header->headerLength += XLen; } - if (header.headerLength + header.paddingLength > static_cast<size_t>(length)) + if (header->headerLength + header->paddingLength > + static_cast<size_t>(length)) return false; return true; } void RtpHeaderParser::ParseOneByteExtensionHeader( - RTPHeader& header, + RTPHeader* header, const RtpHeaderExtensionMap* ptrExtensionMap, const uint8_t* ptrRTPDataExtensionEnd, const uint8_t* ptr) const { @@ -374,9 +343,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( // | ID | len=2 | transmission offset | // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - header.extension.transmissionTimeOffset = + header->extension.transmissionTimeOffset = ByteReader<int32_t, 3>::ReadBigEndian(ptr); - header.extension.hasTransmissionTimeOffset = true; + header->extension.hasTransmissionTimeOffset = true; break; } case kRtpExtensionAudioLevel: { @@ -390,9 +359,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( // | ID | len=0 |V| level | // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // - header.extension.audioLevel = ptr[0] & 0x7f; - header.extension.voiceActivity = (ptr[0] & 0x80) != 0; - header.extension.hasAudioLevel = true; + header->extension.audioLevel = ptr[0] & 0x7f; + header->extension.voiceActivity = (ptr[0] & 0x80) != 0; + header->extension.hasAudioLevel = true; break; } case kRtpExtensionAbsoluteSendTime: { @@ -406,9 +375,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( // | ID | len=2 | absolute send time | // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - header.extension.absoluteSendTime = + header->extension.absoluteSendTime = ByteReader<uint32_t, 3>::ReadBigEndian(ptr); - header.extension.hasAbsoluteSendTime = true; + header->extension.hasAbsoluteSendTime = true; break; } case kRtpExtensionVideoRotation: { @@ -422,8 +391,8 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ // | ID | len=0 |0 0 0 0 C F R R| // +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ - header.extension.hasVideoRotation = true; - header.extension.videoRotation = ptr[0]; + header->extension.hasVideoRotation = true; + header->extension.videoRotation = ptr[0]; break; } case kRtpExtensionTransportSequenceNumber: { @@ -440,8 +409,8 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( uint16_t sequence_number = ptr[0] << 8; sequence_number += ptr[1]; - header.extension.transportSequenceNumber = sequence_number; - header.extension.hasTransportSequenceNumber = true; + header->extension.transportSequenceNumber = sequence_number; + header->extension.hasTransportSequenceNumber = true; break; } default: { @@ -470,5 +439,4 @@ uint8_t RtpHeaderParser::ParsePaddingBytes( return num_zero_bytes; } } // namespace RtpUtility - } // namespace webrtc diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.h b/webrtc/modules/rtp_rtcp/source/rtp_utility.h index bdcb11ccc2..57f54c1afc 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.h @@ -11,8 +11,6 @@ #ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_UTILITY_H_ #define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_UTILITY_H_ -#include <stddef.h> // size_t, ptrdiff_t - #include <map> #include "webrtc/modules/rtp_rtcp/include/receive_statistics.h" @@ -31,62 +29,43 @@ RtpAudioFeedback* NullObjectRtpAudioFeedback(); ReceiveStatistics* NullObjectReceiveStatistics(); namespace RtpUtility { - // January 1970, in NTP seconds. - const uint32_t NTP_JAN_1970 = 2208988800UL; - - // Magic NTP fractional unit. - const double NTP_FRAC = 4.294967296E+9; - - struct Payload - { - char name[RTP_PAYLOAD_NAME_SIZE]; - bool audio; - PayloadUnion typeSpecific; - }; - - typedef std::map<int8_t, Payload*> PayloadTypeMap; - - uint32_t pow2(uint8_t exp); - - // Returns true if |newTimestamp| is older than |existingTimestamp|. - // |wrapped| will be set to true if there has been a wraparound between the - // two timestamps. - bool OldTimestamp(uint32_t newTimestamp, - uint32_t existingTimestamp, - bool* wrapped); - - bool StringCompare(const char* str1, - const char* str2, - const uint32_t length); - - // Round up to the nearest size that is a multiple of 4. - size_t Word32Align(size_t size); - - class RtpHeaderParser { - public: - RtpHeaderParser(const uint8_t* rtpData, size_t rtpDataLength); - ~RtpHeaderParser(); - - bool RTCP() const; - bool ParseRtcp(RTPHeader* header) const; - bool Parse(RTPHeader& parsedPacket, - RtpHeaderExtensionMap* ptrExtensionMap = NULL) const; - - private: - void ParseOneByteExtensionHeader( - RTPHeader& parsedPacket, - const RtpHeaderExtensionMap* ptrExtensionMap, - const uint8_t* ptrRTPDataExtensionEnd, - const uint8_t* ptr) const; - - uint8_t ParsePaddingBytes( - const uint8_t* ptrRTPDataExtensionEnd, - const uint8_t* ptr) const; - - const uint8_t* const _ptrRTPDataBegin; - const uint8_t* const _ptrRTPDataEnd; - }; + +struct Payload { + char name[RTP_PAYLOAD_NAME_SIZE]; + bool audio; + PayloadUnion typeSpecific; +}; + +typedef std::map<int8_t, Payload*> PayloadTypeMap; + +bool StringCompare(const char* str1, const char* str2, const uint32_t length); + +// Round up to the nearest size that is a multiple of 4. +size_t Word32Align(size_t size); + +class RtpHeaderParser { + public: + RtpHeaderParser(const uint8_t* rtpData, size_t rtpDataLength); + ~RtpHeaderParser(); + + bool RTCP() const; + bool ParseRtcp(RTPHeader* header) const; + bool Parse(RTPHeader* parsedPacket, + RtpHeaderExtensionMap* ptrExtensionMap = nullptr) const; + + private: + void ParseOneByteExtensionHeader(RTPHeader* parsedPacket, + const RtpHeaderExtensionMap* ptrExtensionMap, + const uint8_t* ptrRTPDataExtensionEnd, + const uint8_t* ptr) const; + + uint8_t ParsePaddingBytes(const uint8_t* ptrRTPDataExtensionEnd, + const uint8_t* ptr) const; + + const uint8_t* const _ptrRTPDataBegin; + const uint8_t* const _ptrRTPDataEnd; +}; } // namespace RtpUtility } // namespace webrtc -#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_UTILITY_H_ +#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_UTILITY_H_ |