| Index: remoting/host/audio_scheduler.cc
|
| diff --git a/remoting/host/audio_scheduler.cc b/remoting/host/audio_scheduler.cc
|
| deleted file mode 100644
|
| index 6a48d47a50c69d6abf7dd3f3a486d3a9dd9b449f..0000000000000000000000000000000000000000
|
| --- a/remoting/host/audio_scheduler.cc
|
| +++ /dev/null
|
| @@ -1,109 +0,0 @@
|
| -// 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/host/audio_scheduler.h"
|
| -
|
| -#include "base/bind.h"
|
| -#include "base/location.h"
|
| -#include "base/logging.h"
|
| -#include "base/single_thread_task_runner.h"
|
| -#include "remoting/codec/audio_encoder.h"
|
| -#include "remoting/host/audio_capturer.h"
|
| -#include "remoting/proto/audio.pb.h"
|
| -#include "remoting/protocol/audio_stub.h"
|
| -
|
| -namespace remoting {
|
| -
|
| -AudioScheduler::AudioScheduler(
|
| - scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner,
|
| - scoped_refptr<base::SingleThreadTaskRunner> network_task_runner,
|
| - scoped_ptr<AudioCapturer> audio_capturer,
|
| - scoped_ptr<AudioEncoder> audio_encoder,
|
| - protocol::AudioStub* audio_stub)
|
| - : audio_task_runner_(audio_task_runner),
|
| - network_task_runner_(network_task_runner),
|
| - audio_capturer_(audio_capturer.Pass()),
|
| - audio_encoder_(audio_encoder.Pass()),
|
| - audio_stub_(audio_stub),
|
| - enabled_(true) {
|
| - DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| - DCHECK(audio_capturer_);
|
| - DCHECK(audio_encoder_);
|
| - DCHECK(audio_stub_);
|
| -}
|
| -
|
| -void AudioScheduler::Start() {
|
| - DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| -
|
| - audio_task_runner_->PostTask(
|
| - FROM_HERE, base::Bind(&AudioScheduler::StartOnAudioThread, this));
|
| -}
|
| -
|
| -void AudioScheduler::Stop() {
|
| - DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| - DCHECK(audio_stub_);
|
| -
|
| - // Clear |audio_stub_| to prevent audio packets being delivered to the client.
|
| - audio_stub_ = nullptr;
|
| -
|
| - audio_task_runner_->PostTask(
|
| - FROM_HERE,
|
| - base::Bind(&AudioScheduler::StopOnAudioThread, this));
|
| -}
|
| -
|
| -AudioScheduler::~AudioScheduler() {
|
| -}
|
| -
|
| -void AudioScheduler::StartOnAudioThread() {
|
| - DCHECK(audio_task_runner_->BelongsToCurrentThread());
|
| -
|
| - // TODO(kxing): Do something with the return value.
|
| - audio_capturer_->Start(
|
| - base::Bind(&AudioScheduler::EncodeAudioPacket, this));
|
| -}
|
| -
|
| -void AudioScheduler::StopOnAudioThread() {
|
| - DCHECK(audio_task_runner_->BelongsToCurrentThread());
|
| - audio_capturer_->Stop();
|
| -}
|
| -
|
| -void AudioScheduler::Pause(bool pause) {
|
| - if (!audio_task_runner_->BelongsToCurrentThread()) {
|
| - audio_task_runner_->PostTask(
|
| - FROM_HERE, base::Bind(&AudioScheduler::Pause, this, pause));
|
| - return;
|
| - }
|
| -
|
| - enabled_ = !pause;
|
| -}
|
| -
|
| -void AudioScheduler::EncodeAudioPacket(scoped_ptr<AudioPacket> packet) {
|
| - DCHECK(audio_task_runner_->BelongsToCurrentThread());
|
| - DCHECK(packet.get());
|
| -
|
| - if (!enabled_)
|
| - return;
|
| -
|
| - scoped_ptr<AudioPacket> encoded_packet =
|
| - audio_encoder_->Encode(packet.Pass());
|
| -
|
| - // The audio encoder returns a null audio packet if there's no audio to send.
|
| - if (encoded_packet.get()) {
|
| - network_task_runner_->PostTask(
|
| - FROM_HERE, base::Bind(&AudioScheduler::SendAudioPacket,
|
| - this, base::Passed(&encoded_packet)));
|
| - }
|
| -}
|
| -
|
| -void AudioScheduler::SendAudioPacket(scoped_ptr<AudioPacket> packet) {
|
| - DCHECK(network_task_runner_->BelongsToCurrentThread());
|
| - DCHECK(packet.get());
|
| -
|
| - if (!audio_stub_)
|
| - return;
|
| -
|
| - audio_stub_->ProcessAudioPacket(packet.Pass(), base::Closure());
|
| -}
|
| -
|
| -} // namespace remoting
|
|
|