summaryrefslogtreecommitdiffstats
path: root/chrome/renderer
diff options
context:
space:
mode:
authorscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-27 19:56:41 +0000
committerscherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-04-27 19:56:41 +0000
commit891acc9b216198f8a143a8b0f1a0dada8d989299 (patch)
treef737fcebc7dddbe9291d099ece66a9c282d86032 /chrome/renderer
parent23fe227f16ed4bee9a9da5558261f945f646c5ce (diff)
downloadchromium_src-891acc9b216198f8a143a8b0f1a0dada8d989299.zip
chromium_src-891acc9b216198f8a143a8b0f1a0dada8d989299.tar.gz
chromium_src-891acc9b216198f8a143a8b0f1a0dada8d989299.tar.bz2
Adds --no-audio, which replaces the audio IPC layer with a mock audio device.
Useful for testing <audio> and <video> over remote desktop or on machines without sound cards. Should also let mac/linux playback videos without our audio layer being implemented on those platforms. Review URL: http://codereview.chromium.org/93132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14637 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r--chrome/renderer/webmediaplayer_delegate_impl.cc18
1 files changed, 13 insertions, 5 deletions
diff --git a/chrome/renderer/webmediaplayer_delegate_impl.cc b/chrome/renderer/webmediaplayer_delegate_impl.cc
index 80737fd..6112cb9 100644
--- a/chrome/renderer/webmediaplayer_delegate_impl.cc
+++ b/chrome/renderer/webmediaplayer_delegate_impl.cc
@@ -1,9 +1,11 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved. Use of this
-// source code is governed by a BSD-style license that can be found in the
-// LICENSE file.
+// Copyright (c) 2008-2009 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
#include "chrome/renderer/webmediaplayer_delegate_impl.h"
+#include "base/command_line.h"
+#include "chrome/common/chrome_switches.h"
#include "chrome/renderer/media/audio_renderer_impl.h"
#include "chrome/renderer/media/data_source_impl.h"
#include "chrome/renderer/media/video_renderer_impl.h"
@@ -15,6 +17,7 @@
#include "media/filters/ffmpeg_demuxer.h"
#include "media/filters/ffmpeg_video_decoder.h"
#endif
+#include "media/filters/null_audio_renderer.h"
#include "third_party/WebKit/WebKit/chromium/public/WebRect.h"
#include "third_party/WebKit/WebKit/chromium/public/WebSize.h"
@@ -68,8 +71,13 @@ WebMediaPlayerDelegateImpl::WebMediaPlayerDelegateImpl(RenderView* view)
filter_factory_->AddFactory(media::FFmpegAudioDecoder::CreateFactory());
filter_factory_->AddFactory(media::FFmpegVideoDecoder::CreateFactory());
#endif
- filter_factory_->AddFactory(AudioRendererImpl::CreateFactory(
- view_->audio_message_filter()));
+ if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kDisableAudio)) {
+ filter_factory_->AddFactory(
+ media::NullAudioRenderer::CreateFilterFactory());
+ } else {
+ filter_factory_->AddFactory(
+ AudioRendererImpl::CreateFactory(view_->audio_message_filter()));
+ }
filter_factory_->AddFactory(VideoRendererImpl::CreateFactory(this));
filter_factory_->AddFactory(DataSourceImpl::CreateFactory(this));
}