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

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

Issue 2912113002: Ensure the RtcEventLog parser is backwards compatible (Closed)
Patch Set: 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
11 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h" 11 #include "webrtc/logging/rtc_event_log/rtc_event_log_unittest_helper.h"
12 12
13 #include <string.h> 13 #include <string.h>
14 14
15 #include <string> 15 #include <string>
16 #include <vector>
16 17
17 #include "webrtc/base/checks.h" 18 #include "webrtc/base/checks.h"
18 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ k_adaptor.h" 19 #include "webrtc/modules/audio_coding/audio_network_adaptor/include/audio_networ k_adaptor.h"
19 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h" 20 #include "webrtc/modules/remote_bitrate_estimator/include/bwe_defines.h"
20 #include "webrtc/test/gtest.h" 21 #include "webrtc/test/gtest.h"
21 #include "webrtc/test/testsupport/fileutils.h" 22 #include "webrtc/test/testsupport/fileutils.h"
22 23
23 // Files generated at build-time by the protobuf compiler. 24 // Files generated at build-time by the protobuf compiler.
24 #ifdef WEBRTC_ANDROID_PLATFORM_BUILD 25 #ifdef WEBRTC_ANDROID_PLATFORM_BUILD
25 #include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h" 26 #include "external/webrtc/webrtc/logging/rtc_event_log/rtc_event_log.pb.h"
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
230 for (int i = 0; i < receiver_config.decoders_size(); i++) { 231 for (int i = 0; i < receiver_config.decoders_size(); i++) {
231 ASSERT_TRUE(receiver_config.decoders(i).has_name()); 232 ASSERT_TRUE(receiver_config.decoders(i).has_name());
232 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type()); 233 ASSERT_TRUE(receiver_config.decoders(i).has_payload_type());
233 const std::string& decoder_name = receiver_config.decoders(i).name(); 234 const std::string& decoder_name = receiver_config.decoders(i).name();
234 int decoder_type = receiver_config.decoders(i).payload_type(); 235 int decoder_type = receiver_config.decoders(i).payload_type();
235 EXPECT_EQ(config.codecs[i].payload_name, decoder_name); 236 EXPECT_EQ(config.codecs[i].payload_name, decoder_name);
236 EXPECT_EQ(config.codecs[i].payload_type, decoder_type); 237 EXPECT_EQ(config.codecs[i].payload_type, decoder_type);
237 } 238 }
238 239
239 // Check consistency of the parser. 240 // Check consistency of the parser.
240 rtclog::StreamConfig parsed_config; 241 rtclog::StreamConfig parsed_config = parsed_log.GetVideoReceiveConfig(index);
241 parsed_log.GetVideoReceiveConfig(index, &parsed_config);
242 VerifyStreamConfigsAreEqual(config, parsed_config); 242 VerifyStreamConfigsAreEqual(config, parsed_config);
243 } 243 }
244 244
245 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig( 245 void RtcEventLogTestHelper::VerifyVideoSendStreamConfig(
246 const ParsedRtcEventLog& parsed_log, 246 const ParsedRtcEventLog& parsed_log,
247 size_t index, 247 size_t index,
248 const rtclog::StreamConfig& config) { 248 const rtclog::StreamConfig& config) {
249 const rtclog::Event& event = parsed_log.events_[index]; 249 const rtclog::Event& event = parsed_log.events_[index];
250 ASSERT_TRUE(IsValidBasicEvent(event)); 250 ASSERT_TRUE(IsValidBasicEvent(event));
251 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type()); 251 ASSERT_EQ(rtclog::Event::VIDEO_SENDER_CONFIG_EVENT, event.type());
(...skipping 18 matching lines...) Expand all
270 ASSERT_TRUE(sender_config.encoder().has_name()); 270 ASSERT_TRUE(sender_config.encoder().has_name());
271 ASSERT_TRUE(sender_config.encoder().has_payload_type()); 271 ASSERT_TRUE(sender_config.encoder().has_payload_type());
272 EXPECT_EQ(config.codecs[0].payload_name, sender_config.encoder().name()); 272 EXPECT_EQ(config.codecs[0].payload_name, sender_config.encoder().name());
273 EXPECT_EQ(config.codecs[0].payload_type, 273 EXPECT_EQ(config.codecs[0].payload_type,
274 sender_config.encoder().payload_type()); 274 sender_config.encoder().payload_type());
275 275
276 EXPECT_EQ(config.codecs[0].rtx_payload_type, 276 EXPECT_EQ(config.codecs[0].rtx_payload_type,
277 sender_config.rtx_payload_type()); 277 sender_config.rtx_payload_type());
278 278
279 // Check consistency of the parser. 279 // Check consistency of the parser.
280 rtclog::StreamConfig parsed_config; 280 std::vector<rtclog::StreamConfig> parsed_configs =
281 parsed_log.GetVideoSendConfig(index, &parsed_config); 281 parsed_log.GetVideoSendConfig(index);
282 VerifyStreamConfigsAreEqual(config, parsed_config); 282 ASSERT_EQ(1u, parsed_configs.size());
283 VerifyStreamConfigsAreEqual(config, parsed_configs[0]);
283 } 284 }
284 285
285 void RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig( 286 void RtcEventLogTestHelper::VerifyAudioReceiveStreamConfig(
286 const ParsedRtcEventLog& parsed_log, 287 const ParsedRtcEventLog& parsed_log,
287 size_t index, 288 size_t index,
288 const rtclog::StreamConfig& config) { 289 const rtclog::StreamConfig& config) {
289 const rtclog::Event& event = parsed_log.events_[index]; 290 const rtclog::Event& event = parsed_log.events_[index];
290 ASSERT_TRUE(IsValidBasicEvent(event)); 291 ASSERT_TRUE(IsValidBasicEvent(event));
291 ASSERT_EQ(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT, event.type()); 292 ASSERT_EQ(rtclog::Event::AUDIO_RECEIVER_CONFIG_EVENT, event.type());
292 const rtclog::AudioReceiveConfig& receiver_config = 293 const rtclog::AudioReceiveConfig& receiver_config =
293 event.audio_receiver_config(); 294 event.audio_receiver_config();
294 // Check SSRCs. 295 // Check SSRCs.
295 ASSERT_TRUE(receiver_config.has_remote_ssrc()); 296 ASSERT_TRUE(receiver_config.has_remote_ssrc());
296 EXPECT_EQ(config.remote_ssrc, receiver_config.remote_ssrc()); 297 EXPECT_EQ(config.remote_ssrc, receiver_config.remote_ssrc());
297 ASSERT_TRUE(receiver_config.has_local_ssrc()); 298 ASSERT_TRUE(receiver_config.has_local_ssrc());
298 EXPECT_EQ(config.local_ssrc, receiver_config.local_ssrc()); 299 EXPECT_EQ(config.local_ssrc, receiver_config.local_ssrc());
299 // Check header extensions. 300 // Check header extensions.
300 ASSERT_EQ(static_cast<int>(config.rtp_extensions.size()), 301 ASSERT_EQ(static_cast<int>(config.rtp_extensions.size()),
301 receiver_config.header_extensions_size()); 302 receiver_config.header_extensions_size());
302 for (int i = 0; i < receiver_config.header_extensions_size(); i++) { 303 for (int i = 0; i < receiver_config.header_extensions_size(); i++) {
303 ASSERT_TRUE(receiver_config.header_extensions(i).has_name()); 304 ASSERT_TRUE(receiver_config.header_extensions(i).has_name());
304 ASSERT_TRUE(receiver_config.header_extensions(i).has_id()); 305 ASSERT_TRUE(receiver_config.header_extensions(i).has_id());
305 const std::string& name = receiver_config.header_extensions(i).name(); 306 const std::string& name = receiver_config.header_extensions(i).name();
306 int id = receiver_config.header_extensions(i).id(); 307 int id = receiver_config.header_extensions(i).id();
307 EXPECT_EQ(config.rtp_extensions[i].id, id); 308 EXPECT_EQ(config.rtp_extensions[i].id, id);
308 EXPECT_EQ(config.rtp_extensions[i].uri, name); 309 EXPECT_EQ(config.rtp_extensions[i].uri, name);
309 } 310 }
310 311
311 // Check consistency of the parser. 312 // Check consistency of the parser.
312 rtclog::StreamConfig parsed_config; 313 rtclog::StreamConfig parsed_config = parsed_log.GetAudioReceiveConfig(index);
313 parsed_log.GetAudioReceiveConfig(index, &parsed_config);
314 EXPECT_EQ(config.remote_ssrc, parsed_config.remote_ssrc); 314 EXPECT_EQ(config.remote_ssrc, parsed_config.remote_ssrc);
315 EXPECT_EQ(config.local_ssrc, parsed_config.local_ssrc); 315 EXPECT_EQ(config.local_ssrc, parsed_config.local_ssrc);
316 // Check header extensions. 316 // Check header extensions.
317 EXPECT_EQ(config.rtp_extensions.size(), parsed_config.rtp_extensions.size()); 317 EXPECT_EQ(config.rtp_extensions.size(), parsed_config.rtp_extensions.size());
318 for (size_t i = 0; i < parsed_config.rtp_extensions.size(); i++) { 318 for (size_t i = 0; i < parsed_config.rtp_extensions.size(); i++) {
319 EXPECT_EQ(config.rtp_extensions[i].uri, 319 EXPECT_EQ(config.rtp_extensions[i].uri,
320 parsed_config.rtp_extensions[i].uri); 320 parsed_config.rtp_extensions[i].uri);
321 EXPECT_EQ(config.rtp_extensions[i].id, parsed_config.rtp_extensions[i].id); 321 EXPECT_EQ(config.rtp_extensions[i].id, parsed_config.rtp_extensions[i].id);
322 } 322 }
323 } 323 }
(...skipping 14 matching lines...) Expand all
338 for (int i = 0; i < sender_config.header_extensions_size(); i++) { 338 for (int i = 0; i < sender_config.header_extensions_size(); i++) {
339 ASSERT_TRUE(sender_config.header_extensions(i).has_name()); 339 ASSERT_TRUE(sender_config.header_extensions(i).has_name());
340 ASSERT_TRUE(sender_config.header_extensions(i).has_id()); 340 ASSERT_TRUE(sender_config.header_extensions(i).has_id());
341 const std::string& name = sender_config.header_extensions(i).name(); 341 const std::string& name = sender_config.header_extensions(i).name();
342 int id = sender_config.header_extensions(i).id(); 342 int id = sender_config.header_extensions(i).id();
343 EXPECT_EQ(config.rtp_extensions[i].id, id); 343 EXPECT_EQ(config.rtp_extensions[i].id, id);
344 EXPECT_EQ(config.rtp_extensions[i].uri, name); 344 EXPECT_EQ(config.rtp_extensions[i].uri, name);
345 } 345 }
346 346
347 // Check consistency of the parser. 347 // Check consistency of the parser.
348 rtclog::StreamConfig parsed_config; 348 rtclog::StreamConfig parsed_config = parsed_log.GetAudioSendConfig(index);
349 parsed_log.GetAudioSendConfig(index, &parsed_config);
350 VerifyStreamConfigsAreEqual(config, parsed_config); 349 VerifyStreamConfigsAreEqual(config, parsed_config);
351 } 350 }
352 351
353 void RtcEventLogTestHelper::VerifyRtpEvent(const ParsedRtcEventLog& parsed_log, 352 void RtcEventLogTestHelper::VerifyRtpEvent(const ParsedRtcEventLog& parsed_log,
354 size_t index, 353 size_t index,
355 PacketDirection direction, 354 PacketDirection direction,
356 const uint8_t* header, 355 const uint8_t* header,
357 size_t header_size, 356 size_t header_size,
358 size_t total_size) { 357 size_t total_size) {
359 const rtclog::Event& event = parsed_log.events_[index]; 358 const rtclog::Event& event = parsed_log.events_[index];
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
565 ASSERT_TRUE(bwe_event.has_id()); 564 ASSERT_TRUE(bwe_event.has_id());
566 EXPECT_EQ(id, bwe_event.id()); 565 EXPECT_EQ(id, bwe_event.id());
567 ASSERT_TRUE(bwe_event.has_result()); 566 ASSERT_TRUE(bwe_event.has_result());
568 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result()); 567 EXPECT_EQ(GetProbeResultType(failure_reason), bwe_event.result());
569 ASSERT_FALSE(bwe_event.has_bitrate_bps()); 568 ASSERT_FALSE(bwe_event.has_bitrate_bps());
570 569
571 // TODO(philipel): Verify the parser when parsing has been implemented. 570 // TODO(philipel): Verify the parser when parsing has been implemented.
572 } 571 }
573 572
574 } // namespace webrtc 573 } // namespace webrtc
OLDNEW
« no previous file with comments | « webrtc/logging/rtc_event_log/rtc_event_log_parser.cc ('k') | webrtc/tools/event_log_visualizer/analyzer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698