| 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 8d4b83d6b43ff3f9d51a8860c7413b64baf8f230..3935e7bdbac58a47694e27a9d040ce562b26c38d 100644
|
| --- a/content/renderer/media/media_stream_video_track.cc
|
| +++ b/content/renderer/media/media_stream_video_track.cc
|
| @@ -46,7 +46,7 @@ MediaStreamVideoTrack::MediaStreamVideoTrack(
|
|
|
| MediaStreamVideoTrack::~MediaStreamVideoTrack() {
|
| DCHECK(sinks_.empty());
|
| - source_->RemoveTrack(this);
|
| + Stop();
|
| }
|
|
|
| void MediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink) {
|
| @@ -88,6 +88,15 @@ void MediaStreamVideoTrack::SetEnabled(bool enabled) {
|
| }
|
| }
|
|
|
| +void MediaStreamVideoTrack::Stop() {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + if (source_) {
|
| + source_->RemoveTrack(this);
|
| + source_ = NULL;
|
| + }
|
| + OnReadyStateChanged(blink::WebMediaStreamSource::ReadyStateEnded);
|
| +}
|
| +
|
| void MediaStreamVideoTrack::OnVideoFrame(
|
| const scoped_refptr<media::VideoFrame>& frame) {
|
| DCHECK(thread_checker_.CalledOnValidThread());
|
|
|