recent developments in the pulseaudio world arun raghavan
play

Recent Developments in the PulseAudio World Arun Raghavan - PowerPoint PPT Presentation

Recent Developments in the PulseAudio World Arun Raghavan Collabora Feature-rich audio server Convenient client API Some rough bumps early on Lots of FUD afterwards More and more people love us Okay, fine More and more people don't hate us


  1. Recent Developments in the PulseAudio World Arun Raghavan Collabora

  2. Feature-rich audio server Convenient client API

  3. Some rough bumps early on

  4. Lots of FUD afterwards

  5. More and more people love us

  6. Okay, fine More and more people don't hate us

  7. Ubuntu, Fedora, OpenSUSE GNOME, maybe even KDE one day Wine(!)

  8. The People

  9. Colin Guthrie: maintainer; * Arun Raghavan: committer; * Tanu Kaskinen: committer-in-waiting; ALSA, misc David Henningson: ALSA, misc Maarten Bosmans: RTP, Win32, build, more Pierre-Louis Bossart: Power, performance, misc Lots of others

  10. So we're alive and kicking

  11. We did a 1.0 release

  12. It took 2½ years

  13. But it's awesome ;)

  14. DBus protocol Source-ouput volumes Echo cancellation Windows, OS X ports Equalizer RTP improvements Passthrough Deferred volumes Optimisations

  15. And there's more to come ...

  16. Jack detection ALSA UCM Dynamic sample rate changes WebRTC echo canceller Drift compensation, AGC Module loader Configuration API Moar Orc Fixed rate resamplers

  17. Exciting times ahead ...

  18. A little more about passthrough

  19. Problem: we'd like to use hardware audio decoders

  20. Challenge: PulseAudio needs fixed bytes-to-ms conversion

  21. Solution: Support only fixed bytes-to-ms conversion (IEC 61937)

  22. Format negotiation ╭──────╮ ╭──────╮ │client│ ──▷ requested formats ──▷ │server│ ╰──────╯ ╰──────╯ ╭──────╮ ╭──────╮ │client│ ◁── selected format ◁── │server│ ╰──────╯ ╰──────╯

  23. Notification on format change

  24. Changes to GStreamer

  25. baseaudiosink does payloading IEC 61937 payloading in pbutils

  26. playbin2/playsink understands compressed sinks (go slomo!)

  27. pulsesink now does AC3/DTS/MP3

  28. to handle format changes pulseaudiosink is a new bin

  29. AC3 sink ╭───────────────playbin2────────────────╮ │ │ │ ╭─pulseaudiosink─╮ │ │ ╭────────╮ │ ╭─────────╮ │ │ │ ...──▷│ac3parse│──▷│──▷│pulsesink│ │ │ │ ╰────────╯ │ ╰─────────╯ │ │ │ ╰────────────────╯ │ │ │ ╰───────────────────────────────────────╯

  30. PCM sink ╭───────────────────────playbin2───────────────────────╮ │ │ │ ╭────────pulseaudiosink────────╮ │ │ ╭────────╮ │ ╭──────────╮ ╭─────────╮ │ │ │ ...──▷│ac3parse│──▷│──▷│decodebin2│──▷│pulsesink│ │ │ │ ╰────────╯ │ ╰──────────╯ ╰─────────╯ │ │ │ ╰──────────────────────────────╯ │ │ │ ╰──────────────────────────────────────────────────────╯

  31. All this will be in the next gst-plugins-good (0.10.31)

  32. GStreamer 1.0 will provide better upstream renegotiation

  33. But we finally closed bug 331875 (took only 5 years :p)

  34. Questions?

  35. Thank you!

Recommend


More recommend