Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(286)

Side by Side Diff: webrtc/tools/event_log_visualizer/analyzer.h

Issue 2876423002: Add NetEq delay plotting to event_log_visualizer (Closed)
Patch Set: After terilius's review Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2016 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
93 93
94 void CreateNetworkDelayFeedbackGraph(Plot* plot); 94 void CreateNetworkDelayFeedbackGraph(Plot* plot);
95 void CreateTimestampGraph(Plot* plot); 95 void CreateTimestampGraph(Plot* plot);
96 96
97 void CreateAudioEncoderTargetBitrateGraph(Plot* plot); 97 void CreateAudioEncoderTargetBitrateGraph(Plot* plot);
98 void CreateAudioEncoderFrameLengthGraph(Plot* plot); 98 void CreateAudioEncoderFrameLengthGraph(Plot* plot);
99 void CreateAudioEncoderUplinkPacketLossFractionGraph(Plot* plot); 99 void CreateAudioEncoderUplinkPacketLossFractionGraph(Plot* plot);
100 void CreateAudioEncoderEnableFecGraph(Plot* plot); 100 void CreateAudioEncoderEnableFecGraph(Plot* plot);
101 void CreateAudioEncoderEnableDtxGraph(Plot* plot); 101 void CreateAudioEncoderEnableDtxGraph(Plot* plot);
102 void CreateAudioEncoderNumChannelsGraph(Plot* plot); 102 void CreateAudioEncoderNumChannelsGraph(Plot* plot);
103 void CreateAudioJitterBufferGraph(const std::string& replacement_file_name,
104 int file_sample_rate_hz,
105 Plot* plot);
103 106
104 // Returns a vector of capture and arrival timestamps for the video frames 107 // Returns a vector of capture and arrival timestamps for the video frames
105 // of the stream with the most number of frames. 108 // of the stream with the most number of frames.
106 std::vector<std::pair<int64_t, int64_t>> GetFrameTimestamps() const; 109 std::vector<std::pair<int64_t, int64_t>> GetFrameTimestamps() const;
107 110
108 private: 111 private:
109 class StreamId { 112 class StreamId {
110 public: 113 public:
111 StreamId(uint32_t ssrc, webrtc::PacketDirection direction) 114 StreamId(uint32_t ssrc, webrtc::PacketDirection direction)
112 : ssrc_(ssrc), direction_(direction) {} 115 : ssrc_(ssrc), direction_(direction) {}
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 std::set<StreamId> video_ssrcs_; 159 std::set<StreamId> video_ssrcs_;
157 std::set<StreamId> audio_ssrcs_; 160 std::set<StreamId> audio_ssrcs_;
158 161
159 // Maps a stream identifier consisting of ssrc and direction to the parsed 162 // Maps a stream identifier consisting of ssrc and direction to the parsed
160 // RTP headers in that stream. Header extensions are parsed if the stream 163 // RTP headers in that stream. Header extensions are parsed if the stream
161 // has been configured. 164 // has been configured.
162 std::map<StreamId, std::vector<LoggedRtpPacket>> rtp_packets_; 165 std::map<StreamId, std::vector<LoggedRtpPacket>> rtp_packets_;
163 166
164 std::map<StreamId, std::vector<LoggedRtcpPacket>> rtcp_packets_; 167 std::map<StreamId, std::vector<LoggedRtcpPacket>> rtcp_packets_;
165 168
169 // Maps an SSRC to the timestamps of parsed audio playout events.
170 std::map<uint32_t, std::vector<uint64_t>> audio_playout_events_;
171
172 // Stores the timestamps for all log end events found.
173 std::vector<uint64_t> log_end_events_;
terelius 2017/06/09 14:48:36 std::vector<std::pair<uint64_t, uint64_t>> log_seg
hlundin-webrtc 2017/06/12 07:15:08 I did something, but I'm not sure what assumptions
terelius 2017/06/13 15:16:26 Yes, we write a LOG_START event whenever we start
hlundin-webrtc 2017/06/14 12:09:12 Done. That seems like a good solution.
174
166 // A list of all updates from the send-side loss-based bandwidth estimator. 175 // A list of all updates from the send-side loss-based bandwidth estimator.
167 std::vector<LossBasedBweUpdate> bwe_loss_updates_; 176 std::vector<LossBasedBweUpdate> bwe_loss_updates_;
168 177
169 std::vector<AudioNetworkAdaptationEvent> audio_network_adaptation_events_; 178 std::vector<AudioNetworkAdaptationEvent> audio_network_adaptation_events_;
170 179
171 std::vector<ParsedRtcEventLog::BweProbeClusterCreatedEvent> 180 std::vector<ParsedRtcEventLog::BweProbeClusterCreatedEvent>
172 bwe_probe_cluster_created_events_; 181 bwe_probe_cluster_created_events_;
173 182
174 std::vector<ParsedRtcEventLog::BweProbeResultEvent> bwe_probe_result_events_; 183 std::vector<ParsedRtcEventLog::BweProbeResultEvent> bwe_probe_result_events_;
175 184
(...skipping 11 matching lines...) Expand all
187 uint64_t end_time_; 196 uint64_t end_time_;
188 197
189 // Duration (in seconds) of log file. 198 // Duration (in seconds) of log file.
190 float call_duration_s_; 199 float call_duration_s_;
191 }; 200 };
192 201
193 } // namespace plotting 202 } // namespace plotting
194 } // namespace webrtc 203 } // namespace webrtc
195 204
196 #endif // WEBRTC_TOOLS_EVENT_LOG_VISUALIZER_ANALYZER_H_ 205 #endif // WEBRTC_TOOLS_EVENT_LOG_VISUALIZER_ANALYZER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698