This is a reland of c75f1e45093a8d5cc62937c7708b87aa5c5bf0b0. Original change's description: > Reduce locking in VideoReceiver and check the threading model. > > Note: This is a subset of code that was previously reviewed here: > - https://codereview.webrtc.org/2764573002/ > > * Added two notification methods, DecoderThreadStarting() and DecoderThreadStopped() > * Allows us to establish a period when the decoder thread is not running and it is > safe to modify variables such as callbacks, that are only read when the decoder > thread is running. > * Allows us to DCHECK thread guarantees/correctness. > * Allows synchronizing callbacks from the module process thread and have them only > active while the decoder thread is running. > * The above, allows us to establish two modes for the thread, > single-threaded-mutable and multi-threaded-const. > * Using that knowledge, we can remove |receive_crit_| as well as locking for a > number of member variables. > * Removed |VCMFrameBuffer _frameFromFile| (unused). > * Clean up several of my TODOs > > Bug: webrtc:7361, chromium:695438 > Change-Id: Id0048ee9624f76103c088d02825eb5c0d6c8913c > Reviewed-on: https://webrtc-review.googlesource.com/55000 > Commit-Queue: Tommi <tommi@webrtc.org> > Reviewed-by: Philip Eliasson <philipel@webrtc.org> > Cr-Commit-Position: refs/heads/master@{#22133} Bug: webrtc:7361, chromium:695438 Change-Id: I32e1dc6c62cb30ad96e6366106f39fe415de49f1 Tbr: philipel@webrtc.org Reviewed-on: https://webrtc-review.googlesource.com/56803 Commit-Queue: Tommi <tommi@webrtc.org> Reviewed-by: Tommi <tommi@webrtc.org> Cr-Commit-Position: refs/heads/master@{#22163}
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
The idea is to make CMake build for WebRTC m130 version - for audio processing module
Languages
C++
90.3%
Java
2.9%
C
2.2%
Objective-C++
2%
Python
1.3%
Other
1%