Reset prior ChannelSendFrameTransformerDelegate on re-assignment When setting a frame transformer on ChannelSend via InitFrameTransformerDelegate, any existing frame_transformer_delegate_ was overwritten without calling Reset() on the prior delegate. The orphaned delegate remained registered with its transformer and retained a callback lambda capturing a raw ChannelSend pointer. Upon destruction of ChannelSend, only the active delegate was reset, leaving the orphaned delegate with a dangling pointer that could be invoked post-teardown. This change calls Reset() on any existing frame_transformer_delegate_ before replacing it with a new delegate, unregistering the old delegate and disarming its callback lambda. Bug: b:510386389 Change-Id: Ib0cf86c129280551daaeea3fcd5c08b9c5172b1b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/487001 Reviewed-by: Per Åhgren <peah@webrtc.org> Reviewed-by: Jakob Ivarsson <jakobi@webrtc.org> Commit-Queue: Per Åhgren <peah@webrtc.org> Cr-Commit-Position: refs/heads/main@{#48131}
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.