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 "remoting/client/client_context.h"
6
7namespace remoting {
8
9ClientContext::ClientContext(base::SingleThreadTaskRunner* main_task_runner)
10    : main_task_runner_(main_task_runner),
11      decode_thread_("ChromotingClientDecodeThread"),
12      audio_decode_thread_("ChromotingClientAudioDecodeThread") {
13}
14
15ClientContext::~ClientContext() {
16}
17
18void ClientContext::Start() {
19  // Start all the threads.
20  decode_thread_.Start();
21  audio_decode_thread_.Start();
22}
23
24void ClientContext::Stop() {
25  // Stop all the threads.
26  decode_thread_.Stop();
27  audio_decode_thread_.Stop();
28}
29
30base::SingleThreadTaskRunner* ClientContext::main_task_runner() {
31  return main_task_runner_.get();
32}
33
34base::SingleThreadTaskRunner* ClientContext::decode_task_runner() {
35  return decode_thread_.message_loop_proxy().get();
36}
37
38base::SingleThreadTaskRunner* ClientContext::audio_decode_task_runner() {
39  return audio_decode_thread_.message_loop_proxy().get();
40}
41
42}  // namespace remoting
43