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

Side by Side Diff: media/audio/fake_audio_output_stream.cc

Issue 2507643002: Removes tracking for fake audio streams. (Closed)
Patch Set: Created 4 years, 1 month 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 unified diff | Download patch
« no previous file with comments | « media/audio/fake_audio_output_stream.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/audio/fake_audio_output_stream.h" 5 #include "media/audio/fake_audio_output_stream.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/single_thread_task_runner.h" 10 #include "base/single_thread_task_runner.h"
11 #include "base/time/time.h" 11 #include "base/time/time.h"
12 #include "media/audio/audio_manager_base.h"
13 12
14 namespace media { 13 namespace media {
15 14
16 // static 15 // static
17 AudioOutputStream* FakeAudioOutputStream::MakeFakeStream( 16 AudioOutputStream* FakeAudioOutputStream::MakeFakeStream(
18 AudioManagerBase* manager, const AudioParameters& params) { 17 const scoped_refptr<base::SingleThreadTaskRunner>& audio_task_runner,
19 return new FakeAudioOutputStream(manager, params); 18 const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
19 const AudioParameters& params) {
20 return new FakeAudioOutputStream(audio_task_runner, worker_task_runner,
21 params);
20 } 22 }
21 23
22 FakeAudioOutputStream::FakeAudioOutputStream(AudioManagerBase* manager, 24 FakeAudioOutputStream::FakeAudioOutputStream(
23 const AudioParameters& params) 25 const scoped_refptr<base::SingleThreadTaskRunner>& audio_task_runner,
24 : audio_manager_(manager), 26 const scoped_refptr<base::SingleThreadTaskRunner>& worker_task_runner,
25 callback_(NULL), 27 const AudioParameters& params)
26 fake_worker_(manager->GetWorkerTaskRunner(), params), 28 : callback_(NULL),
29 fake_worker_(worker_task_runner, params),
30 audio_task_runner_(audio_task_runner),
31 worker_task_runner_(worker_task_runner),
27 audio_bus_(AudioBus::Create(params)) { 32 audio_bus_(AudioBus::Create(params)) {
33 DCHECK(audio_task_runner_->BelongsToCurrentThread());
28 } 34 }
29 35
30 FakeAudioOutputStream::~FakeAudioOutputStream() { 36 FakeAudioOutputStream::~FakeAudioOutputStream() {
37 DCHECK(audio_task_runner_->BelongsToCurrentThread());
31 DCHECK(!callback_); 38 DCHECK(!callback_);
32 } 39 }
33 40
34 bool FakeAudioOutputStream::Open() { 41 bool FakeAudioOutputStream::Open() {
35 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 42 DCHECK(audio_task_runner_->BelongsToCurrentThread());
36 audio_bus_->Zero(); 43 audio_bus_->Zero();
37 return true; 44 return true;
38 } 45 }
39 46
40 void FakeAudioOutputStream::Start(AudioSourceCallback* callback) { 47 void FakeAudioOutputStream::Start(AudioSourceCallback* callback) {
41 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 48 DCHECK(audio_task_runner_->BelongsToCurrentThread());
42 callback_ = callback; 49 callback_ = callback;
43 fake_worker_.Start(base::Bind( 50 fake_worker_.Start(base::Bind(
44 &FakeAudioOutputStream::CallOnMoreData, base::Unretained(this))); 51 &FakeAudioOutputStream::CallOnMoreData, base::Unretained(this)));
45 } 52 }
46 53
47 void FakeAudioOutputStream::Stop() { 54 void FakeAudioOutputStream::Stop() {
48 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 55 DCHECK(audio_task_runner_->BelongsToCurrentThread());
49 fake_worker_.Stop(); 56 fake_worker_.Stop();
50 callback_ = NULL; 57 callback_ = NULL;
51 } 58 }
52 59
53 void FakeAudioOutputStream::Close() { 60 void FakeAudioOutputStream::Close() {
61 DCHECK(audio_task_runner_->BelongsToCurrentThread());
54 DCHECK(!callback_); 62 DCHECK(!callback_);
55 DCHECK(audio_manager_->GetTaskRunner()->BelongsToCurrentThread()); 63 delete this;
56 audio_manager_->ReleaseOutputStream(this);
57 } 64 }
58 65
59 void FakeAudioOutputStream::SetVolume(double volume) {} 66 void FakeAudioOutputStream::SetVolume(double volume) {}
60 67
61 void FakeAudioOutputStream::GetVolume(double* volume) { 68 void FakeAudioOutputStream::GetVolume(double* volume) {
62 *volume = 0; 69 *volume = 0;
63 } 70 }
64 71
65 void FakeAudioOutputStream::CallOnMoreData() { 72 void FakeAudioOutputStream::CallOnMoreData() {
66 DCHECK(audio_manager_->GetWorkerTaskRunner()->BelongsToCurrentThread()); 73 DCHECK(worker_task_runner_->BelongsToCurrentThread());
67 callback_->OnMoreData(base::TimeDelta(), base::TimeTicks::Now(), 0, 74 callback_->OnMoreData(base::TimeDelta(), base::TimeTicks::Now(), 0,
68 audio_bus_.get()); 75 audio_bus_.get());
69 } 76 }
70 77
71 } // namespace media 78 } // namespace media
OLDNEW
« no previous file with comments | « media/audio/fake_audio_output_stream.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698