Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(736)

Unified Diff: content/renderer/media/media_stream_center.cc

Issue 218763007: Update MediaStreamTrack::Stop to latest draft. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed review comments and added tests. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/renderer/media/media_stream_center.cc
diff --git a/content/renderer/media/media_stream_center.cc b/content/renderer/media/media_stream_center.cc
index 32314bd414d3d7e7fac269e72e94be6025e0ecf8..297ce0b7691b43cd312d0a787429c628ba7cd3c0 100644
--- a/content/renderer/media/media_stream_center.cc
+++ b/content/renderer/media/media_stream_center.cc
@@ -126,15 +126,8 @@ void MediaStreamCenter::didDisableMediaStreamTrack(
bool MediaStreamCenter::didStopMediaStreamTrack(
const blink::WebMediaStreamTrack& track) {
DVLOG(1) << "MediaStreamCenter::didStopMediaStreamTrack";
- blink::WebMediaStreamSource source = track.source();
- MediaStreamSource* extra_data =
- static_cast<MediaStreamSource*>(source.extraData());
- if (!extra_data) {
- DVLOG(1) << "didStopMediaStreamTrack called on a remote track.";
- return false;
- }
-
- extra_data->StopSource();
+ MediaStreamTrack* native_track = MediaStreamTrack::GetTrack(track);
+ native_track->StopTrack();
return true;
}
@@ -169,22 +162,16 @@ void MediaStreamCenter::didStopLocalMediaStream(
}
// TODO(perkj): MediaStream::Stop is being deprecated. But for the moment we
- // need to support the old behavior and the new. Since we only create one
- // source object per actual device- we need to fake stopping a
- // MediaStreamTrack by disabling it if the same device is used as source by
- // multiple tracks. Note that disabling a track here, don't affect the
- // enabled property in JS.
+ // need to support both MediaStream::Stop and MediaStreamTrack::Stop.
blink::WebVector<blink::WebMediaStreamTrack> audio_tracks;
stream.audioTracks(audio_tracks);
for (size_t i = 0; i < audio_tracks.size(); ++i)
- didDisableMediaStreamTrack(audio_tracks[i]);
+ didStopMediaStreamTrack(audio_tracks[i]);
blink::WebVector<blink::WebMediaStreamTrack> video_tracks;
stream.videoTracks(video_tracks);
for (size_t i = 0; i < video_tracks.size(); ++i)
- didDisableMediaStreamTrack(video_tracks[i]);
-
- native_stream->OnStreamStopped();
+ didStopMediaStreamTrack(video_tracks[i]);
}
void MediaStreamCenter::didCreateMediaStream(blink::WebMediaStream& stream) {
@@ -192,7 +179,6 @@ void MediaStreamCenter::didCreateMediaStream(blink::WebMediaStream& stream) {
blink::WebMediaStream writable_stream(stream);
MediaStream* native_stream(
new MediaStream(rtc_factory_,
- MediaStream::StreamStopCallback(),
stream));
writable_stream.setExtraData(native_stream);

Powered by Google App Engine
This is Rietveld 408576698