| 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 f0557a20c1f792492afd1e6339669181c801da7f..c15cb757e2c4007b660f54ce6ae7f98b0ec6a490 100644
|
| --- a/webrtc/tools/event_log_visualizer/analyzer.h
|
| +++ b/webrtc/tools/event_log_visualizer/analyzer.h
|
| @@ -18,6 +18,7 @@
|
| #include <utility>
|
| #include <vector>
|
|
|
| +#include "webrtc/base/function_view.h"
|
| #include "webrtc/logging/rtc_event_log/rtc_event_log_parser.h"
|
| #include "webrtc/modules/rtp_rtcp/include/rtp_rtcp_defines.h"
|
| #include "webrtc/modules/rtp_rtcp/source/rtcp_packet.h"
|
| @@ -52,6 +53,11 @@ struct LossBasedBweUpdate {
|
| int32_t expected_packets;
|
| };
|
|
|
| +struct AudioNetworkAdaptationEvent {
|
| + uint64_t timestamp;
|
| + AudioNetworkAdaptor::EncoderRuntimeConfig config;
|
| +};
|
| +
|
| class EventLogAnalyzer {
|
| public:
|
| // The EventLogAnalyzer keeps a reference to the ParsedRtcEventLog for the
|
| @@ -87,6 +93,13 @@ class EventLogAnalyzer {
|
| void CreateNetworkDelayFeedbackGraph(Plot* plot);
|
| void CreateTimestampGraph(Plot* plot);
|
|
|
| + void CreateAudioEncoderTargetBitrateGraph(Plot* plot);
|
| + void CreateAudioEncoderFrameLengthGraph(Plot* plot);
|
| + void CreateAudioEncoderUplinkPacketLossFractionGraph(Plot* plot);
|
| + void CreateAudioEncoderEnableFecGraph(Plot* plot);
|
| + void CreateAudioEncoderEnableDtxGraph(Plot* plot);
|
| + void CreateAudioEncoderNumChannelsGraph(Plot* plot);
|
| +
|
| // Returns a vector of capture and arrival timestamps for the video frames
|
| // of the stream with the most number of frames.
|
| std::vector<std::pair<int64_t, int64_t>> GetFrameTimestamps() const;
|
| @@ -127,6 +140,11 @@ class EventLogAnalyzer {
|
|
|
| std::string GetStreamName(StreamId) const;
|
|
|
| + void FillAudioEncoderTimeSeries(
|
| + Plot* plot,
|
| + rtc::FunctionView<rtc::Optional<float>(
|
| + const AudioNetworkAdaptationEvent& ana_event)> get_y) const;
|
| +
|
| const ParsedRtcEventLog& parsed_log_;
|
|
|
| // A list of SSRCs we are interested in analysing.
|
| @@ -152,6 +170,8 @@ class EventLogAnalyzer {
|
| // A list of all updates from the send-side loss-based bandwidth estimator.
|
| std::vector<LossBasedBweUpdate> bwe_loss_updates_;
|
|
|
| + std::vector<AudioNetworkAdaptationEvent> audio_network_adaptation_events_;
|
| +
|
| // 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
|
|
|