Simplify creating RtpHeaderExtensionMap in EventLogAnalyzer
RtpHeaderExtensionMap constructor accept array view instead of initializer_list
Remove now unused RtpHeaderExtensionMap::Erase
BUG=webrtc:1994
Review-Url: https://codereview.webrtc.org/2501893004
Cr-Commit-Position: refs/heads/master@{#15090}
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc
index b7c7306..67e62c2 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.cc
@@ -72,7 +72,7 @@
}
RtpHeaderExtensionMap::RtpHeaderExtensionMap(
- std::initializer_list<RtpExtension> extensions)
+ rtc::ArrayView<const RtpExtension> extensions)
: RtpHeaderExtensionMap() {
for (const RtpExtension& extension : extensions)
RegisterByUri(extension.id, extension.uri);
diff --git a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h
index a8591c7..1ec411d 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension.h
@@ -11,9 +11,9 @@
#ifndef WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSION_H_
#define WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSION_H_
-#include <initializer_list>
#include <string>
+#include "webrtc/base/array_view.h"
#include "webrtc/base/basictypes.h"
#include "webrtc/base/checks.h"
#include "webrtc/config.h"
@@ -44,7 +44,7 @@
static constexpr uint8_t kInvalidId = 0;
RtpHeaderExtensionMap();
- RtpHeaderExtensionMap(std::initializer_list<RtpExtension>);
+ explicit RtpHeaderExtensionMap(rtc::ArrayView<const RtpExtension> extensions);
template <typename Extension>
bool Register(uint8_t id) {
@@ -73,7 +73,6 @@
size_t GetTotalLengthInBytes() const;
// TODO(danilchap): Remove use of the functions below.
- void Erase() { *this = RtpHeaderExtensionMap(); }
int32_t Register(RTPExtensionType type, uint8_t id) {
return RegisterByType(id, type) ? 0 : -1;
}
@@ -96,6 +95,7 @@
RTPExtensionType types_[kMaxId + 1];
uint8_t ids_[kRtpExtensionNumberOfExtensions];
};
+
} // namespace webrtc
#endif // WEBRTC_MODULES_RTP_RTCP_SOURCE_RTP_HEADER_EXTENSION_H_
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 3794e83..81f0526 100644
--- a/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc
+++ b/webrtc/modules/rtp_rtcp/source/rtp_header_extension_unittest.cc
@@ -8,6 +8,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
+#include <vector>
+
#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"
@@ -48,8 +50,9 @@
}
TEST(RtpHeaderExtensionTest, RegisterDuringContruction) {
- const RtpHeaderExtensionMap map = {{TransmissionOffset::kUri, 1},
- {AbsoluteSendTime::kUri, 3}};
+ const std::vector<RtpExtension> config = {{TransmissionOffset::kUri, 1},
+ {AbsoluteSendTime::kUri, 3}};
+ const RtpHeaderExtensionMap map(config);
EXPECT_EQ(1, map.GetId(TransmissionOffset::kId));
EXPECT_EQ(3, map.GetId(AbsoluteSendTime::kId));
diff --git a/webrtc/tools/event_log_visualizer/analyzer.cc b/webrtc/tools/event_log_visualizer/analyzer.cc
index bf97380..d68ad81 100644
--- a/webrtc/tools/event_log_visualizer/analyzer.cc
+++ b/webrtc/tools/event_log_visualizer/analyzer.cc
@@ -28,6 +28,7 @@
#include "webrtc/modules/congestion_controller/include/congestion_controller.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp.h"
#include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
+#include "webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h"
#include "webrtc/modules/rtp_rtcp/source/rtp_utility.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/common_header.h"
#include "webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.h"
@@ -91,16 +92,6 @@
return difference;
}
-void RegisterHeaderExtensions(
- const std::vector<webrtc::RtpExtension>& extensions,
- webrtc::RtpHeaderExtensionMap* extension_map) {
- extension_map->Erase();
- for (const webrtc::RtpExtension& extension : extensions) {
- extension_map->Register(webrtc::StringToRtpExtensionType(extension.uri),
- extension.id);
- }
-}
-
// Return default values for header extensions, to use on streams without stored
// mapping data. Currently this only applies to audio streams, since the mapping
// is not stored in the event log.
@@ -108,11 +99,8 @@
// audio streams. Tracking bug: webrtc:6399
webrtc::RtpHeaderExtensionMap GetDefaultHeaderExtensionMap() {
webrtc::RtpHeaderExtensionMap default_map;
- default_map.Register(
- webrtc::StringToRtpExtensionType(webrtc::RtpExtension::kAudioLevelUri),
- webrtc::RtpExtension::kAudioLevelDefaultId);
- default_map.Register(
- webrtc::StringToRtpExtensionType(webrtc::RtpExtension::kAbsSendTimeUri),
+ default_map.Register<AudioLevel>(webrtc::RtpExtension::kAudioLevelDefaultId);
+ default_map.Register<AbsoluteSendTime>(
webrtc::RtpExtension::kAbsSendTimeDefaultId);
return default_map;
}
@@ -321,13 +309,12 @@
VideoReceiveStream::Config config(nullptr);
parsed_log_.GetVideoReceiveConfig(i, &config);
StreamId stream(config.rtp.remote_ssrc, kIncomingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[stream]);
+ extension_maps[stream] = RtpHeaderExtensionMap(config.rtp.extensions);
video_ssrcs_.insert(stream);
for (auto kv : config.rtp.rtx) {
StreamId rtx_stream(kv.second.ssrc, kIncomingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[rtx_stream]);
+ extension_maps[rtx_stream] =
+ RtpHeaderExtensionMap(config.rtp.extensions);
video_ssrcs_.insert(rtx_stream);
rtx_ssrcs_.insert(rtx_stream);
}
@@ -338,14 +325,13 @@
parsed_log_.GetVideoSendConfig(i, &config);
for (auto ssrc : config.rtp.ssrcs) {
StreamId stream(ssrc, kOutgoingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[stream]);
+ extension_maps[stream] = RtpHeaderExtensionMap(config.rtp.extensions);
video_ssrcs_.insert(stream);
}
for (auto ssrc : config.rtp.rtx.ssrcs) {
StreamId rtx_stream(ssrc, kOutgoingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[rtx_stream]);
+ extension_maps[rtx_stream] =
+ RtpHeaderExtensionMap(config.rtp.extensions);
video_ssrcs_.insert(rtx_stream);
rtx_ssrcs_.insert(rtx_stream);
}
@@ -355,8 +341,7 @@
AudioReceiveStream::Config config;
parsed_log_.GetAudioReceiveConfig(i, &config);
StreamId stream(config.rtp.remote_ssrc, kIncomingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[stream]);
+ extension_maps[stream] = RtpHeaderExtensionMap(config.rtp.extensions);
audio_ssrcs_.insert(stream);
break;
}
@@ -364,8 +349,7 @@
AudioSendStream::Config config(nullptr);
parsed_log_.GetAudioSendConfig(i, &config);
StreamId stream(config.rtp.ssrc, kOutgoingPacket);
- RegisterHeaderExtensions(config.rtp.extensions,
- &extension_maps[stream]);
+ extension_maps[stream] = RtpHeaderExtensionMap(config.rtp.extensions);
audio_ssrcs_.insert(stream);
break;
}