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 |