b6b782da684232d3a226e62cf5dc7f8d5ca028d0

The access to |_timestampMap| was guarded by a lock but not the access to the data pointer stored in |_timestampMap|. There was a potential race condition if new data was added in VCMGenericDecoder::Decode() while the data pointer retrieved from _timestampMap.Pop() was being used in VCMDecodedFrameCallback::Decoded(). This CL moves the storage of data to within |_timestampMap|, instead of being a pointer so that it's guarded by the same lock. Bug: webrtc:11229 Change-Id: I3f2afb568ed724db5719d508a73de402c4531dec Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/209361 Commit-Queue: Johannes Kron <kron@webrtc.org> Reviewed-by: Ilya Nikolaevskiy <ilnik@webrtc.org> Cr-Commit-Position: refs/heads/master@{#33374}
…
…
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%