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

Side by Side Diff: webrtc/api/rtcstats_integrationtest.cc

Issue 2641763003: RTCMediaStreamTrackStats collected on a per-attachment basis. (Closed)
Patch Set: Added comments Created 3 years, 11 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
« no previous file with comments | « no previous file | webrtc/api/rtcstatscollector.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2016 The WebRTC project authors. All Rights Reserved. 2 * Copyright 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 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 const RTCMediaStreamTrackStats& media_stream_track) { 426 const RTCMediaStreamTrackStats& media_stream_track) {
427 RTCStatsVerifier verifier(report_, &media_stream_track); 427 RTCStatsVerifier verifier(report_, &media_stream_track);
428 verifier.TestMemberIsDefined(media_stream_track.track_identifier); 428 verifier.TestMemberIsDefined(media_stream_track.track_identifier);
429 verifier.TestMemberIsDefined(media_stream_track.remote_source); 429 verifier.TestMemberIsDefined(media_stream_track.remote_source);
430 verifier.TestMemberIsDefined(media_stream_track.ended); 430 verifier.TestMemberIsDefined(media_stream_track.ended);
431 verifier.TestMemberIsDefined(media_stream_track.detached); 431 verifier.TestMemberIsDefined(media_stream_track.detached);
432 verifier.TestMemberIsDefined(media_stream_track.kind); 432 verifier.TestMemberIsDefined(media_stream_track.kind);
433 // Video or audio media stream track? 433 // Video or audio media stream track?
434 if (*media_stream_track.kind == RTCMediaStreamTrackKind::kVideo) { 434 if (*media_stream_track.kind == RTCMediaStreamTrackKind::kVideo) {
435 // Video-only members 435 // Video-only members
436 if (!*media_stream_track.remote_source) { 436 verifier.TestMemberIsNonNegative<uint32_t>(
437 verifier.TestMemberIsNonNegative<uint32_t>( 437 media_stream_track.frame_width);
438 media_stream_track.frame_width); 438 verifier.TestMemberIsNonNegative<uint32_t>(
439 verifier.TestMemberIsNonNegative<uint32_t>( 439 media_stream_track.frame_height);
440 media_stream_track.frame_height);
441 } else {
442 // TODO(hbos): Frame width/height should be defined for the remote case.
443 // Is this a real problem or an artifact of testing? crbug.com/659137
444 verifier.TestMemberIsUndefined(media_stream_track.frame_width);
445 verifier.TestMemberIsUndefined(media_stream_track.frame_height);
446 }
447 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second); 440 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second);
448 verifier.TestMemberIsUndefined(media_stream_track.frames_sent); 441 verifier.TestMemberIsUndefined(media_stream_track.frames_sent);
449 verifier.TestMemberIsUndefined(media_stream_track.frames_received); 442 verifier.TestMemberIsUndefined(media_stream_track.frames_received);
450 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded); 443 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded);
451 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); 444 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped);
452 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); 445 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted);
453 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); 446 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost);
454 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); 447 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost);
455 // Audio-only members should be undefined 448 // Audio-only members should be undefined
456 verifier.TestMemberIsUndefined(media_stream_track.audio_level); 449 verifier.TestMemberIsUndefined(media_stream_track.audio_level);
457 verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss); 450 verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss);
458 verifier.TestMemberIsUndefined( 451 verifier.TestMemberIsUndefined(
459 media_stream_track.echo_return_loss_enhancement); 452 media_stream_track.echo_return_loss_enhancement);
460 } else { 453 } else {
461 // Video-only members should be undefined 454 // Video-only members should be undefined
462 verifier.TestMemberIsUndefined(media_stream_track.frame_width); 455 verifier.TestMemberIsUndefined(media_stream_track.frame_width);
463 verifier.TestMemberIsUndefined(media_stream_track.frame_height); 456 verifier.TestMemberIsUndefined(media_stream_track.frame_height);
464 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second); 457 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second);
465 verifier.TestMemberIsUndefined(media_stream_track.frames_sent); 458 verifier.TestMemberIsUndefined(media_stream_track.frames_sent);
466 verifier.TestMemberIsUndefined(media_stream_track.frames_received); 459 verifier.TestMemberIsUndefined(media_stream_track.frames_received);
467 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded); 460 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded);
468 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); 461 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped);
469 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); 462 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted);
470 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); 463 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost);
471 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); 464 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost);
472 // Audio-only members 465 // Audio-only members
473 // TODO(hbos): Why are the audio track missing |audio_level|, 466 verifier.TestMemberIsNonNegative<double>(media_stream_track.audio_level);
474 // |echo_return_loss| and |echo_return_loss_enhancement|? Is this a real 467 // TODO(hbos): Find out why |echo_return_loss| and
475 // problem or does it have to do with testing and not using real devices? 468 // |echo_return_loss_enhancement| are undefined in the integration test.
469 // Is this a real problem or a test problem? Update test so that they are.
476 // crbug.com/627816 470 // crbug.com/627816
477 verifier.MarkMemberTested(media_stream_track.audio_level, true); 471 verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss);
478 verifier.MarkMemberTested(media_stream_track.echo_return_loss, true); 472 verifier.TestMemberIsUndefined(
479 verifier.MarkMemberTested( 473 media_stream_track.echo_return_loss_enhancement);
480 media_stream_track.echo_return_loss_enhancement, true);
481 } 474 }
482 return verifier.ExpectAllMembersSuccessfullyTested(); 475 return verifier.ExpectAllMembersSuccessfullyTested();
483 } 476 }
484 477
485 bool VerifyRTCPeerConnectionStats( 478 bool VerifyRTCPeerConnectionStats(
486 const RTCPeerConnectionStats& peer_connection) { 479 const RTCPeerConnectionStats& peer_connection) {
487 RTCStatsVerifier verifier(report_, &peer_connection); 480 RTCStatsVerifier verifier(report_, &peer_connection);
488 verifier.TestMemberIsNonNegative<uint32_t>( 481 verifier.TestMemberIsNonNegative<uint32_t>(
489 peer_connection.data_channels_opened); 482 peer_connection.data_channels_opened);
490 verifier.TestMemberIsNonNegative<uint32_t>( 483 verifier.TestMemberIsNonNegative<uint32_t>(
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 caller_ = nullptr; 612 caller_ = nullptr;
620 // Any pending stats requests should have completed in the act of destroying 613 // Any pending stats requests should have completed in the act of destroying
621 // the peer connection. 614 // the peer connection.
622 EXPECT_TRUE(stats_obtainer->report()); 615 EXPECT_TRUE(stats_obtainer->report());
623 } 616 }
624 #endif // HAVE_SCTP 617 #endif // HAVE_SCTP
625 618
626 } // namespace 619 } // namespace
627 620
628 } // namespace webrtc 621 } // namespace webrtc
OLDNEW
« no previous file with comments | « no previous file | webrtc/api/rtcstatscollector.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698