| Index: content/renderer/media/media_stream_video_track.cc
|
| diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc
|
| index 4a0bca04d07f8e2666ce6d7aaf10c50ac6726a7e..5663c47ba66b734c868ae3fce073f19b87c1303a 100644
|
| --- a/content/renderer/media/media_stream_video_track.cc
|
| +++ b/content/renderer/media/media_stream_video_track.cc
|
| @@ -229,7 +229,8 @@ MediaStreamVideoTrack::MediaStreamVideoTrack(
|
| new MediaStreamVideoTrack::FrameDeliverer(source->io_task_runner(),
|
| enabled)),
|
| constraints_(constraints),
|
| - source_(source) {
|
| + source_(source),
|
| + secure_tracker_(new CapturingLinkSecureTracker<MediaStreamVideoSink>()) {
|
| DCHECK(!constraints.isNull());
|
| source->AddTrack(this,
|
| base::Bind(
|
| @@ -245,15 +246,20 @@ MediaStreamVideoTrack::~MediaStreamVideoTrack() {
|
| DVLOG(3) << "~MediaStreamVideoTrack()";
|
| }
|
|
|
| -void MediaStreamVideoTrack::AddSink(
|
| - MediaStreamVideoSink* sink, const VideoCaptureDeliverFrameCB& callback) {
|
| +void MediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink,
|
| + const VideoCaptureDeliverFrameCB& callback,
|
| + bool is_sink_secure) {
|
| DCHECK(main_render_thread_checker_.CalledOnValidThread());
|
| DCHECK(std::find(sinks_.begin(), sinks_.end(), sink) == sinks_.end());
|
| sinks_.push_back(sink);
|
| frame_deliverer_->AddCallback(sink, callback);
|
| + secure_tracker_->AddLinkSecure(sink, is_sink_secure);
|
| // Request source to deliver a frame because a new sink is added.
|
| - if (source_)
|
| + if (source_) {
|
| source_->RequestRefreshFrame();
|
| + source_->UpdateCapturingLinkSecure(this,
|
| + secure_tracker_->is_capturing_secure());
|
| + }
|
| }
|
|
|
| void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) {
|
| @@ -263,6 +269,10 @@ void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) {
|
| DCHECK(it != sinks_.end());
|
| sinks_.erase(it);
|
| frame_deliverer_->RemoveCallback(sink);
|
| + secure_tracker_->RemoveLinkSecure(sink);
|
| + if (source_)
|
| + source_->UpdateCapturingLinkSecure(this,
|
| + secure_tracker_->is_capturing_secure());
|
| }
|
|
|
| void MediaStreamVideoTrack::SetEnabled(bool enabled) {
|
|
|