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..db2c1b54e6c71e9315ec422a3a69ff3fbe0a7095 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,15 @@ 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 AnalyzeReverseStream(const float* const* data, |
- const StreamConfig& reverse_config) override; |
+ int ProcessReverseStream(const float* const* src, |
+ const StreamConfig& reverse_input_config, |
+ const StreamConfig& reverse_output_config, |
+ float* const* dest) override; |
int set_stream_delay_ms(int delay) override; |
int stream_delay_ms() const override; |
bool was_stream_delay_set() const override; |
@@ -124,16 +128,22 @@ class AudioProcessingImpl : public AudioProcessing { |
EXCLUSIVE_LOCKS_REQUIRED(crit_); |
int MaybeInitializeLocked(const ProcessingConfig& config) |
EXCLUSIVE_LOCKS_REQUIRED(crit_); |
+ int AnalyzeReverseStream(const float* const* src, |
Andrew MacDonald
2015/07/30 18:48:53
Add a TODO for removing this.
ekm
2015/07/30 22:38:44
Done.
|
+ const StreamConfig& input_config, |
+ const StreamConfig& output_config, |
+ const float* const* dest); |
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 |