Chromium Code Reviews| Index: content/renderer/media/webrtc/media_stream_remote_audio_track.cc |
| diff --git a/content/renderer/media/webrtc/media_stream_remote_audio_track.cc b/content/renderer/media/webrtc/media_stream_remote_audio_track.cc |
| index 17df845f81c491b3c9a0631d3a20835f1b05aa1a..f49891e9fb663241a21e1cfb46db167624f5d89c 100644 |
| --- a/content/renderer/media/webrtc/media_stream_remote_audio_track.cc |
| +++ b/content/renderer/media/webrtc/media_stream_remote_audio_track.cc |
| @@ -120,7 +120,8 @@ MediaStreamRemoteAudioTrack::MediaStreamRemoteAudioTrack( |
| MediaStreamRemoteAudioTrack::~MediaStreamRemoteAudioTrack() { |
| DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| - source()->RemoveAll(this); |
| + // Ensure the track is stopped. |
| + Stop(); |
| } |
| void MediaStreamRemoteAudioTrack::SetEnabled(bool enabled) { |
| @@ -141,6 +142,11 @@ void MediaStreamRemoteAudioTrack::SetEnabled(bool enabled) { |
| void MediaStreamRemoteAudioTrack::Stop() { |
| DCHECK(main_render_thread_checker_.CalledOnValidThread()); |
| + |
| + MediaStreamAudioTrack::WillStopTrack(); |
|
o1ka
2016/03/01 14:18:59
What if some observers rely on the fact that the c
miu
2016/03/02 01:12:50
Good point, and I made the behavior more precisely
o1ka
2016/03/02 16:31:14
I like it!
|
| + |
| + source()->RemoveAll(this); |
| + |
| // Stop means that a track should be stopped permanently. But |
| // since there is no proper way of doing that on a remote track, we can |
| // at least disable the track. Blink will not call down to the content layer |