6-10 October 2024
Concordia University Conference Centre
America/New_York timezone

It’s time for some clock rate matching

8 Oct 2024, 12:15
45m
Room 1

Room 1

Speaker

Arun Raghavan (Asymptotic Inc.)

Description

Matching different clocks is a common problem in real-time audio processing — audio may originate from one device, and may need to be rendered to a different device driven by a different clock, possibly running at a slightly different rate. Managing these clock rate differences is an important factor in avoiding underruns and overruns in real-time audio applications.

This problem is partially addressed in GStreamer via GstClock's synchronisation and GstAudioBaseSink's clock slaving mechanisms. As the new de-facto Linux audio subsystem, PipeWire also implements clock rate matching and adaptive resampling, building on work done in the JACK community over the last decade and more.

In this talk we will lay out the basics of the problem space, and then review the state of the art in both PipeWire and GStreamer. Contrasting the approaches taken should be interesting in itself, and maybe we'll find some new ideas to be inspired by.

While the subject matter is a little bit in the weeds, there will be a gentle introduction for audience members with varying levels of familiarity with the topic.

Speaker bio Arun is a developer/maintainer of GStreamer, PipeWire and PulseAudio, and the founder of Asymptotic, which provides consulting services around these projects. He enjoys working in the lower layers of the system stack, long walks on the beach, and thinking about the impact of modern type-safe languages on software development.

Primary author

Arun Raghavan (Asymptotic Inc.)

Presentation Materials

There are no materials yet.
2024 Platinum Sponsor
Collabora
2024 Gold Sponsors
Arm
Google
Microsoft
NVIDIA
2024 Silver Sponsors
AMD
FEX-Emu
Igalia
Qualcomm
The Linux Foundation
2024 Bronze Sponsors
CodeWeavers
Khronos Group
Libre Computer