Updating XTBs based on .GRDs from branch master
[chromium-blink-merge.git] / media / cast / test / utility / standalone_cast_environment.cc
blob00e4b56bbc4cffd79590ad9231f0e30374a6062c
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"
9 namespace media {
10 namespace cast {
12 StandaloneCastEnvironment::StandaloneCastEnvironment()
13 : CastEnvironment(
14 make_scoped_ptr<base::TickClock>(new base::DefaultTickClock()),
15 NULL,
16 NULL,
17 NULL),
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());
41 main_thread_.Stop();
42 audio_thread_.Stop();
43 video_thread_.Stop();
46 } // namespace cast
47 } // namespace media