15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved. 25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file. 45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "media/audio/audio_output_dispatcher.h" 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 75d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)#include "base/single_thread_task_runner.h" 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace media { 105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AudioOutputDispatcher::AudioOutputDispatcher( 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) AudioManager* audio_manager, 13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) const AudioParameters& params, 145d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) const std::string& device_id) 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) : audio_manager_(audio_manager), 165d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) task_runner_(audio_manager->GetTaskRunner()), 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) params_(params), 185d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) device_id_(device_id) { 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // We expect to be instantiated on the audio thread. Otherwise the 205d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) // |task_runner_| member will point to the wrong message loop! 215d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DCHECK(audio_manager->GetTaskRunner()->BelongsToCurrentThread()); 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)AudioOutputDispatcher::~AudioOutputDispatcher() { 255d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) DCHECK(task_runner_->BelongsToCurrentThread()); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)} // namespace media 29