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:
parent
f53d7374cf
commit
5c4f24a141
@ -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 &&
|
||||
|
||||
@ -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_);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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());
|
||||
}
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user