| Index: content/renderer/media/media_stream_video_source.cc
|
| diff --git a/content/renderer/media/media_stream_video_source.cc b/content/renderer/media/media_stream_video_source.cc
|
| index 243d361323c6a4116526437ea1462f61cb74fa6d..be6b23b2d9295888ca98a1a86bfefc5b37b38a3f 100644
|
| --- a/content/renderer/media/media_stream_video_source.cc
|
| +++ b/content/renderer/media/media_stream_video_source.cc
|
| @@ -337,10 +337,13 @@ void MediaStreamVideoSource::AddTrack(
|
| }
|
|
|
| void MediaStreamVideoSource::RemoveTrack(MediaStreamVideoTrack* video_track) {
|
| + DCHECK(CalledOnValidThread());
|
| std::vector<MediaStreamVideoTrack*>::iterator it =
|
| std::find(tracks_.begin(), tracks_.end(), video_track);
|
| DCHECK(it != tracks_.end());
|
| tracks_.erase(it);
|
| + if (tracks_.empty())
|
| + StopSource();
|
| }
|
|
|
| void MediaStreamVideoSource::InitAdapter() {
|
| @@ -367,6 +370,7 @@ webrtc::VideoSourceInterface* MediaStreamVideoSource::GetAdapter() {
|
| }
|
|
|
| void MediaStreamVideoSource::DoStopSource() {
|
| + DCHECK(CalledOnValidThread());
|
| DVLOG(3) << "DoStopSource()";
|
| StopSourceImpl();
|
| state_ = ENDED;
|
|
|