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

Side by Side Diff: content/renderer/media/media_stream_audio_source.cc

Issue 2873333004: Rename TaskRunner::RunsTasksOnCurrentThread() in //content (Closed)
Patch Set: Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "content/renderer/media/media_stream_audio_source.h" 5 #include "content/renderer/media/media_stream_audio_source.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/single_thread_task_runner.h" 8 #include "base/single_thread_task_runner.h"
9 #include "base/threading/thread_task_runner_handle.h" 9 #include "base/threading/thread_task_runner_handle.h"
10 #include "content/renderer/media/media_stream_audio_track.h" 10 #include "content/renderer/media/media_stream_audio_track.h"
11 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h" 11 #include "third_party/WebKit/public/platform/WebMediaStreamSource.h"
12 #include "third_party/WebKit/public/platform/WebString.h" 12 #include "third_party/WebKit/public/platform/WebString.h"
13 13
14 namespace content { 14 namespace content {
15 15
16 MediaStreamAudioSource::MediaStreamAudioSource(bool is_local_source) 16 MediaStreamAudioSource::MediaStreamAudioSource(bool is_local_source)
17 : is_local_source_(is_local_source), 17 : is_local_source_(is_local_source),
18 is_stopped_(false), 18 is_stopped_(false),
19 task_runner_(base::ThreadTaskRunnerHandle::Get()), 19 task_runner_(base::ThreadTaskRunnerHandle::Get()),
20 weak_factory_(this) { 20 weak_factory_(this) {
21 DVLOG(1) << "MediaStreamAudioSource@" << this << "::MediaStreamAudioSource(" 21 DVLOG(1) << "MediaStreamAudioSource@" << this << "::MediaStreamAudioSource("
22 << (is_local_source_ ? "local" : "remote") << " source)"; 22 << (is_local_source_ ? "local" : "remote") << " source)";
23 } 23 }
24 24
25 MediaStreamAudioSource::~MediaStreamAudioSource() { 25 MediaStreamAudioSource::~MediaStreamAudioSource() {
26 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 26 DCHECK(task_runner_->RunsTasksInCurrentSequence());
27 DVLOG(1) << "MediaStreamAudioSource@" << this << " is being destroyed."; 27 DVLOG(1) << "MediaStreamAudioSource@" << this << " is being destroyed.";
28 } 28 }
29 29
30 // static 30 // static
31 MediaStreamAudioSource* MediaStreamAudioSource::From( 31 MediaStreamAudioSource* MediaStreamAudioSource::From(
32 const blink::WebMediaStreamSource& source) { 32 const blink::WebMediaStreamSource& source) {
33 if (source.IsNull() || 33 if (source.IsNull() ||
34 source.GetType() != blink::WebMediaStreamSource::kTypeAudio) { 34 source.GetType() != blink::WebMediaStreamSource::kTypeAudio) {
35 return nullptr; 35 return nullptr;
36 } 36 }
37 return static_cast<MediaStreamAudioSource*>(source.GetExtraData()); 37 return static_cast<MediaStreamAudioSource*>(source.GetExtraData());
38 } 38 }
39 39
40 bool MediaStreamAudioSource::ConnectToTrack( 40 bool MediaStreamAudioSource::ConnectToTrack(
41 const blink::WebMediaStreamTrack& blink_track) { 41 const blink::WebMediaStreamTrack& blink_track) {
42 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 42 DCHECK(task_runner_->RunsTasksInCurrentSequence());
43 DCHECK(!blink_track.IsNull()); 43 DCHECK(!blink_track.IsNull());
44 44
45 // Sanity-check that there is not already a MediaStreamAudioTrack instance 45 // Sanity-check that there is not already a MediaStreamAudioTrack instance
46 // associated with |blink_track|. 46 // associated with |blink_track|.
47 if (MediaStreamAudioTrack::From(blink_track)) { 47 if (MediaStreamAudioTrack::From(blink_track)) {
48 LOG(DFATAL) 48 LOG(DFATAL)
49 << "Attempting to connect another source to a WebMediaStreamTrack."; 49 << "Attempting to connect another source to a WebMediaStreamTrack.";
50 return false; 50 return false;
51 } 51 }
52 52
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 media::AudioParameters MediaStreamAudioSource::GetAudioParameters() const { 84 media::AudioParameters MediaStreamAudioSource::GetAudioParameters() const {
85 return deliverer_.GetAudioParameters(); 85 return deliverer_.GetAudioParameters();
86 } 86 }
87 87
88 void* MediaStreamAudioSource::GetClassIdentifier() const { 88 void* MediaStreamAudioSource::GetClassIdentifier() const {
89 return nullptr; 89 return nullptr;
90 } 90 }
91 91
92 std::unique_ptr<MediaStreamAudioTrack> 92 std::unique_ptr<MediaStreamAudioTrack>
93 MediaStreamAudioSource::CreateMediaStreamAudioTrack(const std::string& id) { 93 MediaStreamAudioSource::CreateMediaStreamAudioTrack(const std::string& id) {
94 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 94 DCHECK(task_runner_->RunsTasksInCurrentSequence());
95 return std::unique_ptr<MediaStreamAudioTrack>( 95 return std::unique_ptr<MediaStreamAudioTrack>(
96 new MediaStreamAudioTrack(is_local_source())); 96 new MediaStreamAudioTrack(is_local_source()));
97 } 97 }
98 98
99 bool MediaStreamAudioSource::EnsureSourceIsStarted() { 99 bool MediaStreamAudioSource::EnsureSourceIsStarted() {
100 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 100 DCHECK(task_runner_->RunsTasksInCurrentSequence());
101 DVLOG(1) << "MediaStreamAudioSource@" << this << "::EnsureSourceIsStarted()"; 101 DVLOG(1) << "MediaStreamAudioSource@" << this << "::EnsureSourceIsStarted()";
102 return true; 102 return true;
103 } 103 }
104 104
105 void MediaStreamAudioSource::EnsureSourceIsStopped() { 105 void MediaStreamAudioSource::EnsureSourceIsStopped() {
106 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 106 DCHECK(task_runner_->RunsTasksInCurrentSequence());
107 DVLOG(1) << "MediaStreamAudioSource@" << this << "::EnsureSourceIsStopped()"; 107 DVLOG(1) << "MediaStreamAudioSource@" << this << "::EnsureSourceIsStopped()";
108 } 108 }
109 109
110 void MediaStreamAudioSource::SetFormat(const media::AudioParameters& params) { 110 void MediaStreamAudioSource::SetFormat(const media::AudioParameters& params) {
111 DVLOG(1) << "MediaStreamAudioSource@" << this << "::SetFormat(" 111 DVLOG(1) << "MediaStreamAudioSource@" << this << "::SetFormat("
112 << params.AsHumanReadableString() << "), was previously set to {" 112 << params.AsHumanReadableString() << "), was previously set to {"
113 << deliverer_.GetAudioParameters().AsHumanReadableString() << "}."; 113 << deliverer_.GetAudioParameters().AsHumanReadableString() << "}.";
114 deliverer_.OnSetFormat(params); 114 deliverer_.OnSetFormat(params);
115 } 115 }
116 116
117 void MediaStreamAudioSource::DeliverDataToTracks( 117 void MediaStreamAudioSource::DeliverDataToTracks(
118 const media::AudioBus& audio_bus, 118 const media::AudioBus& audio_bus,
119 base::TimeTicks reference_time) { 119 base::TimeTicks reference_time) {
120 deliverer_.OnData(audio_bus, reference_time); 120 deliverer_.OnData(audio_bus, reference_time);
121 } 121 }
122 122
123 void MediaStreamAudioSource::DoStopSource() { 123 void MediaStreamAudioSource::DoStopSource() {
124 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 124 DCHECK(task_runner_->RunsTasksInCurrentSequence());
125 EnsureSourceIsStopped(); 125 EnsureSourceIsStopped();
126 is_stopped_ = true; 126 is_stopped_ = true;
127 } 127 }
128 128
129 void MediaStreamAudioSource::StopAudioDeliveryTo(MediaStreamAudioTrack* track) { 129 void MediaStreamAudioSource::StopAudioDeliveryTo(MediaStreamAudioTrack* track) {
130 DCHECK(task_runner_->RunsTasksOnCurrentThread()); 130 DCHECK(task_runner_->RunsTasksInCurrentSequence());
131 131
132 const bool did_remove_last_track = deliverer_.RemoveConsumer(track); 132 const bool did_remove_last_track = deliverer_.RemoveConsumer(track);
133 DVLOG(1) << "Removed MediaStreamAudioTrack@" << track 133 DVLOG(1) << "Removed MediaStreamAudioTrack@" << track
134 << " as a consumer of MediaStreamAudioSource@" << this << '.'; 134 << " as a consumer of MediaStreamAudioSource@" << this << '.';
135 135
136 // The W3C spec requires a source automatically stop when the last track is 136 // The W3C spec requires a source automatically stop when the last track is
137 // stopped. 137 // stopped.
138 if (!is_stopped_ && did_remove_last_track) 138 if (!is_stopped_ && did_remove_last_track)
139 MediaStreamSource::StopSource(); 139 MediaStreamSource::StopSource();
140 } 140 }
141 141
142 void MediaStreamAudioSource::StopSourceOnError(const std::string& why) { 142 void MediaStreamAudioSource::StopSourceOnError(const std::string& why) {
143 VLOG(1) << why; 143 VLOG(1) << why;
144 144
145 // Stop source when error occurs. 145 // Stop source when error occurs.
146 task_runner_->PostTask( 146 task_runner_->PostTask(
147 FROM_HERE, base::Bind(&MediaStreamSource::StopSource, GetWeakPtr())); 147 FROM_HERE, base::Bind(&MediaStreamSource::StopSource, GetWeakPtr()));
148 } 148 }
149 149
150 } // namespace content 150 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/media_permission_dispatcher.cc ('k') | content/renderer/media/webrtc/webrtc_audio_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698