Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(795)

Unified Diff: media/base/audio_renderer_mixer_input.cc

Issue 11410012: Collapse AudioRendererMixer and OnMoreDataResampler into AudioTransform. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rename. Comments. Created 8 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/base/audio_renderer_mixer_input.h ('k') | media/base/audio_renderer_mixer_input_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/base/audio_renderer_mixer_input.cc
diff --git a/media/base/audio_renderer_mixer_input.cc b/media/base/audio_renderer_mixer_input.cc
index c748f8f140abe7d653b663a0899ab4403a06ca0a..763472a14c563ae2f063a3e37d373ac7052a278e 100644
--- a/media/base/audio_renderer_mixer_input.cc
+++ b/media/base/audio_renderer_mixer_input.cc
@@ -18,7 +18,8 @@ AudioRendererMixerInput::AudioRendererMixerInput(
get_mixer_cb_(get_mixer_cb),
remove_mixer_cb_(remove_mixer_cb),
mixer_(NULL),
- callback_(NULL) {
+ callback_(NULL),
+ current_audio_delay_milliseconds_(0) {
}
AudioRendererMixerInput::~AudioRendererMixerInput() {
@@ -72,8 +73,27 @@ bool AudioRendererMixerInput::SetVolume(double volume) {
return true;
}
-void AudioRendererMixerInput::GetVolume(double* volume) {
- *volume = volume_;
+double AudioRendererMixerInput::ProvideInput(AudioBus* audio_bus,
+ base::TimeDelta buffer_delay) {
+ int frames_filled = 0;
+
+ if (playing_) {
+ frames_filled = callback_->Render(
+ audio_bus,
+ current_audio_delay_milliseconds_ + buffer_delay.InMilliseconds());
+
+ // AudioConverter expects unfilled frames to be zeroed.
+ if (frames_filled < audio_bus->frames()) {
+ audio_bus->ZeroFramesPartial(
+ frames_filled, audio_bus->frames() - frames_filled);
+ }
+ }
+
+ return frames_filled > 0 ? volume_ : 0;
+}
+
+void AudioRendererMixerInput::OnRenderError() {
+ callback_->OnRenderError();
}
} // namespace media
« no previous file with comments | « media/base/audio_renderer_mixer_input.h ('k') | media/base/audio_renderer_mixer_input_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698