Inside MXL. A deep dive on how it works.

The Media Exchange Layer (MXL) is an open-source SDK, developed as part of the EBU’s Dynamic Media Facility reference architecture, that lets media functions exchange video, audio, and timed metadata in real time over shared memory — no packetization, no copies, no sender/receiver overhead. This talk pulls back the curtain on how MXL actually works. We’ll start with MXL’s three core building blocks: the domain (the shared-memory root where flows live on a host), the flow (a ring buffer of grains or samples, backed by memory-mapped files), and the grain (a single unit of media, addressed by index rather than carrying its own timestamp). From there we’ll dig into MXL’s timing model: how a grain’s index doubles as its timestamp relative to the SMPTE ST 2059 (PTP) epoch, and the simple division that converts a TAI timestamp into a grain index and back — the mechanism every writer and reader relies on to stay aligned without sharing a wall clock. The second half is a live demonstration on my laptop using the ABI Tester, a hands-on instrument built for this workshop that exposes every public call of the MXL C ABI as a queueable, steppable sequence. We’ll compose writer and reader lanes, run them deliberately out of step, and read real origin-timestamp-to-wall-clock latency measurements straight off the tool’s timing panel — turning “trust me, it’s low-latency” into a number on screen.

Event Timeslots (1)

Tuesday, October 6 – Track B
-
Mathieu Rochon
Salon E