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 e23b290328ddc6aafdea984452fa1336165dd720..2ccdba52d25fd26e6f0d5a386079430a86ce8e71 100644 |
--- a/content/renderer/media/media_stream_video_track.cc |
+++ b/content/renderer/media/media_stream_video_track.cc |
@@ -253,6 +253,7 @@ void MediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink, |
secure_tracker_.Add(sink, is_sink_secure); |
// Request source to deliver a frame because a new sink is added. |
if (source_) { |
mcasas
2016/09/28 21:34:44
Heh I feel like a scratched record, but, early ret
miu
2016/09/28 22:35:15
Done.
|
+ source_->UpdateHasConsumers(this, true); |
source_->RequestRefreshFrame(); |
source_->UpdateCapturingLinkSecure(this, |
secure_tracker_.is_capturing_secure()); |
@@ -267,9 +268,12 @@ void MediaStreamVideoTrack::RemoveSink(MediaStreamVideoSink* sink) { |
sinks_.erase(it); |
frame_deliverer_->RemoveCallback(sink); |
secure_tracker_.Remove(sink); |
- if (source_) |
+ if (source_) { |
+ if (sinks_.empty()) |
+ source_->UpdateHasConsumers(this, false); |
source_->UpdateCapturingLinkSecure(this, |
secure_tracker_.is_capturing_secure()); |
+ } |
} |
void MediaStreamVideoTrack::SetEnabled(bool enabled) { |