OLD | NEW |
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...) Loading... |
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...) Loading... |
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 |
OLD | NEW |