commit | b28bc83d02065d2173eadc2163cf9c378830ead1 | [log] [tgz] |
---|---|---|
author | Henrik Boström <hbos@webrtc.org> | Mon May 11 14:37:41 2020 |
committer | Commit Bot <commit-bot@chromium.org> | Mon May 11 21:45:40 2020 |
tree | 056095e2c062339a4cc318723bf584ed89d16835 | |
parent | 9438ddc9fc6bddeb7409e8a24827c8ed06c2a9ee [diff] |
[Adaptation] Make Manager's Resources not depend on encoder queue. This CL makes the VideoStreamEncoderResourceManager's inner Resources (PreventAdaptUpDueToActiveCounts, PreventIncreaseResolutionDueToBitrateResource and PreventAdaptUpInBalancedResource) not directly depend on any of the manager's states that will continue to live on the encoder task queue when the adaptation task queue is introduced in the next CL. PreventAdaptUpDueToActiveCounts depends on effective degradation preference, which it can get from the Processor, and the active counts, which will move to the adaptation queue and is safe to use. PreventIncreaseResolutionDueToBitrateResource depends on encoder settings and target bitrate. This Resource now listens to these states being updated, which may be implemented with a PostTask when the adaptation queue is added. PreventAdaptUpInBalancedResource depends on the effective degradation preference, which it can get from the Processor; balanced settings, which is a const readonly struct (thread-safe); and encoder target bitrate, which it listens for being updated (to be PostTask'ed). All resources depends on GetReasonFromResource() which will be callable from the adaptation queue. Bug: webrtc:11542, webrtc:11520 Change-Id: Ifa7bd87d9d8729988073f78f6a37c6f3b8aa4db1 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/174807 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Reviewed-by: Evan Shrubsole <eshr@google.com> Cr-Commit-Position: refs/heads/master@{#31220}
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 here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.