Index: webrtc/modules/audio_processing/audio_processing_impl.h |
diff --git a/webrtc/modules/audio_processing/audio_processing_impl.h b/webrtc/modules/audio_processing/audio_processing_impl.h |
index a44b5a8f41320d10ac6587a30937dd43cb430531..e5d696112641681d5619bfa66f9bbbd85ddf982a 100644 |
--- a/webrtc/modules/audio_processing/audio_processing_impl.h |
+++ b/webrtc/modules/audio_processing/audio_processing_impl.h |
@@ -39,6 +39,7 @@ class NoiseSuppressionImpl; |
class ProcessingComponent; |
class TransientSuppressor; |
class VoiceDetectionImpl; |
+class IntelligibilityEnhancer; |
#ifdef WEBRTC_AUDIOPROC_DEBUG_DUMP |
namespace audioproc { |
@@ -89,12 +90,19 @@ class AudioProcessingImpl : public AudioProcessing { |
const StreamConfig& output_config, |
float* const* dest) override; |
int AnalyzeReverseStream(AudioFrame* frame) override; |
+ int ProcessReverseStream(AudioFrame* frame) override; |
int AnalyzeReverseStream(const float* const* data, |
int samples_per_channel, |
int sample_rate_hz, |
ChannelLayout layout) override; |
+ int ProcessReverseStream(float* const* data, |
+ int samples_per_channel, |
+ int sample_rate_hz, |
+ ChannelLayout layout) override; |
int AnalyzeReverseStream(const float* const* data, |
const StreamConfig& reverse_config) override; |
+ int ProcessReverseStream(float* const* data, |
+ const StreamConfig& reverse_config) override; |
int set_stream_delay_ms(int delay) override; |
int stream_delay_ms() const override; |
bool was_stream_delay_set() const override; |
@@ -125,15 +133,17 @@ class AudioProcessingImpl : public AudioProcessing { |
int MaybeInitializeLocked(const ProcessingConfig& config) |
EXCLUSIVE_LOCKS_REQUIRED(crit_); |
int ProcessStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
- int AnalyzeReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
+ int ProcessReverseStreamLocked() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
bool is_data_processed() const; |
bool output_copy_needed(bool is_data_processed) const; |
bool synthesis_needed(bool is_data_processed) const; |
bool analysis_needed(bool is_data_processed) const; |
+ bool is_rev_processed() const; |
void InitializeExperimentalAgc() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
void InitializeTransient() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
void InitializeBeamformer() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
+ void InitializeIntelligibility() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
void MaybeUpdateHistograms() EXCLUSIVE_LOCKS_REQUIRED(crit_); |
EchoCancellationImpl* echo_cancellation_; |
@@ -191,6 +201,9 @@ class AudioProcessingImpl : public AudioProcessing { |
const bool beamformer_enabled_; |
rtc::scoped_ptr<Beamformer<float>> beamformer_; |
const std::vector<Point> array_geometry_; |
+ |
+ bool intelligibility_enabled_; |
+ rtc::scoped_ptr<IntelligibilityEnhancer> intelligibility_enhancer_; |
}; |
} // namespace webrtc |