Index: webrtc/tools/event_log_visualizer/analyzer.cc |
diff --git a/webrtc/tools/event_log_visualizer/analyzer.cc b/webrtc/tools/event_log_visualizer/analyzer.cc |
index f068759ec2a276f5b0bfff1302e2d1f0cab79273..7f75fdef2c1c0b21dfeaee47a4de240e9e1d1379 100644 |
--- a/webrtc/tools/event_log_visualizer/analyzer.cc |
+++ b/webrtc/tools/event_log_visualizer/analyzer.cc |
@@ -299,10 +299,6 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) |
uint64_t first_timestamp = std::numeric_limits<uint64_t>::max(); |
uint64_t last_timestamp = std::numeric_limits<uint64_t>::min(); |
- // Maps a stream identifier consisting of ssrc and direction |
- // to the header extensions used by that stream, |
- std::map<StreamId, RtpHeaderExtensionMap> extension_maps; |
- |
PacketDirection direction; |
uint8_t header[IP_PACKET_SIZE]; |
size_t header_length; |
@@ -333,11 +329,8 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) |
case ParsedRtcEventLog::VIDEO_RECEIVER_CONFIG_EVENT: { |
rtclog::StreamConfig config = parsed_log_.GetVideoReceiveConfig(i); |
StreamId stream(config.remote_ssrc, kIncomingPacket); |
- extension_maps[stream] = RtpHeaderExtensionMap(config.rtp_extensions); |
video_ssrcs_.insert(stream); |
StreamId rtx_stream(config.rtx_ssrc, kIncomingPacket); |
- extension_maps[rtx_stream] = |
- RtpHeaderExtensionMap(config.rtp_extensions); |
video_ssrcs_.insert(rtx_stream); |
rtx_ssrcs_.insert(rtx_stream); |
break; |
@@ -347,12 +340,8 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) |
parsed_log_.GetVideoSendConfig(i); |
for (const auto& config : configs) { |
StreamId stream(config.local_ssrc, kOutgoingPacket); |
- extension_maps[stream] = |
- RtpHeaderExtensionMap(config.rtp_extensions); |
video_ssrcs_.insert(stream); |
StreamId rtx_stream(config.rtx_ssrc, kOutgoingPacket); |
- extension_maps[rtx_stream] = |
- RtpHeaderExtensionMap(config.rtp_extensions); |
video_ssrcs_.insert(rtx_stream); |
rtx_ssrcs_.insert(rtx_stream); |
} |
@@ -361,28 +350,21 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) |
case ParsedRtcEventLog::AUDIO_RECEIVER_CONFIG_EVENT: { |
rtclog::StreamConfig config = parsed_log_.GetAudioReceiveConfig(i); |
StreamId stream(config.remote_ssrc, kIncomingPacket); |
- extension_maps[stream] = RtpHeaderExtensionMap(config.rtp_extensions); |
audio_ssrcs_.insert(stream); |
break; |
} |
case ParsedRtcEventLog::AUDIO_SENDER_CONFIG_EVENT: { |
rtclog::StreamConfig config = parsed_log_.GetAudioSendConfig(i); |
StreamId stream(config.local_ssrc, kOutgoingPacket); |
- extension_maps[stream] = RtpHeaderExtensionMap(config.rtp_extensions); |
audio_ssrcs_.insert(stream); |
break; |
} |
case ParsedRtcEventLog::RTP_EVENT: { |
- parsed_log_.GetRtpHeader(i, &direction, header, &header_length, |
- &total_length); |
- // Parse header to get SSRC. |
+ RtpHeaderExtensionMap* extension_map = parsed_log_.GetRtpHeader( |
+ i, &direction, header, &header_length, &total_length); |
RtpUtility::RtpHeaderParser rtp_parser(header, header_length); |
RTPHeader parsed_header; |
- rtp_parser.Parse(&parsed_header); |
- StreamId stream(parsed_header.ssrc, direction); |
- // Look up the extension_map and parse it again to get the extensions. |
- if (extension_maps.count(stream) == 1) { |
- RtpHeaderExtensionMap* extension_map = &extension_maps[stream]; |
+ if (extension_map != nullptr) { |
rtp_parser.Parse(&parsed_header, extension_map); |
} else { |
// Use the default extension map. |
@@ -392,6 +374,7 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) |
rtp_parser.Parse(&parsed_header, &default_extension_map); |
} |
uint64_t timestamp = parsed_log_.GetTimestamp(i); |
+ StreamId stream(parsed_header.ssrc, direction); |
rtp_packets_[stream].push_back( |
LoggedRtpPacket(timestamp, parsed_header, total_length)); |
break; |