| 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 51da6bb96cf1c55895857a36e438361c3e0e5640..f6b7428f247644f0866960e1eccf4d62f06f22f9 100644
|
| --- a/content/renderer/media/media_stream_video_source.cc
|
| +++ b/content/renderer/media/media_stream_video_source.cc
|
| @@ -356,10 +356,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() {
|
| @@ -385,6 +388,7 @@ webrtc::VideoSourceInterface* MediaStreamVideoSource::GetAdapter() {
|
| }
|
|
|
| void MediaStreamVideoSource::DoStopSource() {
|
| + DCHECK(CalledOnValidThread());
|
| DVLOG(3) << "DoStopSource()";
|
| StopSourceImpl();
|
| state_ = ENDED;
|
|
|