Top all-time · #3901
Arun Raghavan
Personal blog · arunraghavan.netprogrammingsystems
Arun Raghavan's personal blog at arunraghavan.net covers programming and systems. Since 2012, 20 different Hacker News readers have linked it 29 times, most often “PulseAudio vs. AudioFlinger (Android)”. It is still writing: the last post was on 2026-09-27, and you can follow it by feed.
Too few sampled comments (7) to say how often HN recommends it.?
Why HN links it
HN readers link this blog for its writing on Linux and Android audio, including latency measurements across ALSA, PulseAudio and Android's AudioFlinger, and explainers such as PulseAudio beamforming.
Summarised by Claude from a sample of 7 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- PulseAudio vs. AudioFlinger (Android)5 people · 6 mentions · first linked 2012-01-16
- To Conference Organisers Everywhere3 people · 3 mentions · first linked 2023-08-19
- Quantifying Synchronisation: Oscilloscope Edition3 people · 3 mentions · first linked 2017-01-19
- PulseAudio on Android (part 2)2 people · 2 mentions · first linked 2012-04-30
- GStreamer and WebRTC HTTP Signalling2 people · 2 mentions · first linked 2024-09-05
- The Unbearable Anger of Broken Audio2 people · 2 mentions · first linked 2025-06-26
- Stricter JSON Parsing with Haskell and Aeson2 people · 2 mentions · first linked 2017-02-07
What Hacker News says?
ALSA isn't the problem- JACK runs on top of ALSA, and people comfortably run well under 10ms. The problem is higher up in the stack. Even switching to the much-maligned pulseaudio could be a huge improvement: http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-f...
Comment linking /2012/01/pulseaudio-vs-audioflinger-fight/
on “Android’s 10 Millisecond Problem explained”Submitted Beamforming in PulseAudio as a story · 121 points
HN discussioninterestingly, a 2012 article[1] by Arun Raghavan mentions: On the Galaxy Nexus, for example, the best latency I can get appears to be 176 ms. This is pretty high for certain types of applications, particularly ones that generate tones based on user input. With PulseAudio, where we dynamically adjust buffering based on what clients request, I was able to drive down the total buffering to approximately 20 ms (too muc…
Comment linking /2012/01/pulseaudio-vs-audioflinger-fight/
on “Android’s 10 Millisecond Problem explained”Submitted The Unbearable Anger of Broken Audio as a story · 14 points
HN discussionIt's a bit surprising that sound latency on Android is as bad as it is. It's not just apps for audio production that suffers, most any kind of audio toy is useless. For people who want to tinker with audio on Android, it's possible to swap AudioFlinger with PulseAudio[1] for lower latency (20ms vs 176ms)[2], but so far you have to build and flash your own AOSP image, so it's not exactly plug and play. [1]: http://ww…
Comment linking /2012/01/pulseaudio-vs-audioflinger-fight/
on “Google Unveils The New Nexus 7 Android Tablet”Submitted PulseAudio vs. AudioFlinger (Android) as a story · 8 points
HN discussionKudos to the author. It takes a lot to write about something in a way that makes it accessible to folks not skilled in the art. He's written some other interesting posts on PulseAudio features too, but this is more well-written and approachable: https://arunraghavan.net/2016/05/improvements-to-pulseaudios... https://arunraghavan.net/2011/08/hello-hello-hello/
Comment linking /2011/08/hello-hello-hello/
on “Beamforming in PulseAudio”Submitted GStreamer and WebRTC HTTP Signalling as a story · 3 points
HN discussiongstreamer already does that fairly well ( https://arunraghavan.net/2017/01/quantifying-synchronisation... ), is there a reason to duplicate the work ?
Comment linking /2017/01/quantifying-synchronisation-oscilloscope-edition/
on “Show HN: Working on a new network transport for PulseAudio and ALSA”Submitted Update from the PipeWire hackfest as a story · 3 points
HN discussionThe infographic looked so much like an ad that I skipped over it. So this is one of the "good" Android audio stacks, getting 36ms latency. But half of that is "wasted" in user space, in AudioFlinger as well as the app ring buffer (which seems pretty big to me). I'd like to see the comparison to a "bad" Android device. Doing some internet searches, I found someone who had plugged in PulseAudio to an Android phone and…
Comment linking /2012/01/pulseaudio-vs-audioflinger-fight/
on “Android Audio Latency”Submitted Stricter JSON Parsing with Haskell and Aeson as a story · 3 points
HN discussionMore Android<->(non-android)Linux compatibility would be great. Given that the linux desktop is moving toward wayland, and given that android's SurfaceFlinger is a lot closer to wayland than to X, I'm not sure that X is the best way forward. It would be interesting to see how much work it would take to implement SurfaceFlinger apis in terms of wayland or vice versa. Kind of like this work implementing the AudioFling…
Comment linking /2012/04/pulseaudio-on-android-part-2/
on “Android X server ”Submitted Notes from the PipeWire Hackfest 2026 as a story · 2 points
HN discussionSubmitted The Unbearable Anger of Broken Audio as a story · 2 points
HN discussionSubmitted A Brimful of ASHA as a story · 2 points
HN discussionSubmitted GStreamer and WebRTC HTTP Signalling as a story · 2 points
HN discussionSubmitted To Conference Organisers Everywhere as a story · 2 points
HN discussionSubmitted Quantifying Synchronisation: Oscilloscope Edition as a story · 2 points
HN discussionSubmitted Measuring audio sync with an oscilloscope as a story · 2 points
HN discussionSubmitted To Conference Organisers Everywhere as a story · 1 points
HN discussionSubmitted To Conference Organisers Everywhere as a story · 1 points
HN discussionSubmitted Applicate Functors for Fun and Parsing as a story · 1 points
HN discussionSubmitted Stricter JSON Parsing with Haskell and Aeson as a story · 1 points
HN discussionSubmitted Synchronised Playback and Video Walls as a story · 1 points
HN discussionSubmitted Improvements to PulseAudio's Echo Cancellation as a story · 1 points
HN discussionSubmitted Raghavan: PulseAudio vs. AudioFlinger: Fight (2012) as a story · 1 points
HN discussionSubmitted PulseAudio on Android (part 2) as a story · 1 points
HN discussion