334b1fd3215d78bacdb6b7ed25a9524b480dead0

VideoReceiveStream2 unnecessarily posts a decode complete call to its own queue while already being executed on it. A popular use case in downstream project has a large amount of decoders in use so the cost of this is multiplied by the number of active decoders. Fix this by removing the unnecessary task post. To allow for this, this change also changes the frame buffer to call out to it's handler without any locks held. Bug: webrtc:12297 Change-Id: Ib2e26445458228a44c53dad9d585d4025f2f2945 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/197420 Reviewed-by: Philip Eliasson <philipel@webrtc.org> Reviewed-by: Erik Språng <sprang@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Commit-Queue: Markus Handell <handellm@webrtc.org> Cr-Commit-Position: refs/heads/master@{#32845}
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 here 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
- Reporting bugs
Description
Languages
C++
88.6%
C
3.3%
Java
3%
Objective-C++
1.9%
Python
1.9%
Other
1%