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

recent developments in the pulseaudio world arun raghavan
SMART_READER_LITE
LIVE PREVIEW

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-1
SLIDE 1

Recent Developments in the PulseAudio World Arun Raghavan Collabora

slide-2
SLIDE 2

Feature-rich audio server Convenient client API

slide-3
SLIDE 3

Some rough bumps early on

slide-4
SLIDE 4

Lots of FUD afterwards

slide-5
SLIDE 5

More and more people love us

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

The People

slide-9
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 10
slide-11
SLIDE 11
slide-12
SLIDE 12

So we're alive and kicking

slide-13
SLIDE 13

We did a 1.0 release

slide-14
SLIDE 14

It took 2½ years

slide-15
SLIDE 15

But it's awesome ;)

slide-16
SLIDE 16

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

slide-17
SLIDE 17

And there's more to come ...

slide-18
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
SLIDE 19

Exciting times ahead ...

slide-20
SLIDE 20

A little more about passthrough

slide-21
SLIDE 21

Problem: we'd like to use hardware audio decoders

slide-22
SLIDE 22

Challenge: PulseAudio needs fixed bytes-to-ms conversion

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

Notification on format change

slide-26
SLIDE 26

Changes to GStreamer

slide-27
SLIDE 27

baseaudiosink does payloading IEC 61937 payloading in pbutils

slide-28
SLIDE 28

playbin2/playsink understands compressed sinks (go slomo!)

slide-29
SLIDE 29

pulsesink now does AC3/DTS/MP3

slide-30
SLIDE 30

pulseaudiosink is a new bin to handle format changes

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

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

slide-34
SLIDE 34

GStreamer 1.0 will provide better upstream renegotiation

slide-35
SLIDE 35

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

slide-36
SLIDE 36

Questions?

slide-37
SLIDE 37

Thank you!