| Index: webrtc/tools/event_log_visualizer/analyzer.h
|
| diff --git a/webrtc/tools/event_log_visualizer/analyzer.h b/webrtc/tools/event_log_visualizer/analyzer.h
|
| index 08fcd5c99f2db410cb5515297651b81faebfb0f3..9b69ff12630d9186ef8c964fc5fb00b3d670a5f2 100644
|
| --- a/webrtc/tools/event_log_visualizer/analyzer.h
|
| +++ b/webrtc/tools/event_log_visualizer/analyzer.h
|
| @@ -12,6 +12,7 @@
|
| #define WEBRTC_TOOLS_EVENT_LOG_VISUALIZER_ANALYZER_H_
|
|
|
| #include <vector>
|
| +#include <map>
|
|
|
| #include "webrtc/call/rtc_event_log_parser.h"
|
| #include "webrtc/tools/event_log_visualizer/plot_base.h"
|
| @@ -41,12 +42,42 @@ class EventLogAnalyzer {
|
| void CreateStreamBitrateGraph(PacketDirection desired_direction, Plot* plot);
|
|
|
| private:
|
| + class StreamId {
|
| + public:
|
| + StreamId(uint32_t ssrc,
|
| + webrtc::PacketDirection direction,
|
| + webrtc::MediaType media_type)
|
| + : ssrc_(ssrc), direction_(direction), media_type_(media_type) {}
|
| + bool operator<(const StreamId& other) const;
|
| + bool operator==(const StreamId& other) const;
|
| + uint32_t GetSsrc() const { return ssrc_; }
|
| + webrtc::PacketDirection GetDirection() const { return direction_; }
|
| + webrtc::MediaType GetMediaType() const { return media_type_; }
|
| +
|
| + private:
|
| + uint32_t ssrc_;
|
| + webrtc::PacketDirection direction_;
|
| + webrtc::MediaType media_type_;
|
| + };
|
| +
|
| + struct LoggedRtpPacket {
|
| + LoggedRtpPacket(uint64_t timestamp, RTPHeader header)
|
| + : timestamp(timestamp), header(header) {}
|
| + uint64_t timestamp;
|
| + RTPHeader header;
|
| + };
|
| +
|
| const ParsedRtcEventLog& parsed_log_;
|
|
|
| // A list of SSRCs we are interested in analysing.
|
| // If left empty, all SSRCs will be considered relevant.
|
| std::vector<uint32_t> desired_ssrc_;
|
|
|
| + // Maps a stream identifier consisting of ssrc, direction and MediaType
|
| + // to the parsed RTP headers in that stream. Header extensions are parsed
|
| + // if the stream has been configured.
|
| + std::map<StreamId, std::vector<LoggedRtpPacket>> rtp_packets_;
|
| +
|
| // Window and step size used for calculating moving averages, e.g. bitrate.
|
| // The generated data points will be |step_| microseconds apart.
|
| // Only events occuring at most |window_duration_| microseconds before the
|
|
|