07b17df771af20a6dd98b795592acc62a623c56f

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.
Development
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.
More info
- Official web site: http://www.webrtc.org
- Master source code repo: https://webrtc.googlesource.com/src
- Samples and reference apps: https://github.com/webrtc
- Mailing list: http://groups.google.com/group/discuss-webrtc
- Continuous build: http://build.chromium.org/p/client.webrtc
- Coding style guide
- Code of conduct
Description
Languages
C++
88.6%
C
3.3%
Java
3%
Objective-C++
1.9%
Python
1.9%
Other
1%