| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_video_track.h" | 5 #include "content/renderer/media/media_stream_video_track.h" |
| 6 | 6 |
| 7 #include <utility> | 7 #include <utility> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/location.h" | 10 #include "base/location.h" |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 234 void MediaStreamVideoTrack::AddSink( | 234 void MediaStreamVideoTrack::AddSink( |
| 235 MediaStreamVideoSink* sink, const VideoCaptureDeliverFrameCB& callback) { | 235 MediaStreamVideoSink* sink, const VideoCaptureDeliverFrameCB& callback) { |
| 236 DCHECK(main_render_thread_checker_.CalledOnValidThread()); | 236 DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| 237 DCHECK(std::find(sinks_.begin(), sinks_.end(), sink) == sinks_.end()); | 237 DCHECK(std::find(sinks_.begin(), sinks_.end(), sink) == sinks_.end()); |
| 238 sinks_.push_back(sink); | 238 sinks_.push_back(sink); |
| 239 frame_deliverer_->AddCallback(sink, callback); | 239 frame_deliverer_->AddCallback(sink, callback); |
| 240 } | 240 } |
| 241 | 241 |
| 242 void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) { | 242 void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) { |
| 243 DCHECK(main_render_thread_checker_.CalledOnValidThread()); | 243 DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| 244 std::vector<MediaStreamVideoSink*>::iterator it = | 244 auto it = std::find(sinks_.begin(), sinks_.end(), sink); |
| 245 std::find(sinks_.begin(), sinks_.end(), sink); | |
| 246 DCHECK(it != sinks_.end()); | 245 DCHECK(it != sinks_.end()); |
| 247 sinks_.erase(it); | 246 sinks_.erase(it); |
| 248 frame_deliverer_->RemoveCallback(sink); | 247 frame_deliverer_->RemoveCallback(sink); |
| 249 } | 248 } |
| 250 | 249 |
| 251 void MediaStreamVideoTrack::SetEnabled(bool enabled) { | 250 void MediaStreamVideoTrack::SetEnabled(bool enabled) { |
| 252 DCHECK(main_render_thread_checker_.CalledOnValidThread()); | 251 DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| 253 frame_deliverer_->SetEnabled(enabled); | 252 frame_deliverer_->SetEnabled(enabled); |
| 254 for (auto* sink : sinks_) | 253 for (auto* sink : sinks_) |
| 255 sink->OnEnabledChanged(enabled); | 254 sink->OnEnabledChanged(enabled); |
| 256 } | 255 } |
| 257 | 256 |
| 258 void MediaStreamVideoTrack::Stop() { | 257 void MediaStreamVideoTrack::Stop() { |
| 259 DCHECK(main_render_thread_checker_.CalledOnValidThread()); | 258 DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| 260 if (source_) { | 259 if (source_) { |
| 261 source_->RemoveTrack(this); | 260 source_->RemoveTrack(this); |
| 262 source_ = NULL; | 261 source_ = NULL; |
| 263 } | 262 } |
| 264 OnReadyStateChanged(blink::WebMediaStreamSource::ReadyStateEnded); | 263 OnReadyStateChanged(blink::WebMediaStreamSource::ReadyStateEnded); |
| 265 } | 264 } |
| 266 | 265 |
| 267 void MediaStreamVideoTrack::OnReadyStateChanged( | 266 void MediaStreamVideoTrack::OnReadyStateChanged( |
| 268 blink::WebMediaStreamSource::ReadyState state) { | 267 blink::WebMediaStreamSource::ReadyState state) { |
| 269 DCHECK(main_render_thread_checker_.CalledOnValidThread()); | 268 DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| 270 for (auto* sink : sinks_) | 269 for (auto* sink : sinks_) |
| 271 sink->OnReadyStateChanged(state); | 270 sink->OnReadyStateChanged(state); |
| 272 } | 271 } |
| 273 | 272 |
| 274 } // namespace content | 273 } // namespace content |
| OLD | NEW |