(these notes are being posted in two parts to make the length more manageable, part 1 is here)
Continuing from where we left off, about topics discussed at the PipeWire hackfest in Nice…
DSP features
We discussed a number of features relate…
(these notes are being posted in two parts to make the length more manageable, part 2 is here)
The PipeWire community organised a hackfest in Nice, France, colocated with Embedded Recipes, the GStreamer hackfest, and a number of other event…
In case you missed it, the GStreamer Conference 2025 videos are up!
This includes my talk on the new PipeWire native Rust bindings. You’ll want to skip the first 1:20 to get to the start.
I talk a little bit about the motivation and structu…
It should be surprising to absolutely nobody that the Linux audio stack is often the subject of varying levels of negative feedback, ranging from drive-by meme snark to apoplectic rage[1].
A lot of what computers are used for today involves…
In my previous post, I alluded to an exciting development for PipeWire. I’m now thrilled to officially announce that Asymptotic will be undertaking several important tasks for the project, thanks to funding from the Sovereign Tech Fund (now…
It’s 2025(!), and I thought I’d kick off the year with a post about some work
that we’ve been doing behind the scenes for a while. Grab a cup of
$beverage_of_choice, and let’s jump in with some context.
History: Hearing aids and Bluetooth
V…
All of us at Asymptotic are back home from the
exciting week at GStreamer Conference 2024 in Montréal, Canada last month. It was great to hang out with the community and see all the great work going on in the GStreamer ecosystem.
Montréal…
The WebRTC nerds among us will remember the first thing we learn about WebRTC, which is that it is a specification for peer-to-peer communication of media and data, but it does not specify how signalling is done.
Or put more simply, if you …
It’s been a busy few several months, but now that we have some breathing
room, I wanted to take stock of what we have done over the last year or so.
This is a good thing for most people and companies to do of course, but being a
scrappy, (q…
For the last year and a half, we at Asymptotic have been working with the excellent team at Daily. I’d like to share a little bit about what we’ve learned.
Daily is a real time calling platform as a service. One standard feature that users …
As the third and final day of the PipeWire hackfest draws to a close, I thought I’d summarise some of my thoughts on the goings-on and the future.
Thanks
Before I get into the details, I want to send out a big thank you to:
Christian Schal…
It’s been a little over a month since I got back from Manchester, and this post should’ve come out earlier but I’ve been swamped.
The conference was absolutely lovely, the organisation was a 110% on point (serious kudos, I know first hand h…
I’ve written a bit in my last two blog posts about the work I’ve been doing in inter-device synchronised playback using GStreamer. I introduced the library and then demonstrated its use in building video walls.
The important thing in synchr…
Hello again, and I hope you’re having a pleasant end of the year (if you are, maybe don’t check the news until next year).
I’d written about synchronised playback with GStreamer a little while ago, and work on that has been continuing apace…
A lesser known, but particularly powerful feature of GStreamer is our ability to play media synchronised across devices with fairly good accuracy.
The way things stand right now, though, achieving this requires some amount of fiddling and a…
This is a quick PSA for those of you using the GStreamer binary builds for Android.
With the Android NDK r12, the default behaviour while building native code changed from building for armeabi to building for all ABIs. So if your app doesn’…
In case you missed it – we got PulseAudio 9.0 out the door, with the echo cancellation improvements that I wrote about. Now is probably a good time for me to make good on my promise to expand upon the subject of beamforming.
As with the las…
Happy 2016 everyone!
While I did mention a while back (almost two years ago, wow) that I was taking a break, I realised recently that I hadn’t posted an update from when I started again.
For the last year and a half, I’ve been providing fre…
I know it’s been ages, but I am now working on updating the webrtc-audio-processing library. You might remember this as the code that we split off from the webrtc.org code to use in the PulseAudio echo cancellation module.
This is basically…
Update: gst-build is the current way to build GStreamer for developement. I’m leaving the post up for posterity, but other than the note on getting dependencies, you should not be using this.
One of the first tools that you should get if yo…
Some of you might have been following all the brouhaha over Popcorn Time. I won’t get into the arguments that can be made for and against at the moment.
While poking around at what it was that Popcorn Time was doing, I stumbled upon peerfli…
Last weekend, I was at the GStreamer Hackfest in Munich. As usual, it was a blast – we got much done, and it was a pleasure to meet the fine folks who bring you your favourite multimedia framework again. Thanks to the conference for providi…
Four years and what seems like a lifetime ago, I jumped aboard the ship Collabora Multimedia, and set sail for adventure and lands unknown. We sailed through strange new seas, to exotic lands, defeated many monsters, and, I feel, had some p…
That’s right – PulseAudio will be participating in the Google Summer of Code again this year! We had a great set of students and projects last year, and you’ve already seen some their work in the last release.
There are some more details on…
Yay, we just released PulseAudio 3.0! I’m not going to rehash the changelog that you can find in the release announcement as well as the longer release notes.
I would like to thank the 36 contributors over the last 6 months who have made th…
For those of you who missed my previous updates, we recently organised a PulseAudio miniconference in Copenhagen, Denmark last week. The organisation of all this was spearheaded by ALSA and PulseAudio hacker, David Henningsson. The good fol…
David has now published a tentative schedule for the PulseAudio Mini-conference (I’m just going to call it PulseConf – so much easier on the tongue).
For the lazy, these are some of the topics we’ll be covering:
Vision and mission – where …
For those of you who missed it, your friendly neighbourhood PulseAudio hackers are converging on Copenhagen in a month to discuss, plan and hack on the future of PulseAudio.
We’re doing this for the first time, so I’m super-excited! David h…
Most of you have no doubt already seen that Mozilla will be changing their position on H.264 support for HTML5 video in future releases. This is an extremely important decision that I’ve been hoping to see for a while now, and I am really g…
For those of you who were interested but couldn’t make it to the GStreamer Conference this year, the cool folks at Ubicast have got the talk videos up (can be streamed or downloaded).
Among these is my talk about recent developments in the …
As I’d blogged about last week, we had a couple of Audio BoF sessions last week. Here’s a summary of what was discussed. I’ve collected items in relevance order rather than chronological order to make for easier reading. I think I have ever…
For those who are in Prague for GstConf, LinuxCon, ELCE, etc. – don’t forget we’ve a couple of interesting audio-related things happening:
Today (Tuesday), at 4 pm, I’ll be talking about recent developments in PulseAudio
Tomorrow (Wednesda…
Prague is an interesting place to be at this time of the year – next week it’s playing host to the Real Time Linux Workshop. The week after that, we have the Kernel Summit, GStreamer Conference, Embedded Linux Conference Europe and LinuxCon…
As Colin Guthrie reports, PulseAudio 1.0 is now out the door! There’s a lot of new things in the release, and we should be getting a much more regular release schedule going. Head over to the full release notes for more details.
A lot of pe…
I have a secret to confess. I’ve spent a great deal of time over the last few months talking to myself. I can’t say I haven’t enjoyed it – it turns out my capacity to entertain myself is far greater than initially suspected. But I hear you …
[tl;dr — if you’re using GNOME or a GStreamer-based player, not using the Rhythmbox crossfading backend, and want to try to save ~0.5 W of power, jump to end of the post]
Lennart pointed to another blog post about actually putting PulseAudi…
Things have been awfully quiet since Zeeshan’s posted about the work we’ve been doing on DLNA support in Rygel. Since I’ve released GUPnP DLNA 0.3.0, I thought this is a good time to explain what we’ve been up to. This is also a sort of exp…
My exploits at Collabora Multimedia currently involve a brief detour into hacking on Rygel, specifically improving the DLNA profile name guessing. We wanted to use Edward’s work on GstDiscoverer work, and Rygel is written in Vala, so the fi…