Chromium Code Reviews| Index: media/base/audio_renderer_mixer.cc |
| diff --git a/media/base/audio_renderer_mixer.cc b/media/base/audio_renderer_mixer.cc |
| index 218bb9e2c560de40398bf3696195905bbfcee365..f4240e5500e6b8bb6c64ad06cf83194c72a42e07 100644 |
| --- a/media/base/audio_renderer_mixer.cc |
| +++ b/media/base/audio_renderer_mixer.cc |
| @@ -17,6 +17,9 @@ AudioRendererMixer::AudioRendererMixer( |
| const scoped_refptr<AudioRendererSink>& sink) |
| : audio_sink_(sink), |
| output_params_(output_params), |
| + microseconds_per_frame_( |
|
DaleCurtis
2016/02/11 01:57:15
Should we instead have a AudioParameters::GetMicro
chcunningham
2016/02/11 21:02:52
Done.
|
| + static_cast<double>(base::Time::kMicrosecondsPerSecond) / |
| + output_params.sample_rate()), |
| master_converter_(output_params, output_params, true), |
| pause_delay_(base::TimeDelta::FromSeconds(kPauseDelaySeconds)), |
| last_play_time_(base::TimeTicks::Now()), |
| @@ -117,7 +120,7 @@ OutputDevice* AudioRendererMixer::GetOutputDevice() { |
| } |
| int AudioRendererMixer::Render(AudioBus* audio_bus, |
| - uint32_t audio_delay_milliseconds, |
| + uint32_t frames_delayed, |
| uint32_t frames_skipped) { |
| base::AutoLock auto_lock(lock_); |
| @@ -132,8 +135,10 @@ int AudioRendererMixer::Render(AudioBus* audio_bus, |
| playing_ = false; |
| } |
| - master_converter_.ConvertWithDelay( |
| - base::TimeDelta::FromMilliseconds(audio_delay_milliseconds), audio_bus); |
| + base::TimeDelta audio_delay = base::TimeDelta::FromMicroseconds( |
| + frames_delayed * microseconds_per_frame_); |
| + |
|
DaleCurtis
2016/02/11 01:57:15
Mark as TODO: Remove conversion once AudioConverte
chcunningham
2016/02/11 21:02:52
Done.
|
| + master_converter_.ConvertWithDelay(audio_delay, audio_bus); |
| return audio_bus->frames(); |
| } |