commit | 51e30837d5d6a32691336c94f4909918f883af6d | [log] [tgz] |
---|---|---|
author | Erik Språng <sprang@webrtc.org> | Thu Aug 05 14:15:14 2021 |
committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Thu Aug 05 17:10:14 2021 |
tree | 6eb471eae071ea6a8d31df485c4ba1287fdb5b4a | |
parent | 35b1cb455fa9495fa1396470c59da35812c025e4 [diff] |
Fix potential race in PacketSequencer. The race can happen when an encoder thread is packetizing a video frame and is calling RTPSender::AssignSequenceNumber() while the RtpRtcp module is calling GeneratePadding() and querying PacketSequencer::CanSendPaddingOnMediaSsrc(). The solution for now is to simply not call PacketSequencer::CanSendPaddingOnMediaSsrc() from the RtpRtcp module, as that parameter will be ignored anyway - RTPSender will query that method internally while holding the send lock. Once deferred sequencing is implemented, the can_send_padding_on_media_ssrc parameter can be populated safely since it is then always called on the pacer thread. Bug: webrtc:11340, webrtc:12470 Change-Id: I9e90808166453d0e29746df89044e1d3bdffa286 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/227767 Reviewed-by: Tommi <tommi@webrtc.org> Commit-Queue: Erik Språng <sprang@webrtc.org> Cr-Commit-Position: refs/heads/master@{#34655}
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 here for instructions on how to get started developing with the native code.
Authoritative list of directories that contain the native API header files.