diff options
-rw-r--r-- | media/filters/audio_renderer_algorithm.cc | 35 | ||||
-rw-r--r-- | media/filters/audio_renderer_algorithm.h | 11 | ||||
-rw-r--r-- | media/filters/audio_renderer_algorithm_unittest.cc | 2 |
3 files changed, 1 insertions, 47 deletions
diff --git a/media/filters/audio_renderer_algorithm.cc b/media/filters/audio_renderer_algorithm.cc index e73ce65..db65fe9 100644 --- a/media/filters/audio_renderer_algorithm.cc +++ b/media/filters/audio_renderer_algorithm.cc @@ -46,12 +46,6 @@ namespace media { // |search_block_index_| = |search_block_center_offset_| - // |search_block_center_offset_|. -// Max/min supported playback rates for fast/slow audio. Audio outside of these -// ranges are muted. -// Audio at these speeds would sound better under a frequency domain algorithm. -static const float kMinPlaybackRate = 0.5f; -static const float kMaxPlaybackRate = 4.0f; - // Overlap-and-add window size in milliseconds. static const int kOlaWindowSizeMs = 20; @@ -76,8 +70,6 @@ AudioRendererAlgorithm::AudioRendererAlgorithm() : channels_(0), samples_per_second_(0), playback_rate_(0), - muted_(false), - muted_partial_frame_(0), capacity_(kStartingBufferSizeInFrames), output_time_(0.0), search_block_center_offset_(0), @@ -151,31 +143,6 @@ int AudioRendererAlgorithm::FillBuffer(AudioBus* dest, int requested_frames) { DCHECK_EQ(channels_, dest->channels()); - // Optimize the |muted_| case to issue a single clear instead of performing - // the full crossfade and clearing each crossfaded frame. - if (muted_) { - int frames_to_render = - std::min(static_cast<int>(audio_buffer_.frames() / playback_rate_), - requested_frames); - - // Compute accurate number of frames to actually skip in the source data. - // Includes the leftover partial frame from last request. However, we can - // only skip over complete frames, so a partial frame may remain for next - // time. - muted_partial_frame_ += frames_to_render * playback_rate_; - int seek_frames = static_cast<int>(muted_partial_frame_); - dest->ZeroFrames(frames_to_render); - audio_buffer_.SeekFrames(seek_frames); - - // Determine the partial frame that remains to be skipped for next call. If - // the user switches back to playing, it may be off time by this partial - // frame, which would be undetectable. If they subsequently switch to - // another playback rate that mutes, the code will attempt to line up the - // frames again. - muted_partial_frame_ -= seek_frames; - return frames_to_render; - } - int slower_step = ceil(ola_window_size_ * playback_rate_); int faster_step = ceil(ola_window_size_ / playback_rate_); @@ -200,8 +167,6 @@ int AudioRendererAlgorithm::FillBuffer(AudioBus* dest, int requested_frames) { void AudioRendererAlgorithm::SetPlaybackRate(float new_rate) { DCHECK_GE(new_rate, 0); playback_rate_ = new_rate; - muted_ = - playback_rate_ < kMinPlaybackRate || playback_rate_ > kMaxPlaybackRate; } void AudioRendererAlgorithm::FlushBuffers() { diff --git a/media/filters/audio_renderer_algorithm.h b/media/filters/audio_renderer_algorithm.h index 39e4db6..f251ff72 100644 --- a/media/filters/audio_renderer_algorithm.h +++ b/media/filters/audio_renderer_algorithm.h @@ -19,8 +19,6 @@ // are preserved. See audio_renderer_algorith.cc for a more elaborate // description of the algorithm. // -// Audio at very low or very high playback rates are muted to preserve quality. -// #ifndef MEDIA_FILTERS_AUDIO_RENDERER_ALGORITHM_H_ #define MEDIA_FILTERS_AUDIO_RENDERER_ALGORITHM_H_ @@ -84,9 +82,6 @@ class MEDIA_EXPORT AudioRendererAlgorithm { // Returns the samples per second for this audio stream. int samples_per_second() { return samples_per_second_; } - // Is the sound currently muted? - bool is_muted() { return muted_; } - private: // Within |search_block_|, find the block of data that is most similar to // |target_block_|, and write it in |optimal_block_|. This method assumes that @@ -140,12 +135,6 @@ class MEDIA_EXPORT AudioRendererAlgorithm { // Buffered audio data. AudioBufferQueue audio_buffer_; - // True if the audio should be muted. - bool muted_; - - // If muted, keep track of partial frames that should have been skipped over. - double muted_partial_frame_; - // How many frames to have in the queue before we report the queue is full. int capacity_; diff --git a/media/filters/audio_renderer_algorithm_unittest.cc b/media/filters/audio_renderer_algorithm_unittest.cc index 7e52004..bde07a2 100644 --- a/media/filters/audio_renderer_algorithm_unittest.cc +++ b/media/filters/audio_renderer_algorithm_unittest.cc @@ -148,7 +148,7 @@ class AudioRendererAlgorithmTest : public testing::Test { bool all_zero = true; for (int i = 0; i < frames_written && all_zero; ++i) all_zero = audio_data->channel(ch)[i] == 0.0f; - ASSERT_EQ(algorithm_.is_muted(), all_zero) << " for channel " << ch; + ASSERT_FALSE(all_zero) << " for channel " << ch; } } |