| 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 | 
|---|