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

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 comments. Created 6 years, 8 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 e5685672f1f51ffe6233cede9c8e1e651e32ac85..159afb721632043c73b7085c4ac7f9ad39ee9cff 100644
--- a/content/renderer/media/media_stream_center.cc
+++ b/content/renderer/media/media_stream_center.cc
@@ -121,15 +121,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->Stop();
return true;
}
@@ -163,22 +156,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) {
@@ -186,7 +173,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);
« no previous file with comments | « content/renderer/media/media_stream_audio_source.cc ('k') | content/renderer/media/media_stream_dependency_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698