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

Side by Side Diff: webrtc/media/base/mediachannel.h

Issue 2964593002: Adding stats that can be used to compute output audio levels. (Closed)
Patch Set: Add test coverage in AudioSendStreamTest. Created 3 years, 5 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 | « webrtc/call/audio_send_stream.h ('k') | webrtc/media/engine/webrtcvoiceengine.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 (c) 2004 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2004 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 596 matching lines...) Expand 10 before | Expand all | Expand 10 after
607 rtc::Optional<int> codec_payload_type; 607 rtc::Optional<int> codec_payload_type;
608 std::vector<SsrcReceiverInfo> local_stats; 608 std::vector<SsrcReceiverInfo> local_stats;
609 std::vector<SsrcSenderInfo> remote_stats; 609 std::vector<SsrcSenderInfo> remote_stats;
610 }; 610 };
611 611
612 struct VoiceSenderInfo : public MediaSenderInfo { 612 struct VoiceSenderInfo : public MediaSenderInfo {
613 VoiceSenderInfo() 613 VoiceSenderInfo()
614 : ext_seqnum(0), 614 : ext_seqnum(0),
615 jitter_ms(0), 615 jitter_ms(0),
616 audio_level(0), 616 audio_level(0),
617 total_input_energy(0.0),
618 total_input_duration(0.0),
617 aec_quality_min(0.0), 619 aec_quality_min(0.0),
618 echo_delay_median_ms(0), 620 echo_delay_median_ms(0),
619 echo_delay_std_ms(0), 621 echo_delay_std_ms(0),
620 echo_return_loss(0), 622 echo_return_loss(0),
621 echo_return_loss_enhancement(0), 623 echo_return_loss_enhancement(0),
622 residual_echo_likelihood(0.0f), 624 residual_echo_likelihood(0.0f),
623 residual_echo_likelihood_recent_max(0.0f), 625 residual_echo_likelihood_recent_max(0.0f),
624 typing_noise_detected(false) {} 626 typing_noise_detected(false) {}
625 627
626 int ext_seqnum; 628 int ext_seqnum;
627 int jitter_ms; 629 int jitter_ms;
628 int audio_level; 630 int audio_level;
631 // See description of "totalAudioEnergy" in the WebRTC stats spec:
632 // https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-totalaudio energy
633 double total_input_energy;
634 double total_input_duration;
629 float aec_quality_min; 635 float aec_quality_min;
630 int echo_delay_median_ms; 636 int echo_delay_median_ms;
631 int echo_delay_std_ms; 637 int echo_delay_std_ms;
632 int echo_return_loss; 638 int echo_return_loss;
633 int echo_return_loss_enhancement; 639 int echo_return_loss_enhancement;
634 float residual_echo_likelihood; 640 float residual_echo_likelihood;
635 float residual_echo_likelihood_recent_max; 641 float residual_echo_likelihood_recent_max;
636 bool typing_noise_detected; 642 bool typing_noise_detected;
637 }; 643 };
638 644
639 struct VoiceReceiverInfo : public MediaReceiverInfo { 645 struct VoiceReceiverInfo : public MediaReceiverInfo {
640 VoiceReceiverInfo() 646 VoiceReceiverInfo()
641 : ext_seqnum(0), 647 : ext_seqnum(0),
642 jitter_ms(0), 648 jitter_ms(0),
643 jitter_buffer_ms(0), 649 jitter_buffer_ms(0),
644 jitter_buffer_preferred_ms(0), 650 jitter_buffer_preferred_ms(0),
645 delay_estimate_ms(0), 651 delay_estimate_ms(0),
646 audio_level(0), 652 audio_level(0),
653 total_output_energy(0.0),
654 total_output_duration(0.0),
647 expand_rate(0), 655 expand_rate(0),
648 speech_expand_rate(0), 656 speech_expand_rate(0),
649 secondary_decoded_rate(0), 657 secondary_decoded_rate(0),
650 accelerate_rate(0), 658 accelerate_rate(0),
651 preemptive_expand_rate(0), 659 preemptive_expand_rate(0),
652 decoding_calls_to_silence_generator(0), 660 decoding_calls_to_silence_generator(0),
653 decoding_calls_to_neteq(0), 661 decoding_calls_to_neteq(0),
654 decoding_normal(0), 662 decoding_normal(0),
655 decoding_plc(0), 663 decoding_plc(0),
656 decoding_cng(0), 664 decoding_cng(0),
657 decoding_plc_cng(0), 665 decoding_plc_cng(0),
658 decoding_muted_output(0), 666 decoding_muted_output(0),
659 capture_start_ntp_time_ms(-1) {} 667 capture_start_ntp_time_ms(-1) {}
660 668
661 int ext_seqnum; 669 int ext_seqnum;
662 int jitter_ms; 670 int jitter_ms;
663 int jitter_buffer_ms; 671 int jitter_buffer_ms;
664 int jitter_buffer_preferred_ms; 672 int jitter_buffer_preferred_ms;
665 int delay_estimate_ms; 673 int delay_estimate_ms;
666 int audio_level; 674 int audio_level;
675 // See description of "totalAudioEnergy" in the WebRTC stats spec:
676 // https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-totalaudio energy
677 double total_output_energy;
678 double total_output_duration;
667 // fraction of synthesized audio inserted through expansion. 679 // fraction of synthesized audio inserted through expansion.
668 float expand_rate; 680 float expand_rate;
669 // fraction of synthesized speech inserted through expansion. 681 // fraction of synthesized speech inserted through expansion.
670 float speech_expand_rate; 682 float speech_expand_rate;
671 // fraction of data out of secondary decoding, including FEC and RED. 683 // fraction of data out of secondary decoding, including FEC and RED.
672 float secondary_decoded_rate; 684 float secondary_decoded_rate;
673 // Fraction of data removed through time compression. 685 // Fraction of data removed through time compression.
674 float accelerate_rate; 686 float accelerate_rate;
675 // Fraction of data inserted through time stretching. 687 // Fraction of data inserted through time stretching.
676 float preemptive_expand_rate; 688 float preemptive_expand_rate;
(...skipping 529 matching lines...) Expand 10 before | Expand all | Expand 10 after
1206 const char*, 1218 const char*,
1207 size_t> SignalDataReceived; 1219 size_t> SignalDataReceived;
1208 // Signal when the media channel is ready to send the stream. Arguments are: 1220 // Signal when the media channel is ready to send the stream. Arguments are:
1209 // writable(bool) 1221 // writable(bool)
1210 sigslot::signal1<bool> SignalReadyToSend; 1222 sigslot::signal1<bool> SignalReadyToSend;
1211 }; 1223 };
1212 1224
1213 } // namespace cricket 1225 } // namespace cricket
1214 1226
1215 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_ 1227 #endif // WEBRTC_MEDIA_BASE_MEDIACHANNEL_H_
OLDNEW
« no previous file with comments | « webrtc/call/audio_send_stream.h ('k') | webrtc/media/engine/webrtcvoiceengine.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698