diff options
author | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-27 19:56:41 +0000 |
---|---|---|
committer | scherkus@chromium.org <scherkus@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-04-27 19:56:41 +0000 |
commit | 891acc9b216198f8a143a8b0f1a0dada8d989299 (patch) | |
tree | f737fcebc7dddbe9291d099ece66a9c282d86032 /chrome/renderer | |
parent | 23fe227f16ed4bee9a9da5558261f945f646c5ce (diff) | |
download | chromium_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.cc | 18 |
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)); } |