| Index: media/audio/virtual_audio_output_stream.cc
|
| diff --git a/media/audio/virtual_audio_output_stream.cc b/media/audio/virtual_audio_output_stream.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..57628976e54ecf134fcf90d27d08eeaf2ceb0c9d
|
| --- /dev/null
|
| +++ b/media/audio/virtual_audio_output_stream.cc
|
| @@ -0,0 +1,61 @@
|
| +// Copyright (c) 2012 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 "media/audio/virtual_audio_output_stream.h"
|
| +
|
| +#include "base/bind.h"
|
| +#include "base/bind_helpers.h"
|
| +#include "base/logging.h"
|
| +#include "base/message_loop.h"
|
| +#include "media/audio/audio_manager_base.h"
|
| +
|
| +namespace media {
|
| +
|
| +// static
|
| +AudioOutputStream* VirtualAudioOutputStream::MakeStream(
|
| + AudioManagerBase* manager, const AudioParameters& params) {
|
| + return new VirtualAudioOutputStream(manager, params);
|
| +}
|
| +
|
| +VirtualAudioOutputStream::VirtualAudioOutputStream(
|
| + AudioManagerBase* manager, const AudioParameters& params)
|
| + : audio_manager_(manager),
|
| + params_(params),
|
| + callback_(NULL) {
|
| +}
|
| +
|
| +VirtualAudioOutputStream::~VirtualAudioOutputStream() {
|
| + DCHECK(!callback_);
|
| +}
|
| +
|
| +bool VirtualAudioOutputStream::Open() {
|
| + DCHECK(audio_manager_->GetMessageLoop()->BelongsToCurrentThread());
|
| + return true;
|
| +}
|
| +
|
| +void VirtualAudioOutputStream::Start(AudioSourceCallback* callback) {
|
| + DCHECK(audio_manager_->GetMessageLoop()->BelongsToCurrentThread());
|
| + callback_ = callback;
|
| + // TODO(justinlin): Do we want videos to keep playing if the virtual
|
| + // audio input device crashes for some reason?
|
| +}
|
| +
|
| +void VirtualAudioOutputStream::Stop() {
|
| + DCHECK(audio_manager_->GetMessageLoop()->BelongsToCurrentThread());
|
| + callback_ = NULL;
|
| +}
|
| +
|
| +void VirtualAudioOutputStream::Close() {
|
| + DCHECK(!callback_);
|
| + DCHECK(audio_manager_->GetMessageLoop()->BelongsToCurrentThread());
|
| + audio_manager_->ReleaseOutputStream(this);
|
| +}
|
| +
|
| +void VirtualAudioOutputStream::SetVolume(double volume) {}
|
| +
|
| +void VirtualAudioOutputStream::GetVolume(double* volume) {
|
| + *volume = 0;
|
| +}
|
| +
|
| +} // namespace media
|
|
|