Index: remoting/host/audio_scheduler.cc |
diff --git a/remoting/host/audio_scheduler.cc b/remoting/host/audio_scheduler.cc |
index 38f107304eaec9fdbbd77d014c4cea8c04b1bded..5d777d565bb782eee26efb57f8518011cd80a240 100644 |
--- a/remoting/host/audio_scheduler.cc |
+++ b/remoting/host/audio_scheduler.cc |
@@ -5,7 +5,6 @@ |
#include "remoting/host/audio_scheduler.h" |
#include "base/bind.h" |
-#include "base/callback.h" |
#include "base/location.h" |
#include "base/logging.h" |
#include "base/single_thread_task_runner.h" |
@@ -20,7 +19,7 @@ namespace remoting { |
scoped_refptr<AudioScheduler> AudioScheduler::Create( |
scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, |
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, |
- AudioCapturer* audio_capturer, |
+ scoped_ptr<AudioCapturer> audio_capturer, |
scoped_ptr<AudioEncoder> audio_encoder, |
protocol::AudioStub* audio_stub) { |
DCHECK(network_task_runner->BelongsToCurrentThread()); |
@@ -30,16 +29,15 @@ scoped_refptr<AudioScheduler> AudioScheduler::Create( |
scoped_refptr<AudioScheduler> scheduler = new AudioScheduler( |
audio_task_runner, network_task_runner, |
- audio_capturer, audio_encoder.Pass(), audio_stub); |
+ audio_capturer.Pass(), audio_encoder.Pass(), audio_stub); |
audio_task_runner->PostTask( |
FROM_HERE, base::Bind(&AudioScheduler::StartOnAudioThread, scheduler)); |
return scheduler; |
} |
-void AudioScheduler::Stop(const base::Closure& done_task) { |
+void AudioScheduler::Stop() { |
DCHECK(network_task_runner_->BelongsToCurrentThread()); |
- DCHECK(!done_task.is_null()); |
DCHECK(audio_stub_); |
// Clear |audio_stub_| to prevent audio packets being delivered to the client. |
@@ -47,18 +45,18 @@ void AudioScheduler::Stop(const base::Closure& done_task) { |
audio_task_runner_->PostTask( |
FROM_HERE, |
- base::Bind(&AudioScheduler::StopOnAudioThread, this, done_task)); |
+ base::Bind(&AudioScheduler::StopOnAudioThread, this)); |
} |
AudioScheduler::AudioScheduler( |
scoped_refptr<base::SingleThreadTaskRunner> audio_task_runner, |
scoped_refptr<base::SingleThreadTaskRunner> network_task_runner, |
- AudioCapturer* audio_capturer, |
+ 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), |
+ audio_capturer_(audio_capturer.Pass()), |
audio_encoder_(audio_encoder.Pass()), |
audio_stub_(audio_stub), |
network_stopped_(false), |
@@ -76,21 +74,19 @@ void AudioScheduler::StartOnAudioThread() { |
base::Bind(&AudioScheduler::EncodeAudioPacket, this)); |
} |
-void AudioScheduler::StopOnAudioThread(const base::Closure& done_task) { |
+void AudioScheduler::StopOnAudioThread() { |
DCHECK(audio_task_runner_->BelongsToCurrentThread()); |
audio_capturer_->Stop(); |
- |
- network_task_runner_->PostTask(FROM_HERE, done_task); |
} |
-void AudioScheduler::SetEnabled(bool enabled) { |
+void AudioScheduler::Pause(bool pause) { |
if (!audio_task_runner_->BelongsToCurrentThread()) { |
audio_task_runner_->PostTask( |
- FROM_HERE, base::Bind(&AudioScheduler::SetEnabled, this, enabled)); |
+ FROM_HERE, base::Bind(&AudioScheduler::Pause, this, pause)); |
return; |
} |
- enabled_ = enabled; |
+ enabled_ = !pause; |
} |
void AudioScheduler::EncodeAudioPacket(scoped_ptr<AudioPacket> packet) { |