diff --git a/rtc_tools/event_log_visualizer/analyzer.cc b/rtc_tools/event_log_visualizer/analyzer.cc index bab2914f16..1a7309c4e1 100644 --- a/rtc_tools/event_log_visualizer/analyzer.cc +++ b/rtc_tools/event_log_visualizer/analyzer.cc @@ -514,8 +514,8 @@ EventLogAnalyzer::EventLogAnalyzer(const ParsedRtcEventLog& log) } uint64_t timestamp = parsed_log_.GetTimestamp(i); StreamId stream(parsed_header.ssrc, direction); - rtp_packets_[stream].push_back( - LoggedRtpPacket(timestamp, parsed_header, total_length)); + rtp_packets_[stream].push_back(LoggedRtpPacket( + timestamp, parsed_header, header_length, total_length)); break; } case ParsedRtcEventLog::RTCP_EVENT: { @@ -1911,7 +1911,8 @@ class NetEqStreamInput : public test::NetEqInput { // This is a header-only "dummy" packet. Set the payload to all zeros, with // length according to the virtual length. - packet_data->payload.SetSize(packet_stream_it_->total_length); + packet_data->payload.SetSize(packet_stream_it_->total_length - + packet_stream_it_->header_length); std::fill_n(packet_data->payload.data(), packet_data->payload.size(), 0); ++packet_stream_it_; diff --git a/rtc_tools/event_log_visualizer/analyzer.h b/rtc_tools/event_log_visualizer/analyzer.h index fafce66d73..a8fedb8341 100644 --- a/rtc_tools/event_log_visualizer/analyzer.h +++ b/rtc_tools/event_log_visualizer/analyzer.h @@ -30,11 +30,18 @@ namespace webrtc { namespace plotting { struct LoggedRtpPacket { - LoggedRtpPacket(uint64_t timestamp, RTPHeader header, size_t total_length) - : timestamp(timestamp), header(header), total_length(total_length) {} + LoggedRtpPacket(uint64_t timestamp, + RTPHeader header, + size_t header_length, + size_t total_length) + : timestamp(timestamp), + header(header), + header_length(header_length), + total_length(total_length) {} uint64_t timestamp; // TODO(terelius): This allocates space for 15 CSRCs even if none are used. RTPHeader header; + size_t header_length; size_t total_length; };