SLIDE 1
Recent Developments in the PulseAudio World Arun Raghavan - - PowerPoint PPT Presentation
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
SLIDE 2
SLIDE 3
Some rough bumps early on
SLIDE 4
Lots of FUD afterwards
SLIDE 5
More and more people love us
SLIDE 6
Okay, fine More and more people don't hate us
SLIDE 7
Ubuntu, Fedora, OpenSUSE GNOME, maybe even KDE one day Wine(!)
SLIDE 8
The People
SLIDE 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
SLIDE 10
SLIDE 11
SLIDE 12
So we're alive and kicking
SLIDE 13
We did a 1.0 release
SLIDE 14
It took 2½ years
SLIDE 15
But it's awesome ;)
SLIDE 16
DBus protocol Source-ouput volumes Echo cancellation Windows, OS X ports Equalizer RTP improvements Passthrough Deferred volumes Optimisations
SLIDE 17
And there's more to come ...
SLIDE 18
Jack detection ALSA UCM Dynamic sample rate changes WebRTC echo canceller Drift compensation, AGC Module loader Configuration API Moar Orc Fixed rate resamplers
SLIDE 19
Exciting times ahead ...
SLIDE 20
A little more about passthrough
SLIDE 21
Problem: we'd like to use hardware audio decoders
SLIDE 22
Challenge: PulseAudio needs fixed bytes-to-ms conversion
SLIDE 23
Solution: Support only fixed bytes-to-ms conversion (IEC 61937)
SLIDE 24
Format negotiation ╭──────╮ ╭──────╮ │client│ ──▷ requested formats ──▷ │server│ ╰──────╯ ╰──────╯ ╭──────╮ ╭──────╮ │client│ ◁── selected format ◁── │server│ ╰──────╯ ╰──────╯
SLIDE 25
Notification on format change
SLIDE 26
Changes to GStreamer
SLIDE 27
baseaudiosink does payloading IEC 61937 payloading in pbutils
SLIDE 28
playbin2/playsink understands compressed sinks (go slomo!)
SLIDE 29
pulsesink now does AC3/DTS/MP3
SLIDE 30
pulseaudiosink is a new bin to handle format changes
SLIDE 31
AC3 sink ╭───────────────playbin2────────────────╮ │ │ │ ╭─pulseaudiosink─╮ │ │ ╭────────╮ │ ╭─────────╮ │ │ │ ...──▷│ac3parse│──▷│──▷│pulsesink│ │ │ │ ╰────────╯ │ ╰─────────╯ │ │ │ ╰────────────────╯ │ │ │ ╰───────────────────────────────────────╯
SLIDE 32
PCM sink ╭───────────────────────playbin2───────────────────────╮ │ │ │ ╭────────pulseaudiosink────────╮ │ │ ╭────────╮ │ ╭──────────╮ ╭─────────╮ │ │ │ ...──▷│ac3parse│──▷│──▷│decodebin2│──▷│pulsesink│ │ │ │ ╰────────╯ │ ╰──────────╯ ╰─────────╯ │ │ │ ╰──────────────────────────────╯ │ │ │ ╰──────────────────────────────────────────────────────╯
SLIDE 33
All this will be in the next gst-plugins-good (0.10.31)
SLIDE 34
GStreamer 1.0 will provide better upstream renegotiation
SLIDE 35
But we finally closed bug 331875 (took only 5 years :p)
SLIDE 36
Questions?
SLIDE 37