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

Side by Side Diff: webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.cc

Issue 2850793002: Replace VideoReceiveStream::Config with new rtclog::StreamConfig in RtcEventLog. (Closed)
Patch Set: Fix merge. Created 3 years, 7 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 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 } 156 }
157 if ((type == rtclog::Event::BWE_PROBE_RESULT_EVENT) != 157 if ((type == rtclog::Event::BWE_PROBE_RESULT_EVENT) !=
158 event.has_probe_result()) { 158 event.has_probe_result()) {
159 return ::testing::AssertionFailure() 159 return ::testing::AssertionFailure()
160 << "Event of type " << type << " has " 160 << "Event of type " << type << " has "
161 << (event.has_probe_result() ? "" : "no ") << "bwe probe result"; 161 << (event.has_probe_result() ? "" : "no ") << "bwe probe result";
162 } 162 }
163 return ::testing::AssertionSuccess(); 163 return ::testing::AssertionSuccess();
164 } 164 }
165 165
166 void VerifyStreamConfigsAreEqual(const rtclog::StreamConfig& config_1,
167 const rtclog::StreamConfig& config_2) {
168 EXPECT_EQ(config_1.remote_ssrc, config_2.remote_ssrc);
169 EXPECT_EQ(config_1.local_ssrc, config_2.local_ssrc);
170 EXPECT_EQ(config_1.rtx_ssrc, config_2.rtx_ssrc);
171 EXPECT_EQ(config_1.rtcp_mode, config_2.rtcp_mode);
172 EXPECT_EQ(config_1.remb, config_2.remb);
173
174 ASSERT_EQ(config_1.rtp_extensions.size(), config_2.rtp_extensions.size());
175 for (size_t i = 0; i < config_2.rtp_extensions.size(); i++) {
176 EXPECT_EQ(config_1.rtp_extensions[i].uri, config_2.rtp_extensions[i].uri);
177 EXPECT_EQ(config_1.rtp_extensions[i].id, config_2.rtp_extensions[i].id);
178 }
179 ASSERT_EQ(config_1.codecs.size(), config_2.codecs.size());
180 for (size_t i = 0; i < config_2.codecs.size(); i++) {
181 EXPECT_EQ(config_1.codecs[i].payload_name, config_2.codecs[i].payload_name);
182 EXPECT_EQ(config_1.codecs[i].payload_type, config_2.codecs[i].payload_type);
183 EXPECT_EQ(config_1.codecs[i].rtx_payload_type,
184 config_2.codecs[i].rtx_payload_type);
185 }
186 }
187
166 void RtcEventLogTestHelper::VerifyVideoReceiveStreamConfig( 188 void RtcEventLogTestHelper::VerifyVideoReceiveStreamConfig(
167 const ParsedRtcEventLog& parsed_log, 189 const ParsedRtcEventLog& parsed_log,
168 size_t index, 190 size_t index,
169 const VideoReceiveStream::Config& config) { 191 const rtclog::StreamConfig& config) {
170 const rtclog::Event& event = parsed_log.events_[index]; 192 const rtclog::Event& event = parsed_log.events_[index];
171 ASSERT_TRUE(IsValidBasicEvent(event)); 193 ASSERT_TRUE(IsValidBasicEvent(event));
172 ASSERT_EQ(rtclog::Event::VIDEO_RECEIVER_CONFIG_EVENT, event.type()); 194 ASSERT_EQ(rtclog::Event::VIDEO_RECEIVER_CONFIG_EVENT, event.type());
173 const rtclog::VideoReceiveConfig& receiver_config = 195 const rtclog::VideoReceiveConfig& receiver_config =
174 event.video_receiver_config(); 196 event.video_receiver_config();
175 // Check SSRCs. 197 // Check SSRCs.
176 ASSERT_TRUE(receiver_config.has_remote_ssrc()); 198 ASSERT_TRUE(receiver_config.has_remote_ssrc());
177 EXPECT_EQ(config.rtp.remote_ssrc, receiver_config.remote_ssrc()); 199 EXPECT_EQ(config.remote_ssrc, receiver_config.remote_ssrc());
178 ASSERT_TRUE(receiver_config.has_local_ssrc()); 200 ASSERT_TRUE(receiver_config.has_local_ssrc());
179 EXPECT_EQ(config.rtp.local_ssrc, receiver_config.local_ssrc()); 201 EXPECT_EQ(config.local_ssrc, receiver_config.local_ssrc());
180 // Check RTCP settings. 202 // Check RTCP settings.
181 ASSERT_TRUE(receiver_config.has_rtcp_mode()); 203 ASSERT_TRUE(receiver_config.has_rtcp_mode());
182 if (config.rtp.rtcp_mode == RtcpMode::kCompound) { 204 if (config.rtcp_mode == RtcpMode::kCompound) {
183 EXPECT_EQ(rtclog::VideoReceiveConfig::RTCP_COMPOUND, 205 EXPECT_EQ(rtclog::VideoReceiveConfig::RTCP_COMPOUND,
184 receiver_config.rtcp_mode()); 206 receiver_config.rtcp_mode());
185 } else { 207 } else {
186 EXPECT_EQ(rtclog::VideoReceiveConfig::RTCP_REDUCEDSIZE, 208 EXPECT_EQ(rtclog::VideoReceiveConfig::RTCP_REDUCEDSIZE,
187 receiver_config.rtcp_mode()); 209 receiver_config.rtcp_mode());
188 } 210 }
189 ASSERT_TRUE(receiver_config.has_remb()); 211 ASSERT_TRUE(receiver_config.has_remb());
190 EXPECT_EQ(config.rtp.remb, receiver_config.remb()); 212 EXPECT_EQ(config.remb, receiver_config.remb());
191 // Check RTX map. 213 // Check RTX map.
192 ASSERT_EQ(static_cast<int>(config.rtp.rtx_payload_types.size()),
193 receiver_config.rtx_map_size());
194 for (const rtclog::RtxMap& rtx_map : receiver_config.rtx_map()) { 214 for (const rtclog::RtxMap& rtx_map : receiver_config.rtx_map()) {
195 ASSERT_TRUE(rtx_map.has_payload_type()); 215 ASSERT_TRUE(rtx_map.has_payload_type());
196 ASSERT_TRUE(rtx_map.has_config()); 216 ASSERT_TRUE(rtx_map.has_config());
197 EXPECT_EQ(1u, config.rtp.rtx_payload_types.count(rtx_map.payload_type()));
198 const rtclog::RtxConfig& rtx_config = rtx_map.config(); 217 const rtclog::RtxConfig& rtx_config = rtx_map.config();
199 ASSERT_TRUE(rtx_config.has_rtx_ssrc()); 218 ASSERT_TRUE(rtx_config.has_rtx_ssrc());
200 ASSERT_TRUE(rtx_config.has_rtx_payload_type()); 219 ASSERT_TRUE(rtx_config.has_rtx_payload_type());
201 EXPECT_EQ(config.rtp.rtx_ssrc, rtx_config.rtx_ssrc()); 220
202 EXPECT_EQ(config.rtp.rtx_payload_types.at(rtx_map.payload_type()), 221 EXPECT_EQ(config.rtx_ssrc, rtx_config.rtx_ssrc());
203 rtx_config.rtx_payload_type()); 222 auto codec_found =
223 std::find_if(config.codecs.begin(), config.codecs.end(),
224 [&rtx_map](const rtclog::StreamConfig::Codec& codec) {
225 return rtx_map.payload_type() == codec.payload_type;
226 });
227 ASSERT_TRUE(codec_found != config.codecs.end());
228 EXPECT_EQ(rtx_config.rtx_payload_type(), codec_found->rtx_payload_type);
204 } 229 }
205 // Check header extensions. 230 // Check header extensions.
206 ASSERT_EQ(static_cast<int>(config.rtp.extensions.size()), 231 ASSERT_EQ(static_cast<int>(config.rtp_extensions.size()),
207 receiver_config.header_extensions_size()); 232 receiver_config.header_extensions_size());
208 for (int i = 0; i < receiver_config.header_extensions_size(); i++) { 233 for (int i = 0; i < receiver_config.header_extensions_size(); i++) {
209 ASSERT_TRUE(receiver_config.header_extensions(i).has_name()); 234 ASSERT_TRUE(receiver_config.header_extensions(i).has_name());
210 ASSERT_TRUE(receiver_config.header_extensions(i).has_id()); 235 ASSERT_TRUE(receiver_config.header_extensions(i).has_id());
211 const std::string& name = receiver_config.header_extensions(i).name(); 236 const std::string& name = receiver_config.header_extensions(i).name();
212 int id = receiver_config.header_extensions(i).id(); 237 int id = receiver_config.header_extensions(i).id();
213 EXPECT_EQ(config.rtp.extensions[i].id, id); 238 EXPECT_EQ(config.rtp_extensions[i].id, id);
214 EXPECT_EQ(config.rtp.extensions[i].uri, name); 239 EXPECT_EQ(config.rtp_extensions[i].uri, name);
215 } 240 }
216 // Check decoders. 241 // Check decoders.
217 ASSERT_EQ(static_cast<int>(config.decoders.size()), 242 ASSERT_EQ(static_cast<int>(config.codecs.size()),
218 receiver_config.decoders_size()); 243 receiver_config.decoders_size());
219 for (int i = 0; i < receiver_config.decoders_size(); i++) { 244 for (int i = 0; i < receiver_config.decoders_size(); i++) {
220 ASSERT_TRUE(receiver_config.decoders(i).has_name()); 245 ASSERT_TRUE(receiver_config.decoders(i).has_name());
221 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type()); 246 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type());
222 const std::string& decoder_name = receiver_config.decoders(i).name(); 247 const std::string& decoder_name = receiver_config.decoders(i).name();
223 int decoder_type = receiver_config.decoders(i).payload_type(); 248 int decoder_type = receiver_config.decoders(i).payload_type();
224 EXPECT_EQ(config.decoders[i].payload_name, decoder_name); 249 EXPECT_EQ(config.codecs[i].payload_name, decoder_name);
225 EXPECT_EQ(config.decoders[i].payload_type, decoder_type); 250 EXPECT_EQ(config.codecs[i].payload_type, decoder_type);
226 } 251 }
227 252
228 // Check consistency of the parser. 253 // Check consistency of the parser.
229 VideoReceiveStream::Config parsed_config(nullptr); 254 rtclog::StreamConfig parsed_config;
230 parsed_log.GetVideoReceiveConfig(index, &parsed_config); 255 parsed_log.GetVideoReceiveConfig(index, &parsed_config);
231 EXPECT_EQ(config.rtp.remote_ssrc, parsed_config.rtp.remote_ssrc); 256 VerifyStreamConfigsAreEqual(config, parsed_config);
232 EXPECT_EQ(config.rtp.local_ssrc, parsed_config.rtp.local_ssrc);
233 // Check RTCP settings.
234 EXPECT_EQ(config.rtp.rtcp_mode, parsed_config.rtp.rtcp_mode);
235 EXPECT_EQ(config.rtp.remb, parsed_config.rtp.remb);
236 // Check RTX map.
237 EXPECT_EQ(config.rtp.rtx_ssrc, parsed_config.rtp.rtx_ssrc);
238 EXPECT_EQ(config.rtp.rtx_payload_types.size(),
239 parsed_config.rtp.rtx_payload_types.size());
240 for (const auto& kv : config.rtp.rtx_payload_types) {
241 auto parsed_kv = parsed_config.rtp.rtx_payload_types.find(kv.first);
242 EXPECT_EQ(kv.first, parsed_kv->first);
243 EXPECT_EQ(kv.second, parsed_kv->second);
244 }
245 // Check header extensions.
246 EXPECT_EQ(config.rtp.extensions.size(), parsed_config.rtp.extensions.size());
247 for (size_t i = 0; i < parsed_config.rtp.extensions.size(); i++) {
248 EXPECT_EQ(config.rtp.extensions[i].uri,
249 parsed_config.rtp.extensions[i].uri);
250 EXPECT_EQ(config.rtp.extensions[i].id, parsed_config.rtp.extensions[i].id);
251 }
252 // Check decoders.
253 EXPECT_EQ(config.decoders.size(), parsed_config.decoders.size());
254 for (size_t i = 0; i < parsed_config.decoders.size(); i++) {
255 EXPECT_EQ(config.decoders[i].payload_name,
256 parsed_config.decoders[i].payload_name);
257 EXPECT_EQ(config.decoders[i].payload_type,
258 parsed_config.decoders[i].payload_type);
259 }
260 } 257 }
261 258
262 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig( 259 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig(
263 const ParsedRtcEventLog& parsed_log, 260 const ParsedRtcEventLog& parsed_log,
264 size_t index, 261 size_t index,
265 const VideoSendStream::Config& config) { 262 const VideoSendStream::Config& config) {
266 const rtclog::Event& event = parsed_log.events_[index]; 263 const rtclog::Event& event = parsed_log.events_[index];
267 ASSERT_TRUE(IsValidBasicEvent(event)); 264 ASSERT_TRUE(IsValidBasicEvent(event));
268 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type()); 265 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type());
269 const rtclog::VideoSendConfig& sender_config = event.video_sender_config(); 266 const rtclog::VideoSendConfig& sender_config = event.video_sender_config();
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
633 ASSERT_TRUE(bwe_event.has_id()); 630 ASSERT_TRUE(bwe_event.has_id());
634 EXPECT_EQ(id, bwe_event.id()); 631 EXPECT_EQ(id, bwe_event.id());
635 ASSERT_TRUE(bwe_event.has_result()); 632 ASSERT_TRUE(bwe_event.has_result());
636 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result()); 633 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result());
637 ASSERT_FALSE(bwe_event.has_bitrate_bps()); 634 ASSERT_FALSE(bwe_event.has_bitrate_bps());
638 635
639 // TODO(philipel): Verify the parser when parsing has been implemented. 636 // TODO(philipel): Verify the parser when parsing has been implemented.
640 } 637 }
641 638
642 } // namespace webrtc 639 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h ('k') | webrtc/tools/event_log_visualizer/analyzer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698