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}
This commit is contained in:
danilchap 2017-01-23 11:10:20 -08:00 committed by Commit bot
parent f53d7374cf
commit 5c4f24a141
5 changed files with 9 additions and 22 deletions

View File

@ -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 &&

View File

@ -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_);

View File

@ -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;

View File

@ -87,6 +87,7 @@ TEST(RtpHeaderExtensionTest, GetTotalLength) {
RtpHeaderExtensionMap map;
EXPECT_EQ(0u, map.GetTotalLengthInBytes());
EXPECT_TRUE(map.Register<TransmissionOffset>(3));
static constexpr size_t kRtpOneByteHeaderLength = 4;
EXPECT_EQ(kRtpOneByteHeaderLength + (TransmissionOffset::kValueSizeBytes + 1),
map.GetTotalLengthInBytes());
}

View File

@ -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<size_t>(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: