| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 // | 4 // |
| 5 // AudioConverter is a complete mixing, resampling, buffering, and channel | 5 // AudioConverter is a complete mixing, resampling, buffering, and channel |
| 6 // mixing solution for converting data from one set of AudioParameters to | 6 // mixing solution for converting data from one set of AudioParameters to |
| 7 // another. | 7 // another. |
| 8 // | 8 // |
| 9 // For efficiency, pieces are only invoked when necessary; i.e., | 9 // For efficiency, pieces are only invoked when necessary; i.e., |
| 10 // - The resampler is only used if sample rates differ. | 10 // - The resampler is only used if sample rates differ. |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 | 85 |
| 86 // Flushes all buffered data. | 86 // Flushes all buffered data. |
| 87 void Reset(); | 87 void Reset(); |
| 88 | 88 |
| 89 // The maximum size in frames that guarantees we will only make a single call | 89 // The maximum size in frames that guarantees we will only make a single call |
| 90 // to each input's ProvideInput for more data. | 90 // to each input's ProvideInput for more data. |
| 91 int ChunkSize() const; | 91 int ChunkSize() const; |
| 92 | 92 |
| 93 bool empty() const { return transform_inputs_.empty(); } | 93 bool empty() const { return transform_inputs_.empty(); } |
| 94 | 94 |
| 95 void PrimeWithSilence(); |
| 96 |
| 95 private: | 97 private: |
| 96 // Provides input to the MultiChannelResampler. Called by the resampler when | 98 // Provides input to the MultiChannelResampler. Called by the resampler when |
| 97 // more data is necessary. | 99 // more data is necessary. |
| 98 void ProvideInput(int resampler_frame_delay, AudioBus* audio_bus); | 100 void ProvideInput(int resampler_frame_delay, AudioBus* audio_bus); |
| 99 | 101 |
| 100 // Provides input to the AudioPullFifo. Called by the fifo when more data is | 102 // Provides input to the AudioPullFifo. Called by the fifo when more data is |
| 101 // necessary. | 103 // necessary. |
| 102 void SourceCallback(int fifo_frame_delay, AudioBus* audio_bus); | 104 void SourceCallback(int fifo_frame_delay, AudioBus* audio_bus); |
| 103 | 105 |
| 104 // (Re)creates the temporary |unmixed_audio_| buffer if necessary. | 106 // (Re)creates the temporary |unmixed_audio_| buffer if necessary. |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 138 // value from the input AudioParameters class. Preserved to recreate internal | 140 // value from the input AudioParameters class. Preserved to recreate internal |
| 139 // AudioBus structures on demand in response to varying frame size requests. | 141 // AudioBus structures on demand in response to varying frame size requests. |
| 140 const int input_channel_count_; | 142 const int input_channel_count_; |
| 141 | 143 |
| 142 DISALLOW_COPY_AND_ASSIGN(AudioConverter); | 144 DISALLOW_COPY_AND_ASSIGN(AudioConverter); |
| 143 }; | 145 }; |
| 144 | 146 |
| 145 } // namespace media | 147 } // namespace media |
| 146 | 148 |
| 147 #endif // MEDIA_BASE_AUDIO_CONVERTER_H_ | 149 #endif // MEDIA_BASE_AUDIO_CONVERTER_H_ |
| OLD | NEW |