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

Unified Diff: content/renderer/media/media_stream_video_track.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_video_track.cc
diff --git a/content/renderer/media/media_stream_video_track.cc b/content/renderer/media/media_stream_video_track.cc
index 80d202b08463cab68bd672af966fe3d2e3f06a62..a7fd261d4775b951ecf9c1903ccfa8e9c2fec36c 100644
--- a/content/renderer/media/media_stream_video_track.cc
+++ b/content/renderer/media/media_stream_video_track.cc
@@ -57,10 +57,7 @@ MediaStreamVideoTrack::MediaStreamVideoTrack(
MediaStreamVideoTrack::~MediaStreamVideoTrack() {
DCHECK(sinks_.empty());
- // TODO(perkj): source can be NULL if this is actually a remote video track.
- // Remove as soon as we only have one implementation of video tracks.
- if (source_)
- source_->RemoveTrack(this);
+ StopTrack();
}
void MediaStreamVideoTrack::AddSink(MediaStreamVideoSink* sink) {
@@ -102,6 +99,15 @@ void MediaStreamVideoTrack::SetEnabled(bool enabled) {
}
}
+void MediaStreamVideoTrack::StopTrack() {
+ DCHECK(thread_checker_.CalledOnValidThread());
+ if (source_) {
+ source_->RemoveTrack(this);
+ source_ = NULL;
+ }
+ OnReadyStateChanged(blink::WebMediaStreamSource::ReadyStateEnded);
+}
+
void MediaStreamVideoTrack::OnVideoFrame(
const scoped_refptr<media::VideoFrame>& frame) {
DCHECK(thread_checker_.CalledOnValidThread());

Powered by Google App Engine
This is Rietveld 408576698