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

Side by Side Diff: content/renderer/media/webrtc/webrtc_video_track_adapter.cc

Issue 264363005: Cast: deliver video frames on the IO thread (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ThreadCheckerImpl Created 6 years, 7 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/media/webrtc/webrtc_video_track_adapter.h" 5 #include "content/renderer/media/webrtc/webrtc_video_track_adapter.h"
6 6
7 #include "base/strings/utf_string_conversions.h" 7 #include "base/strings/utf_string_conversions.h"
8 #include "content/common/media/media_stream_options.h" 8 #include "content/common/media/media_stream_options.h"
9 #include "content/renderer/media/media_stream_video_source.h" 9 #include "content/renderer/media/media_stream_video_source.h"
10 #include "content/renderer/media/media_stream_video_track.h" 10 #include "content/renderer/media/media_stream_video_track.h"
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 track.source().constraints())); 82 track.source().constraints()));
83 83
84 video_track_ = factory->CreateLocalVideoTrack(web_track_.id().utf8(), 84 video_track_ = factory->CreateLocalVideoTrack(web_track_.id().utf8(),
85 video_source.get()); 85 video_source.get());
86 86
87 video_track_->set_enabled(web_track_.isEnabled()); 87 video_track_->set_enabled(web_track_.isEnabled());
88 88
89 source_adapter_ = new WebRtcVideoSourceAdapter(video_source, 89 source_adapter_ = new WebRtcVideoSourceAdapter(video_source,
90 capture_adapter); 90 capture_adapter);
91 91
92 MediaStreamVideoTrack::GetVideoTrack(track)->AddSink( 92 AddToVideoTrack(
93 this, base::Bind(&WebRtcVideoSourceAdapter::OnVideoFrameOnIO, 93 this,
94 source_adapter_)); 94 base::Bind(&WebRtcVideoSourceAdapter::OnVideoFrameOnIO,
95 source_adapter_),
96 web_track_);
95 97
96 DVLOG(3) << "WebRtcVideoTrackAdapter ctor() : is_screencast " 98 DVLOG(3) << "WebRtcVideoTrackAdapter ctor() : is_screencast "
97 << is_screencast; 99 << is_screencast;
98 } 100 }
99 101
100 WebRtcVideoTrackAdapter::~WebRtcVideoTrackAdapter() { 102 WebRtcVideoTrackAdapter::~WebRtcVideoTrackAdapter() {
101 DCHECK(thread_checker_.CalledOnValidThread()); 103 DCHECK(thread_checker_.CalledOnValidThread());
102 DVLOG(3) << "WebRtcVideoTrackAdapter dtor()."; 104 DVLOG(3) << "WebRtcVideoTrackAdapter dtor().";
103 MediaStreamVideoTrack::GetVideoTrack(web_track_)->RemoveSink(this); 105 RemoveFromVideoTrack(this, web_track_);
104 } 106 }
105 107
106 void WebRtcVideoTrackAdapter::OnEnabledChanged(bool enabled) { 108 void WebRtcVideoTrackAdapter::OnEnabledChanged(bool enabled) {
107 DCHECK(thread_checker_.CalledOnValidThread()); 109 DCHECK(thread_checker_.CalledOnValidThread());
108 video_track_->set_enabled(enabled); 110 video_track_->set_enabled(enabled);
109 } 111 }
110 112
111 } // namespace content 113 } // namespace content
112
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698