Commit 4f6f6ba6 authored by Eero Häkkinen's avatar Eero Häkkinen Committed by Commit Bot

Remove unneeded const casts from AudioBus and FFTFrame

This also improves const correctness of FFTFrame.

Bug: 822721
Change-Id: I49668b37b0ecca278ce35af293eee6e324d88f4c
Reviewed-on: https://chromium-review.googlesource.com/962223Reviewed-by: default avatarRaymond Toy <rtoy@chromium.org>
Commit-Queue: Eero Häkkinen <eero.hakkinen@intel.com>
Cr-Commit-Position: refs/heads/master@{#544053}
parent c8d7fb91
......@@ -161,7 +161,7 @@ void RealtimeAnalyser::DoFFTAnalysis() {
// Do the analysis.
analysis_frame_->DoFFT(temp_p);
float* real_p = analysis_frame_->RealData();
const float* real_p = analysis_frame_->RealData();
float* imag_p = analysis_frame_->ImagData();
// Blow away the packed nyquist component.
......
......@@ -500,12 +500,11 @@ void AudioBus::CopyWithGainFrom(const AudioBus& source_bus, float gain) {
if (this == &source_bus && gain == 1)
return;
AudioBus& source_bus_safe = const_cast<AudioBus&>(source_bus);
const float* sources[kMaxBusChannels];
float* destinations[kMaxBusChannels];
for (unsigned i = 0; i < number_of_channels; ++i) {
sources[i] = source_bus_safe.Channel(i)->Data();
sources[i] = source_bus.Channel(i)->Data();
destinations[i] = Channel(i)->MutableData();
}
......
......@@ -81,7 +81,7 @@ class PLATFORM_EXPORT AudioBus : public ThreadSafeRefCounted<AudioBus> {
AudioChannel* Channel(unsigned channel) { return channels_[channel].get(); }
const AudioChannel* Channel(unsigned channel) const {
return const_cast<AudioBus*>(this)->channels_[channel].get();
return channels_[channel].get();
}
AudioChannel* ChannelByType(unsigned type);
const AudioChannel* ChannelByType(unsigned type) const;
......
......@@ -40,7 +40,7 @@ FFTConvolver::FFTConvolver(size_t fft_size)
output_buffer_(fft_size),
last_overlap_buffer_(fft_size / 2) {}
void FFTConvolver::Process(FFTFrame* fft_kernel,
void FFTConvolver::Process(const FFTFrame* fft_kernel,
const float* source_p,
float* dest_p,
size_t frames_to_process) {
......
......@@ -53,7 +53,7 @@ class PLATFORM_EXPORT FFTConvolver {
// The input to output latency is equal to fftSize / 2
//
// Processing in-place is allowed...
void Process(FFTFrame* fft_kernel,
void Process(const FFTFrame* fft_kernel,
const float* source_p,
float* dest_p,
size_t frames_to_process);
......
......@@ -251,7 +251,7 @@ void FFTFrame::AddConstantGroupDelay(double sample_frame_delay) {
void FFTFrame::Multiply(const FFTFrame& frame) {
FFTFrame& frame1 = *this;
FFTFrame& frame2 = const_cast<FFTFrame&>(frame);
const FFTFrame& frame2 = frame;
float* real_p1 = frame1.RealData();
float* imag_p1 = frame1.ImagData();
......
......@@ -70,8 +70,10 @@ class PLATFORM_EXPORT FFTFrame {
void DoFFT(const float* data);
void DoInverseFFT(float* data);
float* RealData() const { return const_cast<float*>(real_data_.Data()); }
float* ImagData() const { return const_cast<float*>(imag_data_.Data()); }
float* RealData() { return real_data_.Data(); }
const float* RealData() const { return real_data_.Data(); }
float* ImagData() { return imag_data_.Data(); }
const float* ImagData() const { return imag_data_.Data(); }
unsigned FftSize() const { return fft_size_; }
unsigned Log2FFTSize() const { return log2fft_size_; }
......
......@@ -143,7 +143,7 @@ float* FFTFrame::GetUpToDateComplexData() {
c[base_complex_index] = real[i];
c[base_complex_index + 1] = imag[i];
}
return const_cast<float*>(complex_data_.Data());
return c;
}
RDFTContext* FFTFrame::ContextForSize(unsigned fft_size, int trans) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment