OLD | NEW |
1 /* | 1 /* |
2 * libjingle | 2 * libjingle |
3 * Copyright 2004 Google Inc. | 3 * Copyright 2004 Google Inc. |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions are met: | 6 * modification, are permitted provided that the following conditions are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright notice, | 8 * 1. Redistributions of source code must retain the above copyright notice, |
9 * this list of conditions and the following disclaimer. | 9 * this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright notice, | 10 * 2. Redistributions in binary form must reproduce the above copyright notice, |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
350 options.auto_gain_control.Set(true); | 350 options.auto_gain_control.Set(true); |
351 options.noise_suppression.Set(true); | 351 options.noise_suppression.Set(true); |
352 options.highpass_filter.Set(true); | 352 options.highpass_filter.Set(true); |
353 options.stereo_swapping.Set(false); | 353 options.stereo_swapping.Set(false); |
354 options.audio_jitter_buffer_max_packets.Set(50); | 354 options.audio_jitter_buffer_max_packets.Set(50); |
355 options.audio_jitter_buffer_fast_accelerate.Set(false); | 355 options.audio_jitter_buffer_fast_accelerate.Set(false); |
356 options.typing_detection.Set(true); | 356 options.typing_detection.Set(true); |
357 options.conference_mode.Set(false); | 357 options.conference_mode.Set(false); |
358 options.adjust_agc_delta.Set(0); | 358 options.adjust_agc_delta.Set(0); |
359 options.experimental_agc.Set(false); | 359 options.experimental_agc.Set(false); |
360 options.extended_filter_aec.Set(false); | 360 options.experimental_aec.Set(false); |
361 options.delay_agnostic_aec.Set(false); | 361 options.delay_agnostic_aec.Set(false); |
362 options.experimental_ns.Set(false); | 362 options.experimental_ns.Set(false); |
363 options.aec_dump.Set(false); | 363 options.aec_dump.Set(false); |
364 return options; | 364 return options; |
365 } | 365 } |
366 | 366 |
367 static std::string GetEnableString(bool enable) { | 367 static std::string GetEnableString(bool enable) { |
368 return enable ? "enable" : "disable"; | 368 return enable ? "enable" : "disable"; |
369 } | 369 } |
370 | 370 |
(...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
654 #elif defined(ANDROID) | 654 #elif defined(ANDROID) |
655 ec_mode = webrtc::kEcAecm; | 655 ec_mode = webrtc::kEcAecm; |
656 #endif | 656 #endif |
657 | 657 |
658 #if defined(IOS) || defined(ANDROID) | 658 #if defined(IOS) || defined(ANDROID) |
659 // Set the AGC mode for iOS as well despite disabling it above, to avoid | 659 // Set the AGC mode for iOS as well despite disabling it above, to avoid |
660 // unsupported configuration errors from webrtc. | 660 // unsupported configuration errors from webrtc. |
661 agc_mode = webrtc::kAgcFixedDigital; | 661 agc_mode = webrtc::kAgcFixedDigital; |
662 options.typing_detection.Set(false); | 662 options.typing_detection.Set(false); |
663 options.experimental_agc.Set(false); | 663 options.experimental_agc.Set(false); |
664 options.extended_filter_aec.Set(false); | 664 options.experimental_aec.Set(false); |
665 options.experimental_ns.Set(false); | 665 options.experimental_ns.Set(false); |
666 #endif | 666 #endif |
667 | 667 |
668 // Delay Agnostic AEC automatically turns on EC if not set except on iOS | 668 // Delay Agnostic AEC automatically turns on EC if not set except on iOS |
669 // where the feature is not supported. | 669 // where the feature is not supported. |
670 bool use_delay_agnostic_aec = false; | 670 bool use_delay_agnostic_aec = false; |
671 #if !defined(IOS) | 671 #if !defined(IOS) |
672 if (options.delay_agnostic_aec.Get(&use_delay_agnostic_aec)) { | 672 if (options.delay_agnostic_aec.Get(&use_delay_agnostic_aec)) { |
673 if (use_delay_agnostic_aec) { | 673 if (use_delay_agnostic_aec) { |
674 options.echo_cancellation.Set(true); | 674 options.echo_cancellation.Set(true); |
675 options.extended_filter_aec.Set(true); | 675 options.experimental_aec.Set(true); |
676 ec_mode = webrtc::kEcConference; | 676 ec_mode = webrtc::kEcConference; |
677 } | 677 } |
678 } | 678 } |
679 #endif | 679 #endif |
680 | 680 |
681 LOG(LS_INFO) << "Applying audio options: " << options.ToString(); | 681 LOG(LS_INFO) << "Applying audio options: " << options.ToString(); |
682 | 682 |
683 webrtc::VoEAudioProcessing* voep = voe_wrapper_->processing(); | 683 webrtc::VoEAudioProcessing* voep = voe_wrapper_->processing(); |
684 | 684 |
685 bool echo_cancellation = false; | 685 bool echo_cancellation = false; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
841 webrtc::Config config; | 841 webrtc::Config config; |
842 | 842 |
843 delay_agnostic_aec_.SetFrom(options.delay_agnostic_aec); | 843 delay_agnostic_aec_.SetFrom(options.delay_agnostic_aec); |
844 bool delay_agnostic_aec; | 844 bool delay_agnostic_aec; |
845 if (delay_agnostic_aec_.Get(&delay_agnostic_aec)) { | 845 if (delay_agnostic_aec_.Get(&delay_agnostic_aec)) { |
846 LOG(LS_INFO) << "Delay agnostic aec is enabled? " << delay_agnostic_aec; | 846 LOG(LS_INFO) << "Delay agnostic aec is enabled? " << delay_agnostic_aec; |
847 config.Set<webrtc::ReportedDelay>( | 847 config.Set<webrtc::ReportedDelay>( |
848 new webrtc::ReportedDelay(!delay_agnostic_aec)); | 848 new webrtc::ReportedDelay(!delay_agnostic_aec)); |
849 } | 849 } |
850 | 850 |
851 extended_filter_aec_.SetFrom(options.extended_filter_aec); | 851 experimental_aec_.SetFrom(options.experimental_aec); |
852 bool extended_filter; | 852 bool experimental_aec; |
853 if (extended_filter_aec_.Get(&extended_filter)) { | 853 if (experimental_aec_.Get(&experimental_aec)) { |
854 LOG(LS_INFO) << "Extended filter aec is enabled? " << extended_filter; | 854 LOG(LS_INFO) << "Experimental aec is enabled? " << experimental_aec; |
855 config.Set<webrtc::ExtendedFilter>( | 855 config.Set<webrtc::DelayCorrection>( |
856 new webrtc::ExtendedFilter(extended_filter)); | 856 new webrtc::DelayCorrection(experimental_aec)); |
857 } | 857 } |
858 | 858 |
859 experimental_ns_.SetFrom(options.experimental_ns); | 859 experimental_ns_.SetFrom(options.experimental_ns); |
860 bool experimental_ns; | 860 bool experimental_ns; |
861 if (experimental_ns_.Get(&experimental_ns)) { | 861 if (experimental_ns_.Get(&experimental_ns)) { |
862 LOG(LS_INFO) << "Experimental ns is enabled? " << experimental_ns; | 862 LOG(LS_INFO) << "Experimental ns is enabled? " << experimental_ns; |
863 config.Set<webrtc::ExperimentalNs>( | 863 config.Set<webrtc::ExperimentalNs>( |
864 new webrtc::ExperimentalNs(experimental_ns)); | 864 new webrtc::ExperimentalNs(experimental_ns)); |
865 } | 865 } |
866 | 866 |
(...skipping 2788 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3655 | 3655 |
3656 int WebRtcSoundclipStream::Rewind() { | 3656 int WebRtcSoundclipStream::Rewind() { |
3657 mem_.Rewind(); | 3657 mem_.Rewind(); |
3658 // Return -1 to keep VoiceEngine from looping. | 3658 // Return -1 to keep VoiceEngine from looping. |
3659 return (loop_) ? 0 : -1; | 3659 return (loop_) ? 0 : -1; |
3660 } | 3660 } |
3661 | 3661 |
3662 } // namespace cricket | 3662 } // namespace cricket |
3663 | 3663 |
3664 #endif // HAVE_WEBRTC_VOICE | 3664 #endif // HAVE_WEBRTC_VOICE |
OLD | NEW |