| commit | 52320eed95faa917c381c0a4532252d9314171fa | [log] [tgz] |
|---|---|---|
| author | Tommi <tommi@webrtc.org> | Sun Sep 14 07:46:12 2025 |
| committer | WebRTC LUCI CQ <webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sun Sep 14 08:42:13 2025 |
| tree | ab3cbdcb821346d6522961218b71e5d3d4d6e850 | |
| parent | 86a538129db71b3ec61179d5d05c56786af8937d [diff] |
Change who gets the clone when creating SDPs in SdpOfferAnswerHandler Previously, `CreateDescriptionObserverWrapperWithCreationCallback` and associated callbacks, created a clone of the new sdp for internal storage (last_created_offer_ and last_created_answer_) passed the original session description to the wrapped observer. This patch inverts the logic and gives the cloned object to the wrapped observer instead. The reason for that is that in order to create a clone, the state of the original object needs to be accessed and doing so will (once thread checkers are in place) pin that state to the calling thread. The calling thread is the signaling thread, which is suitable for SdpOfferAnswerHandler but the wrapped observer should get the pristine object which is less bound. A side effect of this CL may be that we'll get less flake on tsan bots since a test observer implementation will now get a newly constructed object rather than one who's state may be accessed on different threads in parallel. However, the local_description() and remote_description() accessors still need to be fixed (wip). Along the way use AnyInvocable&& instead of std::function. Bug: webrtc:442220720 Change-Id: Idfef673b59e1f50bc2a6e82fb142d5f1aa528d8b Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/409280 Commit-Queue: Tomas Gunnarsson <tommi@webrtc.org> Reviewed-by: Harald Alvestrand <hta@webrtc.org> Cr-Commit-Position: refs/heads/main@{#45646}
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.