1 // Copyright 2014 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.
5 #include "media/cast/test/utility/standalone_cast_environment.h"
7 #include "base/time/default_tick_clock.h"
12 StandaloneCastEnvironment::StandaloneCastEnvironment()
14 make_scoped_ptr
<base::TickClock
>(new base::DefaultTickClock()),
18 main_thread_("StandaloneCastEnvironment Main"),
19 audio_thread_("StandaloneCastEnvironment Audio"),
20 video_thread_("StandaloneCastEnvironment Video") {
21 #define CREATE_TASK_RUNNER(name, options) \
22 name##_thread_.StartWithOptions(options); \
23 CastEnvironment::name##_thread_proxy_ = name##_thread_.task_runner()
25 CREATE_TASK_RUNNER(main
,
26 base::Thread::Options(base::MessageLoop::TYPE_IO
, 0));
27 CREATE_TASK_RUNNER(audio
, base::Thread::Options());
28 CREATE_TASK_RUNNER(video
, base::Thread::Options());
29 #undef CREATE_TASK_RUNNER
32 StandaloneCastEnvironment::~StandaloneCastEnvironment() {
33 CHECK(CalledOnValidThread());
34 CHECK(!main_thread_
.IsRunning());
35 CHECK(!audio_thread_
.IsRunning());
36 CHECK(!video_thread_
.IsRunning());
39 void StandaloneCastEnvironment::Shutdown() {
40 CHECK(CalledOnValidThread());