audio_output_dispatcher.cc revision 8bcbed890bc3ce4d7a057a8f32cab53fa534672e
1// Copyright (c) 2012 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "media/audio/audio_output_dispatcher.h"
6
7#include "base/message_loop/message_loop_proxy.h"
8
9namespace media {
10
11AudioOutputDispatcher::AudioOutputDispatcher(
12    AudioManager* audio_manager,
13    const AudioParameters& params,
14    const std::string& output_device_id,
15    const std::string& input_device_id)
16    : audio_manager_(audio_manager),
17      message_loop_(audio_manager->GetMessageLoop()),
18      params_(params),
19      output_device_id_(output_device_id),
20      input_device_id_(input_device_id) {
21  // We expect to be instantiated on the audio thread.  Otherwise the
22  // message_loop_ member will point to the wrong message loop!
23  DCHECK(audio_manager->GetMessageLoop()->BelongsToCurrentThread());
24}
25
26AudioOutputDispatcher::~AudioOutputDispatcher() {
27  DCHECK(message_loop_->BelongsToCurrentThread());
28}
29
30}  // namespace media
31