blob: 03018b3eea552367eafd480358977d6cf95e89c4 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "remoting/client/client_context.h"
#include "base/task/single_thread_task_runner.h"
namespace remoting {
ClientContext::ClientContext(
const scoped_refptr<base::SingleThreadTaskRunner>& main_task_runner)
: main_task_runner_(main_task_runner),
decode_thread_("ChromotingClientDecodeThread"),
audio_decode_thread_("ChromotingClientAudioDecodeThread") {
}
ClientContext::~ClientContext() = default;
void ClientContext::Start() {
// Start all the threads.
decode_thread_.Start();
audio_decode_thread_.Start();
}
void ClientContext::Stop() {
// Stop all the threads.
decode_thread_.Stop();
audio_decode_thread_.Stop();
}
scoped_refptr<base::SingleThreadTaskRunner> ClientContext::main_task_runner()
const {
return main_task_runner_;
}
scoped_refptr<base::SingleThreadTaskRunner> ClientContext::decode_task_runner()
const {
return decode_thread_.task_runner();
}
scoped_refptr<base::SingleThreadTaskRunner>
ClientContext::audio_decode_task_runner() const {
return audio_decode_thread_.task_runner();
}
} // namespace remoting