| // 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/base/mock_audio_renderer_sink.h" |
| |
| #include "base/bind.h" |
| #include "base/threading/sequenced_task_runner_handle.h" |
| |
| namespace media { |
| MockAudioRendererSink::MockAudioRendererSink() |
| : MockAudioRendererSink(OUTPUT_DEVICE_STATUS_OK) {} |
| |
| MockAudioRendererSink::MockAudioRendererSink(OutputDeviceStatus device_status) |
| : MockAudioRendererSink(std::string(), device_status) {} |
| |
| MockAudioRendererSink::MockAudioRendererSink(const std::string& device_id, |
| OutputDeviceStatus device_status) |
| : MockAudioRendererSink( |
| device_id, |
| device_status, |
| AudioParameters(AudioParameters::AUDIO_FAKE, |
| CHANNEL_LAYOUT_STEREO, |
| AudioParameters::kTelephoneSampleRate, |
| 1)) {} |
| |
| MockAudioRendererSink::MockAudioRendererSink( |
| const std::string& device_id, |
| OutputDeviceStatus device_status, |
| const AudioParameters& device_output_params) |
| : output_device_info_(device_id, device_status, device_output_params) {} |
| |
| MockAudioRendererSink::~MockAudioRendererSink() = default; |
| |
| void MockAudioRendererSink::SwitchOutputDevice(const std::string& device_id, |
| OutputDeviceStatusCB callback) { |
| // NB: output device won't be changed, since it's not required by any tests |
| // now. |
| std::move(callback).Run(output_device_info_.device_status()); |
| } |
| |
| void MockAudioRendererSink::Initialize(const AudioParameters& params, |
| RenderCallback* renderer) { |
| callback_ = renderer; |
| } |
| |
| OutputDeviceInfo MockAudioRendererSink::GetOutputDeviceInfo() { |
| return output_device_info_; |
| } |
| |
| void MockAudioRendererSink::GetOutputDeviceInfoAsync( |
| OutputDeviceInfoCB info_cb) { |
| base::SequencedTaskRunnerHandle::Get()->PostTask( |
| FROM_HERE, base::BindOnce(std::move(info_cb), output_device_info_)); |
| } |
| |
| bool MockAudioRendererSink::IsOptimizedForHardwareParameters() { |
| return false; |
| } |
| |
| } // namespace media |