Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K
    A

    Arun Raghavan

    arunraghavan.net · Personal blog · on HN since 2012

    Arun Raghavan, a developer of PulseAudio and GStreamer, writes about Linux and Android audio, latency, synchronization, and multimedia software.

    Visit blogRSSHN submissions
    Open Source & LinuxSystems & PerformanceMobile & Apple
    What HN says

    Commenters praise his accessible explanations of audio stacks and cite his latency measurements on Android; one points to his oscilloscope-based synchronization testing in GStreamer.

    Stats for nerds
    20HN people shared it
    21linked in comments
    174story points
    May 2019last shared
    2012people per year2019

    Top posts on HN

    1. 1
      Beamforming in PulseAudio
      1 person · 121 points · first shared 2016 · 32 comments on HN
    2. 2
      The Unbearable Anger of Broken Audio
      2 people · 16 points · first shared 2025 · 3 comments on HN
    3. 3
      PulseAudio vs. AudioFlinger (Android)
      5 people · 9 points · first shared 2012 · 1 comments on HN
    4. 4
      GStreamer and WebRTC HTTP Signalling
      2 people · 5 points · first shared 2024 · Discussion on HN
    5. 5
      Measuring audio sync with an oscilloscope
      3 people · 4 points · first shared 2017 · Discussion on HN
    6. 6
      To Conference Organisers Everywhere
      3 people · 4 points · first shared 2023 · Discussion on HN
    7. 7
      Stricter JSON Parsing with Haskell and Aeson
      2 people · 4 points · first shared 2017 · Discussion on HN
    8. 8
      Update from the PipeWire hackfest
      1 person · 3 points · first shared 2018 · Discussion on HN
    9. 9
      Notes from the PipeWire Hackfest 2026
      1 person · 2 points · first shared 2026 · Discussion on HN
    10. 10
      A Brimful of ASHA
      1 person · 2 points · first shared 2025 · Discussion on HN

    What HN people wrote when they linked it

    • exDM69Dec 2015

      The 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 got 20 ms latency instead of the 170+ ms latency from AudioFlinger on the same device [0]. That's pretty huge.

      Ideally, there should be no user space middleware component processing audio in between, this could half the latency (according to the diagram), bringing the latency to acceptable levels. But ALSA isn't really intended for routing audio on the fly conveniently (e.g. when plugging/unplugging headphones), so there is some room for improvement too.

      Overall, the situation is pretty sad. Linux can do better than that but a modern multimedia device (desktop or mobile) has several audio outputs and hot-plugging, which makes the situation rather difficult using ALSA only. And the userspace audio components just aren't great.

      http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-fight/

    • sandGorgonApr 2015

      interestingly, 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 much lower, and we started getting dropouts). There is likely room for improvement here, and it is something on my todo list, but even out-of-the-box, we’re doing quite well.

      Let's get systemd on android and then see !

      [1] http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-fight/

    • hansjorgJul 2013

      It'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://www.freedesktop.org/wiki/Software/PulseAudio/Ports/Android/

      [2]: http://arunraghavan.net/2012/01/pulseaudio-vs-audioflinger-fight/

    • surrealizeDec 2012

      More 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 AudioFlinger api on top of pulseaudio:
      http://arunraghavan.net/2012/04/pulseaudio-on-android-part-2/

    • mmastracJun 2016

      Kudos 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-echo-cancellation/

      https://arunraghavan.net/2011/08/hello-hello-hello/

    • krakensdenApr 2015

      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-fight/

    Related

    Greg Maxwellpeople.xiph.org/~greg26 people

    Confidential Transactions

    Greg Maxwell
    Personal · last shared 2020
    Venamvenam.nixers.net21 people

    Making Sense of the Audio Stack on Unix

    Venam
    Personal · last shared 2023
    Henri Bergiusbergie.iki.fi22 people

    Build a CMS, no forms allowed

    Henri Bergius
    Personal · last shared 2026
    Ross Bencinarossbencina.com18 people

    Real-time audio programming 101: time waits for nothing (2011)

    Ross Bencina
    Personal · last shared 2024
    Marek Majkowskiidea.popcount.org61 people

    IP Spoofing

    Marek Majkowski
    Personal · last shared 2025
    Netflix Tech Blognetflixtechblog.com363 people

    The Case of the Extra 40ms

    Netflix Tech Blog
    Company · last shared 2026
    Arm Community Blogcommunity.arm.com147 people

    An update on GNU performance

    Arm Community Blog
    Company · last shared 2025
    Twitch Engineering Blogblog.twitch.tv178 people

    Go’s march to low-latency GC

    Twitch Engineering Blog
    Company · last shared 2026