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

Side by Side Diff: webrtc/video_send_stream.h

Issue 2716643002: Add framerate to VideoSinkWants and ability to signal on overuse (Closed)
Patch Set: comments Created 3 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 unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
213 virtual void Stop() = 0; 213 virtual void Stop() = 0;
214 214
215 // Based on the spec in 215 // Based on the spec in
216 // https://w3c.github.io/webrtc-pc/#idl-def-rtcdegradationpreference. 216 // https://w3c.github.io/webrtc-pc/#idl-def-rtcdegradationpreference.
217 enum class DegradationPreference { 217 enum class DegradationPreference {
218 kMaintainResolution, 218 kMaintainResolution,
219 // TODO(perkj): Implement kMaintainFrameRate. kBalanced will drop frames 219 // TODO(perkj): Implement kMaintainFrameRate. kBalanced will drop frames
220 // if the encoder overshoots or the encoder can not encode fast enough. 220 // if the encoder overshoots or the encoder can not encode fast enough.
221 kBalanced, 221 kBalanced,
222 }; 222 };
223
223 virtual void SetSource( 224 virtual void SetSource(
224 rtc::VideoSourceInterface<webrtc::VideoFrame>* source, 225 rtc::VideoSourceInterface<webrtc::VideoFrame>* source,
225 const DegradationPreference& degradation_preference) = 0; 226 const DegradationPreference& degradation_preference) = 0;
226 227
227 // Set which streams to send. Must have at least as many SSRCs as configured 228 // Set which streams to send. Must have at least as many SSRCs as configured
228 // in the config. Encoder settings are passed on to the encoder instance along 229 // in the config. Encoder settings are passed on to the encoder instance along
229 // with the VideoStream settings. 230 // with the VideoStream settings.
230 virtual void ReconfigureVideoEncoder(VideoEncoderConfig config) = 0; 231 virtual void ReconfigureVideoEncoder(VideoEncoderConfig config) = 0;
231 232
232 virtual Stats GetStats() = 0; 233 virtual Stats GetStats() = 0;
(...skipping 14 matching lines...) Expand all
247 EnableEncodedFrameRecording(std::vector<rtc::PlatformFile>(), 0); 248 EnableEncodedFrameRecording(std::vector<rtc::PlatformFile>(), 0);
248 } 249 }
249 250
250 protected: 251 protected:
251 virtual ~VideoSendStream() {} 252 virtual ~VideoSendStream() {}
252 }; 253 };
253 254
254 } // namespace webrtc 255 } // namespace webrtc
255 256
256 #endif // WEBRTC_VIDEO_SEND_STREAM_H_ 257 #endif // WEBRTC_VIDEO_SEND_STREAM_H_
OLDNEW
« webrtc/media/base/videosourceinterface.h ('K') | « webrtc/video/vie_encoder_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698