commit | 07b17df771af20a6dd98b795592acc62a623c56f | [log] [tgz] |
---|---|---|
author | Henrik Boström <hbos@webrtc.org> | Wed Jan 15 11:42:12 2020 +0100 |
committer | Commit Bot <commit-bot@chromium.org> | Wed Jan 15 11:58:04 2020 +0000 |
tree | a15d73fb19cd58454745eaaf560f066688b0ef37 | |
parent | 6ef59d1ced564efd9db76d6d2396c67eb0e65884 [diff] |
Move DegradationPreference logic to the encoder queue. This moves SetHasInputVideoAndDegradationPreference() to the encoder queue. OveruseFrameDetectorResourceAdaptationModule is now entirely single-threaded, including its inner class VideoSourceRestrictor. VideoStreamEncoder now protects the module with RTC_GUARDED_BY. This ensures it is safely used, even without a SequenceChecker inside of the module. The module's |encoder_queue_| is removed. The one task queue reference that is needed - passing down the current task queue to StartCheckForOveruse() - is replaced by a TaskQueueBase* (instead of rtc::TaskQueue*), enabling obtaining the current queue with TaskQueueBase::Current(). (There is no rtc::TaskQueue::Current().) Furthermore, the only uses of VideoSourceSinkController that isn't on the encoder queue are documented, with a TODO saying if these are moved the VideoSourceSinkController could also be made single-threaded. However since this requires introducing a delay to VideoStreamEncoder::SetSource() and VideoStreamEncoder::Stop(), arguably a more risky change, if this is to be attempted that should be in a separate CL. Bug: webrtc:11222 Change-Id: I448ca5125708d5f66b95b0b180d6d24cc356dfa9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/165783 Commit-Queue: Henrik Boström <hbos@webrtc.org> Reviewed-by: Evan Shrubsole <eshr@google.com> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#30263}
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.