commit | 157b7814b97ffa4df36afd817dc2b363affad17a | [log] [tgz] |
---|---|---|
author | Erik Språng <sprang@webrtc.org> | Mon May 13 09:37:12 2019 |
committer | Commit Bot <commit-bot@chromium.org> | Mon May 13 11:42:59 2019 |
tree | 10d172806c3f1a0c2905daf75f34d36dbf978077 | |
parent | 18a6625221e4c4413c83a85e452a09d10716e18c [diff] |
Remove deprecated SetRates/SetRateAllocation from VideoEncoder. This CL removes two deprecated methods from the VideoEncoder interface: * int32_t SetRates(uint32_t, uint32_t); * int32_t SetRateAllocation(const VideoBitrateAllocation&, uint32_t); These are no longer used, instead the new version must be implemented: void SetRates(const RateControlParameters&) = 0; Migrating is straight forward. For the old SetRates, simple replace: int32_t MyEncoder::SetRates(uint32_t bitrate, uint32_t framerate) { with void MyEncoder::SetRates(const RateControlParameters& parameters) { uint32_t bitrate = parameters.bitrate.get_sum_kbps(); uint32_t framerate = static_cast<uint32_t>(parameters.framerate_fps + 0.5); For SetRateAllocation, replace: int32_t MyEncoder::SetRateAllocation( const VideoBitrateAllocation& allocation, uint32_t framerate) { with void MyEncoder::SetRates(const RateControlParameters& parameters) { const VideoBitrateAllocation& allocation = parameters.bitrate; uint32_t framerate = static_cast<uint32_t>(parameters.framerate_fps + 0.5); Two more things to note: 1. The new method is void. Previously the only use of the return value in production code was to log a more or less generic error message. Instead, log the actual error from the encoder when it happens, then just return. 2. The new method is pure virtual; it must be overriden even in test. This CL is intended to be landed two weeks after creation, on Thursday May 9th 2019. Bug: webrtc:10481 Change-Id: I61349571a280bd40cd100ca9f93c4aa7748ed30d Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/134214 Reviewed-by: Stefan Holmer <stefan@webrtc.org> Reviewed-by: Niels Moller <nisse@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#27926}
WebRTC is a free, open software project that provides browsers and mobile applications with Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components have been optimized to best serve this purpose.
Our mission: To enable rich, high-quality RTC applications to be developed for the browser, mobile platforms, and IoT devices, and allow them all to communicate via a common set of protocols.
The WebRTC initiative is a project supported by Google, Mozilla and Opera, amongst others.
See http://www.webrtc.org/native-code/development for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.