Chromium Code Reviews| OLD | NEW |
|---|---|
| 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 57 // On Windows systems which only support Wave Audio style default, uses either | 57 // On Windows systems which only support Wave Audio style default, uses either |
| 58 // -1 or 0 to select the default device. | 58 // -1 or 0 to select the default device. |
| 59 #ifdef WIN32 | 59 #ifdef WIN32 |
| 60 const int kDefaultAudioDeviceId = -1; | 60 const int kDefaultAudioDeviceId = -1; |
| 61 #elif !defined(WEBRTC_IOS) | 61 #elif !defined(WEBRTC_IOS) |
| 62 const int kDefaultAudioDeviceId = 0; | 62 const int kDefaultAudioDeviceId = 0; |
| 63 #endif | 63 #endif |
| 64 | 64 |
| 65 constexpr int kNackRtpHistoryMs = 5000; | 65 constexpr int kNackRtpHistoryMs = 5000; |
| 66 | 66 |
| 67 // Check to verify that the define for the intelligibility enhancer is properly | |
| 68 // set. | |
| 69 #if !defined(WEBRTC_INTELLIGIBILITY_ENHANCER) || \ | |
|
the sun
2016/08/26 12:08:56
Why not just
#if WEBRTC_INTELLIGIBILITY_ENHANCER
?
kjellander_webrtc
2016/08/26 12:52:01
I think there was a similar discussion for an AEC
peah-webrtc
2016/08/26 13:09:43
The reason was it is up to the build system to dis
peah-webrtc
2016/08/26 13:09:43
The reason behind that is that this is a define th
the sun
2016/08/26 13:17:48
Does it have to be like that then? Could it be set
| |
| 70 (WEBRTC_INTELLIGIBILITY_ENHANCER != 0 && \ | |
| 71 WEBRTC_INTELLIGIBILITY_ENHANCER != 1) | |
| 72 #error "Set WEBRTC_INTELLIGIBILITY_ENHANCER to either 0 or 1" | |
| 73 #endif | |
| 74 | |
| 67 // Codec parameters for Opus. | 75 // Codec parameters for Opus. |
| 68 // draft-spittka-payload-rtp-opus-03 | 76 // draft-spittka-payload-rtp-opus-03 |
| 69 | 77 |
| 70 // Recommended bitrates: | 78 // Recommended bitrates: |
| 71 // 8-12 kb/s for NB speech, | 79 // 8-12 kb/s for NB speech, |
| 72 // 16-20 kb/s for WB speech, | 80 // 16-20 kb/s for WB speech, |
| 73 // 28-40 kb/s for FB speech, | 81 // 28-40 kb/s for FB speech, |
| 74 // 48-64 kb/s for FB mono music, and | 82 // 48-64 kb/s for FB mono music, and |
| 75 // 64-128 kb/s for FB stereo music. | 83 // 64-128 kb/s for FB stereo music. |
| 76 // The current implementation applies the following values to mono signals, | 84 // The current implementation applies the following values to mono signals, |
| (...skipping 565 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 642 if (options.delay_agnostic_aec) { | 650 if (options.delay_agnostic_aec) { |
| 643 use_delay_agnostic_aec = *options.delay_agnostic_aec; | 651 use_delay_agnostic_aec = *options.delay_agnostic_aec; |
| 644 if (use_delay_agnostic_aec) { | 652 if (use_delay_agnostic_aec) { |
| 645 options.echo_cancellation = rtc::Optional<bool>(true); | 653 options.echo_cancellation = rtc::Optional<bool>(true); |
| 646 options.extended_filter_aec = rtc::Optional<bool>(true); | 654 options.extended_filter_aec = rtc::Optional<bool>(true); |
| 647 ec_mode = webrtc::kEcConference; | 655 ec_mode = webrtc::kEcConference; |
| 648 } | 656 } |
| 649 } | 657 } |
| 650 #endif | 658 #endif |
| 651 | 659 |
| 660 #if (WEBRTC_INTELLIGIBILITY_ENHANCER == 0) | |
| 661 // Hardcode the intelligibility enhancer to be off. | |
| 662 options.intelligibility_enhancer = rtc::Optional<bool>(false); | |
| 663 #endif | |
| 664 | |
| 652 webrtc::VoEAudioProcessing* voep = voe_wrapper_->processing(); | 665 webrtc::VoEAudioProcessing* voep = voe_wrapper_->processing(); |
| 653 | 666 |
| 654 if (options.echo_cancellation) { | 667 if (options.echo_cancellation) { |
| 655 // Check if platform supports built-in EC. Currently only supported on | 668 // Check if platform supports built-in EC. Currently only supported on |
| 656 // Android and in combination with Java based audio layer. | 669 // Android and in combination with Java based audio layer. |
| 657 // TODO(henrika): investigate possibility to support built-in EC also | 670 // TODO(henrika): investigate possibility to support built-in EC also |
| 658 // in combination with Open SL ES audio. | 671 // in combination with Open SL ES audio. |
| 659 const bool built_in_aec = adm()->BuiltInAECIsAvailable(); | 672 const bool built_in_aec = adm()->BuiltInAECIsAvailable(); |
| 660 if (built_in_aec) { | 673 if (built_in_aec) { |
| 661 // Built-in EC exists on this device and use_delay_agnostic_aec is not | 674 // Built-in EC exists on this device and use_delay_agnostic_aec is not |
| (...skipping 1988 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 2650 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); | 2663 RTC_DCHECK(worker_thread_checker_.CalledOnValidThread()); |
| 2651 const auto it = send_streams_.find(ssrc); | 2664 const auto it = send_streams_.find(ssrc); |
| 2652 if (it != send_streams_.end()) { | 2665 if (it != send_streams_.end()) { |
| 2653 return it->second->channel(); | 2666 return it->second->channel(); |
| 2654 } | 2667 } |
| 2655 return -1; | 2668 return -1; |
| 2656 } | 2669 } |
| 2657 } // namespace cricket | 2670 } // namespace cricket |
| 2658 | 2671 |
| 2659 #endif // HAVE_WEBRTC_VOICE | 2672 #endif // HAVE_WEBRTC_VOICE |
| OLD | NEW |