Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2651)

Unified Diff: remoting/host/audio_scheduler.cc

Issue 11778049: Making DesktopEnvironment a factory class used by ClientSession to create audio/video capturers and… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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) {

Powered by Google App Engine
This is Rietveld 408576698