At asymptotic, we are passionate about building high quality, reliable, useful software.

We love working close to the metal, solving complex problems, and building elegant and efficient systems.

If you think you might be able to use our help, get in touch at

Projects

We have architected and designed systems, implemented specific features, and run training programs for our clients.
Daily

Built and improved several backend media features for Daily's voice/video calling platform, including the recording and live streaming service, media ingestion, and real-time transcription.

Qualcomm

Led a team that designed and built a smart audio platform for speakers, soundbars and AVRs. The platform uses PulseAudio and GStreamer, and leverages several hardware features for power-efficiency and high-quality audio.

Daimler

Conducted training on PulseAudio and architecture review of next gen in-vehicle infotainment platform for MBition.

MedXChange

Integrated accelerated encode of 4K video for medical recording devices on Intel-based devices using GStreamer and the VA-API framework.

Samsung Open Source Group

As part of Samsung Research America’s open source group, we built a synchronised streaming library and improved accelerated media support on Exynos SoC-based devices.

LG Soft India Pvt. Ltd.

Corporate training on PulseAudio and GStreamer for teams building products based on the webOS platform.

Soundwall

Helped integrate the PulseAudio echo-canceller and quantify the efficacy of far-field performance for Soundwall's wall-mounted art speakers.

SoftBank Robotics

Improved the PulseAudio echo canceller to use recent webrtc.org audio processing features. Read more about this work here and here.

OpenWebRTC (by Ericsson Research)

Helped with the open-sourcing of the OpenWebRTC stack, including general review and stabilisation, improvements to iOS/macOS support, and dynamic bitrate adaptation.

Lensbricks

Designed and implemented a system for video capture and streaming using various depth-based cameras, with cloud-based ingestion and processing of the stream.

Open Source

We participate in upstream development and maintenance of a number of open source projects.
PulseAudio

Our customers have used our expertise to adapt the PulseAudio audio server to their needs on embedded systems in various form factors.

GStreamer

We have leveraged the flexibility of the GStreamer multimedia framework to build solutions spanning real time communications, computer vision, out of home media and much more.

PipeWire

We are involved in the PipeWire project, helping build the next generation audio stack for desktops, in-vehicle infotainment systems and other classes of devices.

Others

Our work has often involved adjacent technologies including the Android audio stack, ALSA, BlueZ, and the Linux kernel.

Talks

A list of some of the talks we have given about the work we have done, in reverse chronological order.
Server-side Media Processing with GStreamer
at GStreamer Conference 2023
slides → video →

An overview of how we architected media services for Daily, a WebRTC-as-a-service provider, and some general learnings about building such systems.

The evolution of HTTP based signalling for WebRTC in GStreamer
at GStreamer Conference 2023
slides → video →

An introduction on WHIP/WHEP protocols and how we implemented them in GStreamer using Rust.

Bridging WebRTC and SIP using GStreamer & SIPjs
at GStreamer Conference 2023
slides → video →

An introduction to the work we did to bridge WebRTC calls with traditional SIP systems using GStreamer and SIP.js.

What's next for Bluetooth in PulseAudio?
at linux.conf.au 2021
slides → video →

A summary of the work recently done to improve the state of Bluetooth in PulseAudio.

Synchronised Playback with GStreamer
at linux.conf.au 2020
slides → video →

An introduction to the gst-sync-server library for building applications that perform synchronised playback over a network.

The Story of PulseAudio and Compress Offload
at linux.conf.au 2020
slides → video →

A summary of the on-going work in PulseAudio to add support for saving power by offloading decoding of audio to a DSP. This is based on the ALSA compress offload API.

Dreaming of a better home media experience
at GUADEC 2017
slides → video →

A walk-through of common home media experience use-cases and how the GNOME desktop might be able to realise them.

A quick dive into GObject Internals
at nilenso
video →

An understanding of the GObject framework is critical for working with GStreamer and other GNOME-based projects. This talk is a deep-dive into how GObject works.

Suddenly Event Loops
at nilenso
video →

Event loops are a central part of applications, whether they are running on servers or phones or watches. This talk walks through how event loops work and how we might want to think about them for our programs.

The GNOME Audio Story
at GNOME Asia 2015
slides →

Covering the various pieces in the GNOME stack, why they exist and what they do, and what a person wanting to write audio-related software might want to use.