Stop hard-coding default IDs for RTP extensions
Hard-coding default values forces IDs over 14 to be used even when we offer less than 15 different extensions. Note that the code relies on MergeRtpHdrExts for making sure that extension IDs are kept consistent and non-colliding between different streams (audio/video). Bug: webrtc:10288 Change-Id: I3e59f7ddc8ca43cea91084a6b7f36df70fb6be4a Reviewed-on: https://webrtc-review.googlesource.com/c/121646 Commit-Queue: Elad Alon <eladalon@webrtc.org> Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org> Reviewed-by: Steve Anton <steveanton@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Reviewed-by: Karl Wiberg <kwiberg@webrtc.org> Reviewed-by: Björn Terelius <terelius@webrtc.org> Cr-Commit-Position: refs/heads/master@{#26622}
This commit is contained in:
@ -919,22 +919,26 @@ ParsedRtcEventLog::LoggedRtpStreamView::LoggedRtpStreamView(
|
||||
// audio streams. Tracking bug: webrtc:6399
|
||||
webrtc::RtpHeaderExtensionMap
|
||||
ParsedRtcEventLog::GetDefaultHeaderExtensionMap() {
|
||||
// Values from before the default RTP header extension IDs were removed.
|
||||
constexpr int kAudioLevelDefaultId = 1;
|
||||
constexpr int kTimestampOffsetDefaultId = 2;
|
||||
constexpr int kAbsSendTimeDefaultId = 3;
|
||||
constexpr int kVideoRotationDefaultId = 4;
|
||||
constexpr int kTransportSequenceNumberDefaultId = 5;
|
||||
constexpr int kPlayoutDelayDefaultId = 6;
|
||||
constexpr int kVideoContentTypeDefaultId = 7;
|
||||
constexpr int kVideoTimingDefaultId = 8;
|
||||
|
||||
webrtc::RtpHeaderExtensionMap default_map;
|
||||
default_map.Register<AudioLevel>(webrtc::RtpExtension::kAudioLevelDefaultId);
|
||||
default_map.Register<TransmissionOffset>(
|
||||
webrtc::RtpExtension::kTimestampOffsetDefaultId);
|
||||
default_map.Register<AbsoluteSendTime>(
|
||||
webrtc::RtpExtension::kAbsSendTimeDefaultId);
|
||||
default_map.Register<VideoOrientation>(
|
||||
webrtc::RtpExtension::kVideoRotationDefaultId);
|
||||
default_map.Register<VideoContentTypeExtension>(
|
||||
webrtc::RtpExtension::kVideoContentTypeDefaultId);
|
||||
default_map.Register<VideoTimingExtension>(
|
||||
webrtc::RtpExtension::kVideoTimingDefaultId);
|
||||
default_map.Register<AudioLevel>(kAudioLevelDefaultId);
|
||||
default_map.Register<TransmissionOffset>(kTimestampOffsetDefaultId);
|
||||
default_map.Register<AbsoluteSendTime>(kAbsSendTimeDefaultId);
|
||||
default_map.Register<VideoOrientation>(kVideoRotationDefaultId);
|
||||
default_map.Register<TransportSequenceNumber>(
|
||||
webrtc::RtpExtension::kTransportSequenceNumberDefaultId);
|
||||
default_map.Register<PlayoutDelayLimits>(
|
||||
webrtc::RtpExtension::kPlayoutDelayDefaultId);
|
||||
kTransportSequenceNumberDefaultId);
|
||||
default_map.Register<PlayoutDelayLimits>(kPlayoutDelayDefaultId);
|
||||
default_map.Register<VideoContentTypeExtension>(kVideoContentTypeDefaultId);
|
||||
default_map.Register<VideoTimingExtension>(kVideoTimingDefaultId);
|
||||
return default_map;
|
||||
}
|
||||
|
||||
|
@ -52,20 +52,6 @@ namespace webrtc {
|
||||
|
||||
namespace {
|
||||
|
||||
RtpHeaderExtensionMap ExtensionMapWithAllSupportedExtensions() {
|
||||
RtpHeaderExtensionMap all_extensions;
|
||||
all_extensions.Register<AudioLevel>(RtpExtension::kAudioLevelDefaultId);
|
||||
all_extensions.Register<TransmissionOffset>(
|
||||
RtpExtension::kTimestampOffsetDefaultId);
|
||||
all_extensions.Register<AbsoluteSendTime>(
|
||||
RtpExtension::kAbsSendTimeDefaultId);
|
||||
all_extensions.Register<VideoOrientation>(
|
||||
RtpExtension::kVideoRotationDefaultId);
|
||||
all_extensions.Register<TransportSequenceNumber>(
|
||||
RtpExtension::kTransportSequenceNumberDefaultId);
|
||||
return all_extensions;
|
||||
}
|
||||
|
||||
struct EventCounts {
|
||||
size_t audio_send_streams = 0;
|
||||
size_t audio_recv_streams = 0;
|
||||
@ -247,7 +233,7 @@ void RtcEventLogSession::WriteVideoRecvConfigs(size_t video_recv_streams,
|
||||
// Force least one stream to use all header extensions, to ensure
|
||||
// (statistically) that every extension is tested in packet creation.
|
||||
RtpHeaderExtensionMap all_extensions =
|
||||
ExtensionMapWithAllSupportedExtensions();
|
||||
ParsedRtcEventLog::GetDefaultHeaderExtensionMap();
|
||||
|
||||
clock_.AdvanceTimeMicros(prng_.Rand(20) * 1000);
|
||||
uint32_t ssrc = prng_.Rand<uint32_t>();
|
||||
@ -276,7 +262,7 @@ void RtcEventLogSession::WriteVideoSendConfigs(size_t video_send_streams,
|
||||
// Force least one stream to use all header extensions, to ensure
|
||||
// (statistically) that every extension is tested in packet creation.
|
||||
RtpHeaderExtensionMap all_extensions =
|
||||
ExtensionMapWithAllSupportedExtensions();
|
||||
ParsedRtcEventLog::GetDefaultHeaderExtensionMap();
|
||||
|
||||
clock_.AdvanceTimeMicros(prng_.Rand(20) * 1000);
|
||||
uint32_t ssrc = prng_.Rand<uint32_t>();
|
||||
|
Reference in New Issue
Block a user