From 5c4f24a141272948d4f763ffdb1738bfbe5ac18e Mon Sep 17 00:00:00 2001 From: danilchap Date: Mon, 23 Jan 2017 11:10:20 -0800 Subject: [PATCH] Move implmentation specific constants out of rtp_header_extension.h BUG=None Review-Url: https://codereview.webrtc.org/2642783006 Cr-Commit-Position: refs/heads/master@{#16222} --- .../rtp_rtcp/source/playout_delay_oracle.cc | 6 +++--- .../rtp_rtcp/source/rtp_header_extension.cc | 1 + .../rtp_rtcp/source/rtp_header_extension.h | 17 ----------------- .../source/rtp_header_extension_unittest.cc | 1 + webrtc/modules/rtp_rtcp/source/rtp_utility.cc | 6 ++++-- 5 files changed, 9 insertions(+), 22 deletions(-) diff --git a/webrtc/modules/rtp_rtcp/source/playout_delay_oracle.cc b/webrtc/modules/rtp_rtcp/source/playout_delay_oracle.cc index e87a2ed513..f1afc1f45b 100644 --- a/webrtc/modules/rtp_rtcp/source/playout_delay_oracle.cc +++ b/webrtc/modules/rtp_rtcp/source/playout_delay_oracle.cc @@ -13,7 +13,7 @@ #include "webrtc/base/checks.h" #include "webrtc/base/logging.h" #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h" -#include "webrtc/modules/rtp_rtcp/source/rtp_header_extension.h" +#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" namespace webrtc { @@ -29,8 +29,8 @@ void PlayoutDelayOracle::UpdateRequest(uint32_t ssrc, PlayoutDelay playout_delay, uint16_t seq_num) { rtc::CritScope lock(&crit_sect_); - RTC_DCHECK_LE(playout_delay.min_ms, kPlayoutDelayMaxMs); - RTC_DCHECK_LE(playout_delay.max_ms, kPlayoutDelayMaxMs); + RTC_DCHECK_LE(playout_delay.min_ms, PlayoutDelayLimits::kMaxMs); + RTC_DCHECK_LE(playout_delay.max_ms, PlayoutDelayLimits::kMaxMs); RTC_DCHECK_LE(playout_delay.min_ms, playout_delay.max_ms); int64_t unwrapped_seq_num = unwrapper_.Unwrap(seq_num); if (playout_delay.min_ms >= 0 && diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc index 67e62c272c..bbbb1438dc 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc @@ -96,6 +96,7 @@ bool RtpHeaderExtensionMap::RegisterByUri(uint8_t id, const std::string& uri) { } size_t RtpHeaderExtensionMap::GetTotalLengthInBytes() const { + static constexpr size_t kRtpOneByteHeaderLength = 4; if (total_values_size_bytes_ == 0) return 0; return Word32Align(kRtpOneByteHeaderLength + total_values_size_bytes_); diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h index 777155b3a6..1b5a7ab3e6 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h @@ -21,23 +21,6 @@ namespace webrtc { -const uint16_t kRtpOneByteHeaderExtensionId = 0xBEDE; - -const size_t kRtpOneByteHeaderLength = 4; -const size_t kTransmissionTimeOffsetLength = 4; -const size_t kAudioLevelLength = 2; -const size_t kAbsoluteSendTimeLength = 4; -const size_t kVideoRotationLength = 2; -const size_t kTransportSequenceNumberLength = 3; -const size_t kPlayoutDelayLength = 4; - -// Playout delay in milliseconds. A playout delay limit (min or max) -// has 12 bits allocated. This allows a range of 0-4095 values which translates -// to a range of 0-40950 in milliseconds. -const int kPlayoutDelayGranularityMs = 10; -// Maximum playout delay value in milliseconds. -const int kPlayoutDelayMaxMs = 40950; - class RtpHeaderExtensionMap { public: static constexpr RTPExtensionType kInvalidType = kRtpExtensionNone; diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc index 81f0526954..179d27985f 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc @@ -87,6 +87,7 @@ TEST(RtpHeaderExtensionTest, GetTotalLength) { RtpHeaderExtensionMap map; EXPECT_EQ(0u, map.GetTotalLengthInBytes()); EXPECT_TRUE(map.Register(3)); + static constexpr size_t kRtpOneByteHeaderLength = 4; EXPECT_EQ(kRtpOneByteHeaderLength + (TransmissionOffset::kValueSizeBytes + 1), map.GetTotalLengthInBytes()); } diff --git a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc index 098fdc88f0..def431f170 100644 --- a/webrtc/modules/rtp_rtcp/source/rtp_utility.cc +++ b/webrtc/modules/rtp_rtcp/source/rtp_utility.cc @@ -15,6 +15,7 @@ #include "webrtc/base/logging.h" #include "webrtc/modules/rtp_rtcp/include/rtp_cvo.h" #include "webrtc/modules/rtp_rtcp/source/byte_io.h" +#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h" namespace webrtc { @@ -281,6 +282,7 @@ bool RtpHeaderParser::Parse(RTPHeader* header, if (static_cast(remain) < (4 + XLen)) { return false; } + static constexpr uint16_t kRtpOneByteHeaderExtensionId = 0xBEDE; if (definedByProfile == kRtpOneByteHeaderExtensionId) { const uint8_t* ptrRTPDataExtensionEnd = ptr + XLen; ParseOneByteExtensionHeader(header, @@ -439,9 +441,9 @@ void RtpHeaderParser::ParseOneByteExtensionHeader( int min_playout_delay = (ptr[0] << 4) | ((ptr[1] >> 4) & 0xf); int max_playout_delay = ((ptr[1] & 0xf) << 8) | ptr[2]; header->extension.playout_delay.min_ms = - min_playout_delay * kPlayoutDelayGranularityMs; + min_playout_delay * PlayoutDelayLimits::kGranularityMs; header->extension.playout_delay.max_ms = - max_playout_delay * kPlayoutDelayGranularityMs; + max_playout_delay * PlayoutDelayLimits::kGranularityMs; break; } case kRtpExtensionNone: