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

Side by Side Diff: remoting/protocol/webrtc_dummy_video_encoder.cc

Issue 2872973002: Update WebrtcDummyVideoEncoderFactory to new encoder factory interface (Closed)
Patch Set: Created 3 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
« no previous file with comments | « remoting/protocol/webrtc_dummy_video_encoder.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 "remoting/protocol/webrtc_dummy_video_encoder.h" 5 #include "remoting/protocol/webrtc_dummy_video_encoder.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 header.fragmentationTimeDiff[0] = 0; 164 header.fragmentationTimeDiff[0] = 0;
165 165
166 return encoded_callback_->OnEncodedImage(encoded_image, &codec_specific_info, 166 return encoded_callback_->OnEncodedImage(encoded_image, &codec_specific_info,
167 &header); 167 &header);
168 } 168 }
169 169
170 WebrtcDummyVideoEncoderFactory::WebrtcDummyVideoEncoderFactory() 170 WebrtcDummyVideoEncoderFactory::WebrtcDummyVideoEncoderFactory()
171 : main_task_runner_(base::ThreadTaskRunnerHandle::Get()) { 171 : main_task_runner_(base::ThreadTaskRunnerHandle::Get()) {
172 // TODO(isheriff): These do not really affect anything internally 172 // TODO(isheriff): These do not really affect anything internally
173 // in webrtc. 173 // in webrtc.
174 codecs_.push_back(cricket::WebRtcVideoEncoderFactory::VideoCodec( 174 codecs_.push_back(cricket::VideoCodec("VP8"));
175 webrtc::kVideoCodecVP9, "VP8", 1280, 720, 30)); 175 codecs_.push_back(cricket::VideoCodec("VP9"));
176 codecs_.push_back(cricket::WebRtcVideoEncoderFactory::VideoCodec(
177 webrtc::kVideoCodecVP9, "VP9", 1280, 720, 30));
178 } 176 }
179 177
180 WebrtcDummyVideoEncoderFactory::~WebrtcDummyVideoEncoderFactory() { 178 WebrtcDummyVideoEncoderFactory::~WebrtcDummyVideoEncoderFactory() {
181 DCHECK(encoders_.empty()); 179 DCHECK(encoders_.empty());
182 } 180 }
183 181
184 webrtc::VideoEncoder* WebrtcDummyVideoEncoderFactory::CreateVideoEncoder( 182 webrtc::VideoEncoder* WebrtcDummyVideoEncoderFactory::CreateVideoEncoder(
185 webrtc::VideoCodecType type) { 183 const cricket::VideoCodec& codec) {
184 webrtc::VideoCodecType type = webrtc::PayloadNameToCodecType(codec.name)
185 .value_or(webrtc::kVideoCodecUnknown);
186 WebrtcDummyVideoEncoder* encoder = new WebrtcDummyVideoEncoder( 186 WebrtcDummyVideoEncoder* encoder = new WebrtcDummyVideoEncoder(
187 main_task_runner_, video_channel_state_observer_, type); 187 main_task_runner_, video_channel_state_observer_, type);
188 base::AutoLock lock(lock_); 188 base::AutoLock lock(lock_);
189 encoders_.push_back(base::WrapUnique(encoder)); 189 encoders_.push_back(base::WrapUnique(encoder));
190 if (encoder_created_callback_) { 190 if (encoder_created_callback_) {
191 main_task_runner_->PostTask(FROM_HERE, 191 main_task_runner_->PostTask(FROM_HERE,
192 base::Bind(encoder_created_callback_, type)); 192 base::Bind(encoder_created_callback_, type));
193 } 193 }
194 return encoder; 194 return encoder;
195 } 195 }
196 196
197 const std::vector<cricket::WebRtcVideoEncoderFactory::VideoCodec>& 197 const std::vector<cricket::VideoCodec>&
198 WebrtcDummyVideoEncoderFactory::codecs() const { 198 WebrtcDummyVideoEncoderFactory::supported_codecs() const {
199 return codecs_; 199 return codecs_;
200 } 200 }
201 201
202 bool WebrtcDummyVideoEncoderFactory::EncoderTypeHasInternalSource( 202 bool WebrtcDummyVideoEncoderFactory::EncoderTypeHasInternalSource(
203 webrtc::VideoCodecType type) const { 203 webrtc::VideoCodecType type) const {
204 // Returns true to directly provide encoded frames to webrtc. 204 // Returns true to directly provide encoded frames to webrtc.
205 return true; 205 return true;
206 } 206 }
207 207
208 void WebrtcDummyVideoEncoderFactory::DestroyVideoEncoder( 208 void WebrtcDummyVideoEncoderFactory::DestroyVideoEncoder(
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
243 void WebrtcDummyVideoEncoderFactory::SetVideoChannelStateObserver( 243 void WebrtcDummyVideoEncoderFactory::SetVideoChannelStateObserver(
244 base::WeakPtr<VideoChannelStateObserver> video_channel_state_observer) { 244 base::WeakPtr<VideoChannelStateObserver> video_channel_state_observer) {
245 DCHECK(main_task_runner_->BelongsToCurrentThread()); 245 DCHECK(main_task_runner_->BelongsToCurrentThread());
246 DCHECK(encoders_.empty()); 246 DCHECK(encoders_.empty());
247 base::AutoLock lock(lock_); 247 base::AutoLock lock(lock_);
248 video_channel_state_observer_ = video_channel_state_observer; 248 video_channel_state_observer_ = video_channel_state_observer;
249 } 249 }
250 250
251 } // namespace protocol 251 } // namespace protocol
252 } // namespace remoting 252 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/webrtc_dummy_video_encoder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698