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 #include "media/audio/virtual_audio_output_stream.h" | 5 #include "media/audio/virtual_audio_output_stream.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "media/audio/virtual_audio_input_stream.h" | 8 #include "media/audio/virtual_audio_input_stream.h" |
9 | 9 |
10 namespace media { | 10 namespace media { |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
70 DCHECK(thread_checker_.CalledOnValidThread()); | 70 DCHECK(thread_checker_.CalledOnValidThread()); |
71 *volume = volume_; | 71 *volume = volume_; |
72 } | 72 } |
73 | 73 |
74 double VirtualAudioOutputStream::ProvideInput(AudioBus* audio_bus, | 74 double VirtualAudioOutputStream::ProvideInput(AudioBus* audio_bus, |
75 base::TimeDelta buffer_delay) { | 75 base::TimeDelta buffer_delay) { |
76 // Note: This method may be invoked on any one thread, depending on the | 76 // Note: This method may be invoked on any one thread, depending on the |
77 // platform. | 77 // platform. |
78 DCHECK(callback_); | 78 DCHECK(callback_); |
79 | 79 |
80 const int frames = callback_->OnMoreData(audio_bus, 0); | 80 DCHECK_GE(buffer_delay, base::TimeDelta()); |
81 const int64 upstream_delay_in_bytes = | |
82 params_.GetBytesPerSecond() * buffer_delay / | |
83 base::TimeDelta::FromSeconds(1); | |
84 const int frames = callback_->OnMoreData( | |
85 audio_bus, static_cast<uint32>(upstream_delay_in_bytes)); | |
hubbe
2014/12/01 21:56:46
Is this allowed to not be a multiple of channels*b
miu
2014/12/02 00:02:44
The call to GetBytesPerSecond() ensures this, sinc
| |
81 if (frames < audio_bus->frames()) | 86 if (frames < audio_bus->frames()) |
82 audio_bus->ZeroFramesPartial(frames, audio_bus->frames() - frames); | 87 audio_bus->ZeroFramesPartial(frames, audio_bus->frames() - frames); |
83 | 88 |
84 return frames > 0 ? volume_ : 0; | 89 return frames > 0 ? volume_ : 0; |
85 } | 90 } |
86 | 91 |
87 } // namespace media | 92 } // namespace media |
OLD | NEW |