| 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_) {
 | 
| +    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) {
 | 
| 
 |