Chromium Code Reviews| Index: media/base/audio_renderer_mixer.h |
| diff --git a/media/base/audio_renderer_mixer.h b/media/base/audio_renderer_mixer.h |
| index 7bb85af449613754306114c8d7eefa8d60b069c5..1a5a166859e3332bc3a21039d4fa8a0009c85d4d 100644 |
| --- a/media/base/audio_renderer_mixer.h |
| +++ b/media/base/audio_renderer_mixer.h |
| @@ -5,20 +5,18 @@ |
| #ifndef MEDIA_BASE_AUDIO_RENDERER_MIXER_H_ |
| #define MEDIA_BASE_AUDIO_RENDERER_MIXER_H_ |
| -#include <set> |
| +#include <list> |
| #include "base/synchronization/lock.h" |
| #include "media/base/audio_renderer_mixer_input.h" |
| #include "media/base/audio_renderer_sink.h" |
| -#include "media/base/multi_channel_resampler.h" |
| +#include "media/base/audio_transform.h" |
| namespace media { |
| // Mixes a set of AudioRendererMixerInputs into a single output stream which is |
| // funneled into a single shared AudioRendererSink; saving a bundle on renderer |
| -// side resources. Resampling is done post-mixing as it is the most expensive |
| -// process. If the input sample rate matches the audio hardware sample rate, no |
| -// resampling is done. |
| +// side resources. |
| class MEDIA_EXPORT AudioRendererMixer |
| : NON_EXPORTED_BASE(public AudioRendererSink::RenderCallback) { |
| public: |
| @@ -37,33 +35,18 @@ class MEDIA_EXPORT AudioRendererMixer |
| int audio_delay_milliseconds) OVERRIDE; |
| virtual void OnRenderError() OVERRIDE; |
| - // Handles mixing and volume adjustment. Fully fills |audio_bus| with mixed |
| - // audio data. When resampling is necessary, ProvideInput() will be called |
| - // by MultiChannelResampler when more data is necessary. |
| - void ProvideInput(AudioBus* audio_bus); |
| - |
| // Output sink for this mixer. |
| scoped_refptr<AudioRendererSink> audio_sink_; |
| // Set of mixer inputs to be mixed by this mixer. Access is thread-safe |
| // through |mixer_inputs_lock_|. |
| - typedef std::set< scoped_refptr<AudioRendererMixerInput> > |
| + typedef std::list< scoped_refptr<AudioRendererMixerInput> > |
|
scherkus (not reviewing)
2012/11/14 22:43:50
nit: remove space after first <
that's how roll '
DaleCurtis
2012/11/16 23:51:05
Hideous!!!
scherkus (not reviewing)
2012/11/17 01:04:37
blame c++
|
| AudioRendererMixerInputSet; |
| AudioRendererMixerInputSet mixer_inputs_; |
| base::Lock mixer_inputs_lock_; |
| - // Vector for rendering audio data from each mixer input. |
| - scoped_ptr<AudioBus> mixer_input_audio_bus_; |
| - |
| - // Handles resampling post-mixing. |
| - scoped_ptr<MultiChannelResampler> resampler_; |
| - |
| - // The audio delay in milliseconds received by the last Render() call. |
| - int current_audio_delay_milliseconds_; |
| - |
| - // Ratio of input data to output data. Used to scale audio delay information. |
| - double io_ratio_; |
| - double input_ms_per_frame_; |
| + // Handles mixing and resampling between input and output parameters. |
| + AudioTransform audio_transform_; |
| DISALLOW_COPY_AND_ASSIGN(AudioRendererMixer); |
| }; |