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 455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
466 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); | 466 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); |
467 } | 467 } |
468 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); | 468 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); |
469 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); | 469 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); |
470 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); | 470 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); |
471 // Audio-only members should be undefined | 471 // Audio-only members should be undefined |
472 verifier.TestMemberIsUndefined(media_stream_track.audio_level); | 472 verifier.TestMemberIsUndefined(media_stream_track.audio_level); |
473 verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss); | 473 verifier.TestMemberIsUndefined(media_stream_track.echo_return_loss); |
474 verifier.TestMemberIsUndefined( | 474 verifier.TestMemberIsUndefined( |
475 media_stream_track.echo_return_loss_enhancement); | 475 media_stream_track.echo_return_loss_enhancement); |
| 476 verifier.TestMemberIsUndefined(media_stream_track.total_audio_energy); |
| 477 verifier.TestMemberIsUndefined(media_stream_track.total_samples_duration); |
476 } else { | 478 } else { |
477 RTC_DCHECK_EQ(*media_stream_track.kind, | 479 RTC_DCHECK_EQ(*media_stream_track.kind, |
478 RTCMediaStreamTrackKind::kAudio); | 480 RTCMediaStreamTrackKind::kAudio); |
479 // Video-only members should be undefined | 481 // Video-only members should be undefined |
480 verifier.TestMemberIsUndefined(media_stream_track.frame_width); | 482 verifier.TestMemberIsUndefined(media_stream_track.frame_width); |
481 verifier.TestMemberIsUndefined(media_stream_track.frame_height); | 483 verifier.TestMemberIsUndefined(media_stream_track.frame_height); |
482 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second); | 484 verifier.TestMemberIsUndefined(media_stream_track.frames_per_second); |
483 verifier.TestMemberIsUndefined(media_stream_track.frames_sent); | 485 verifier.TestMemberIsUndefined(media_stream_track.frames_sent); |
484 verifier.TestMemberIsUndefined(media_stream_track.frames_received); | 486 verifier.TestMemberIsUndefined(media_stream_track.frames_received); |
485 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded); | 487 verifier.TestMemberIsUndefined(media_stream_track.frames_decoded); |
486 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); | 488 verifier.TestMemberIsUndefined(media_stream_track.frames_dropped); |
487 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); | 489 verifier.TestMemberIsUndefined(media_stream_track.frames_corrupted); |
488 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); | 490 verifier.TestMemberIsUndefined(media_stream_track.partial_frames_lost); |
489 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); | 491 verifier.TestMemberIsUndefined(media_stream_track.full_frames_lost); |
490 // Audio-only members | 492 // Audio-only members |
491 verifier.TestMemberIsNonNegative<double>(media_stream_track.audio_level); | 493 verifier.TestMemberIsNonNegative<double>(media_stream_track.audio_level); |
| 494 // Remote audio tracks are expected to have audio energy/duration values |
| 495 // that can be used to compute audio levels between getStats calls. |
| 496 // TODO(deadbeef): Implement for sent audio tracks as well. |
| 497 if (media_stream_track.remote_source.is_defined() && |
| 498 *media_stream_track.remote_source) { |
| 499 verifier.TestMemberIsNonNegative<double>( |
| 500 media_stream_track.total_audio_energy); |
| 501 verifier.TestMemberIsNonNegative<double>( |
| 502 media_stream_track.total_samples_duration); |
| 503 } else { |
| 504 verifier.TestMemberIsUndefined(media_stream_track.total_audio_energy); |
| 505 verifier.TestMemberIsUndefined( |
| 506 media_stream_track.total_samples_duration); |
| 507 } |
492 // TODO(hbos): |echo_return_loss| and |echo_return_loss_enhancement| are | 508 // TODO(hbos): |echo_return_loss| and |echo_return_loss_enhancement| are |
493 // flaky on msan bot (sometimes defined, sometimes undefined). Should the | 509 // flaky on msan bot (sometimes defined, sometimes undefined). Should the |
494 // test run until available or is there a way to have it always be | 510 // test run until available or is there a way to have it always be |
495 // defined? crbug.com/627816 | 511 // defined? crbug.com/627816 |
496 verifier.MarkMemberTested(media_stream_track.echo_return_loss, true); | 512 verifier.MarkMemberTested(media_stream_track.echo_return_loss, true); |
497 verifier.MarkMemberTested( | 513 verifier.MarkMemberTested( |
498 media_stream_track.echo_return_loss_enhancement, true); | 514 media_stream_track.echo_return_loss_enhancement, true); |
499 } | 515 } |
500 return verifier.ExpectAllMembersSuccessfullyTested(); | 516 return verifier.ExpectAllMembersSuccessfullyTested(); |
501 } | 517 } |
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
641 caller_ = nullptr; | 657 caller_ = nullptr; |
642 // Any pending stats requests should have completed in the act of destroying | 658 // Any pending stats requests should have completed in the act of destroying |
643 // the peer connection. | 659 // the peer connection. |
644 EXPECT_TRUE(stats_obtainer->report()); | 660 EXPECT_TRUE(stats_obtainer->report()); |
645 } | 661 } |
646 #endif // HAVE_SCTP | 662 #endif // HAVE_SCTP |
647 | 663 |
648 } // namespace | 664 } // namespace |
649 | 665 |
650 } // namespace webrtc | 666 } // namespace webrtc |
OLD | NEW |