Publish: M153, the sender slice, and what the rollover cost Branch selection had M152 as the chosen stable milestone, which it stopped being on 2026-09-19, and gains a section on what a rollover does to a project mid-flight. Troubleshooting gains the three M153 failure modes, none of which was findable from its symptom: the Windows SDK pin mismatch, disk exhaustion presenting as a linker crash that says nothing about disk, and an Android archive that builds clean and is then rejected by its consumer over bytecode level. Two of those entries say what not to do, because both were tried. Consuming the artifacts gains how to check that bytecode level, and the Mac Catalyst slice writing PrivacyInfo.xcprivacy one directory too deep. The Interop ABI page catches up with the sender parameter and capture format work, including the measurement that contradicted the issue describing it: scale_resolution_down_by survives a capturer that ignores adaptation, because the encoder scales too, so outbound-rtp frameWidth is no evidence about the source. max_framerate is the one only the source can apply.
Drop the dormant directories from the layout WebRtcNativeObjectsWrapper/ and Links.md are gone; WebRtcInterop/ is a real implementation rather than a placeholder. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Slice one is complete All twenty-five interop functions are implemented and covered by three tests. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
The frame sink is implemented Twenty-three of twenty-five functions now work. Records the sink's lifetime rules and the measured frame rate. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Peer connection and negotiation are implemented Adds the Winsock note: without WinsockInitializer every UDP socket fails quietly, ICE reaches "checking" and stops there. Records WEBRTC_INTEROP_VERBOSE as the way to see the ICE layer at all. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Devices and tracks are implemented Video enumeration and both track creators work; audio enumeration is deferred with the reason recorded. rtc_video_track_create gained a label parameter after the device id turned out to leak into the SDP msid. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Windows interop builds; correct the exception guidance The ABI page prescribed try/catch, which cannot compile under WebRTC's -fno-exceptions and is unnecessary anyway. Also records the keep-both decision for webrtc.dll and WebRtcInterop.dll, and gives Windows a partial tier 3 in the figure. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Record the verified ABI layout Interop.h now exists and compiles; adds the measured struct sizes and offsets, notes every struct is blittable, and generalises the ownership rule to cover handles delivered through callbacks. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add Interop ABI The C contract between WebRtcInterop.dll and the Windows binding: conventions, ownership rule, threading, and the twenty-three functions of slice one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
WebRtcInterop is in progress, not dormant Records what the shim does today, how the out-of-tree GN target is grafted into the checkout, and where the 2023 work stopped. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Mac Catalyst now has its own workflow Documents the split: two Apple workflows sharing one toolchain, differing only in arch list, and the need to pin webrtc_branch across both. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Give Mac Catalyst the column instead of macOS Catalyst is what WebRTCme ships and it rides the iOS xcframework, so it now appears as a first-class column in the figure and tables. Native macOS is reduced to a note: built, unconsumed. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Correct the macOS framing: built, but not consumed Mac Catalyst is served by the iOS xcframework, so libwebrtc.dylib has no consumer and its missing camera path is not a gap worth closing. The workflows are kept as an Apple-silicon build check. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add the layer matrix figure as light and dark SVGs Referenced from Platform layers via <picture> so it follows the reader's theme. Generated by tools/make_platform_diagram.py in the main repository. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add a mermaid layer diagram to Platform layers Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add Prebuilt distributions Lists the other projects that build WebRTC natively, what platforms each covers, and how they relate to this repository. Cross-linked from Platform layers and Repository layout. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Add Platform layers Records what each artifact actually contains: the three-layer model, a capability matrix across all six platforms, who compiles each one, and the three consequences -- no H.264 on desktop, no camera capture on macOS, and screen capture being desktop-only. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Document the Abseil remap edit Adds edit 5 to the shared-library patch page, the duplicate-symbol failure it fixes, and a note that a component build produces many libraries rather than one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Document the single webrtc_branch input The chromium_milestone input is gone; milestone and branch named the same thing. Updates Branch selection, Running a build, Home, Troubleshooting and Repository layout to match. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Document the build workflows and branch selection Nine pages covering how a build is dispatched, how the WebRTC branch is resolved from the Chromium dashboard, what each of the eight workflows does, the static-to-shared library patch, how the artifacts feed into WebRTCme, and the failures seen in practice. Source lives in wiki/ in the main repository. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Initial Home page