diff --git a/webrtc/common_audio/lapped_transform.cc b/webrtc/common_audio/lapped_transform.cc index 3883582fc..023949854 100644 --- a/webrtc/common_audio/lapped_transform.cc +++ b/webrtc/common_audio/lapped_transform.cc @@ -24,8 +24,8 @@ void LappedTransform::BlockThunk::ProcessBlock(const float* const* input, int num_input_channels, int num_output_channels, float* const* output) { - CHECK_EQ(num_input_channels, parent_->in_channels_); - CHECK_EQ(num_output_channels, parent_->out_channels_); + CHECK_EQ(num_input_channels, parent_->num_in_channels_); + CHECK_EQ(num_output_channels, parent_->num_out_channels_); CHECK_EQ(parent_->block_length_, num_frames); for (int i = 0; i < num_input_channels; ++i) { @@ -52,25 +52,38 @@ void LappedTransform::BlockThunk::ProcessBlock(const float* const* input, } } -LappedTransform::LappedTransform(int in_channels, int out_channels, - int chunk_length, const float* window, - int block_length, int shift_amount, +LappedTransform::LappedTransform(int num_in_channels, + int num_out_channels, + int chunk_length, + const float* window, + int block_length, + int shift_amount, Callback* callback) : blocker_callback_(this), - in_channels_(in_channels), - out_channels_(out_channels), + num_in_channels_(num_in_channels), + num_out_channels_(num_out_channels), block_length_(block_length), chunk_length_(chunk_length), block_processor_(callback), - blocker_( - chunk_length_, block_length_, in_channels_, out_channels_, window, - shift_amount, &blocker_callback_), + blocker_(chunk_length_, + block_length_, + num_in_channels_, + num_out_channels_, + window, + shift_amount, + &blocker_callback_), fft_(RealFourier::Create(RealFourier::FftOrder(block_length_))), cplx_length_(RealFourier::ComplexLength(fft_->order())), - real_buf_(in_channels, block_length_, RealFourier::kFftBufferAlignment), - cplx_pre_(in_channels, cplx_length_, RealFourier::kFftBufferAlignment), - cplx_post_(out_channels, cplx_length_, RealFourier::kFftBufferAlignment) { - CHECK(in_channels_ > 0 && out_channels_ > 0); + real_buf_(num_in_channels, + block_length_, + RealFourier::kFftBufferAlignment), + cplx_pre_(num_in_channels, + cplx_length_, + RealFourier::kFftBufferAlignment), + cplx_post_(num_out_channels, + cplx_length_, + RealFourier::kFftBufferAlignment) { + CHECK(num_in_channels_ > 0 && num_out_channels_ > 0); CHECK_GT(block_length_, 0); CHECK_GT(chunk_length_, 0); CHECK(block_processor_); @@ -81,9 +94,8 @@ LappedTransform::LappedTransform(int in_channels, int out_channels, void LappedTransform::ProcessChunk(const float* const* in_chunk, float* const* out_chunk) { - blocker_.ProcessChunk(in_chunk, chunk_length_, in_channels_, out_channels_, - out_chunk); + blocker_.ProcessChunk(in_chunk, chunk_length_, num_in_channels_, + num_out_channels_, out_chunk); } } // namespace webrtc - diff --git a/webrtc/common_audio/lapped_transform.h b/webrtc/common_audio/lapped_transform.h index d299bceb7..270644c0d 100644 --- a/webrtc/common_audio/lapped_transform.h +++ b/webrtc/common_audio/lapped_transform.h @@ -35,8 +35,8 @@ class LappedTransform { virtual ~Callback() {} virtual void ProcessAudioBlock(const std::complex* const* in_block, - int in_channels, int frames, - int out_channels, + int num_in_channels, int frames, + int num_out_channels, std::complex* const* out_block) = 0; }; @@ -46,7 +46,7 @@ class LappedTransform { // |block_length| defines the length of a block, in samples. // |shift_amount| is in samples. |callback| is the caller-owned audio // processing function called for each block of the input chunk. - LappedTransform(int in_channels, int out_channels, int chunk_length, + LappedTransform(int num_in_channels, int num_out_channels, int chunk_length, const float* window, int block_length, int shift_amount, Callback* callback); ~LappedTransform() {} @@ -63,7 +63,24 @@ class LappedTransform { // to ProcessChunk via the parameter in_chunk. // // Returns the same chunk_length passed to the LappedTransform constructor. - int get_chunk_length() const { return chunk_length_; } + int chunk_length() const { return chunk_length_; } + + // Get the number of input channels. + // + // This is the number of arrays that must be passed to ProcessChunk via + // in_chunk. + // + // Returns the same num_in_channels passed to the LappedTransform constructor. + int num_in_channels() const { return num_in_channels_; } + + // Get the number of output channels. + // + // This is the number of arrays that must be passed to ProcessChunk via + // out_chunk. + // + // Returns the same num_out_channels passed to the LappedTransform + // constructor. + int num_out_channels() const { return num_out_channels_; } private: // Internal middleware callback, given to the blocker. Transforms each block @@ -80,8 +97,8 @@ class LappedTransform { LappedTransform* const parent_; } blocker_callback_; - const int in_channels_; - const int out_channels_; + const int num_in_channels_; + const int num_out_channels_; const int block_length_; const int chunk_length_; diff --git a/webrtc/common_audio/lapped_transform_unittest.cc b/webrtc/common_audio/lapped_transform_unittest.cc index ac24a0dd4..c30651c9a 100644 --- a/webrtc/common_audio/lapped_transform_unittest.cc +++ b/webrtc/common_audio/lapped_transform_unittest.cc @@ -177,26 +177,26 @@ TEST(LappedTransformTest, Callbacks) { ASSERT_EQ(kChunkLength / kBlockLength, call.block_num()); } -TEST(LappedTransformTest, get_chunk_length) { +TEST(LappedTransformTest, chunk_length) { const int kBlockLength = 64; FftCheckerCallback call; const float window[kBlockLength] = {}; - // Make sure that get_chunk_length returns the same value passed to the + // Make sure that chunk_length returns the same value passed to the // LappedTransform constructor. { const int kExpectedChunkLength = 512; const LappedTransform trans(1, 1, kExpectedChunkLength, window, kBlockLength, kBlockLength, &call); - EXPECT_EQ(kExpectedChunkLength, trans.get_chunk_length()); + EXPECT_EQ(kExpectedChunkLength, trans.chunk_length()); } { const int kExpectedChunkLength = 160; const LappedTransform trans(1, 1, kExpectedChunkLength, window, kBlockLength, kBlockLength, &call); - EXPECT_EQ(kExpectedChunkLength, trans.get_chunk_length()); + EXPECT_EQ(kExpectedChunkLength, trans.chunk_length()); } }