+ All Categories
Home > Documents > State of Linux Audio in 2009 - Linux Plumbers Conference 2009

State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Date post: 12-Sep-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
40
State of Linux Audio in 2009 Linux Plumbers Conference 2009 Lennart Poettering [email protected] September 2009 Lennart Poettering State of Linux Audio in 2009
Transcript
Page 1: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

State of Linux Audio in 2009

Linux Plumbers Conference 2009

Lennart [email protected]

September 2009

Lennart Poettering State of Linux Audio in 2009

Page 2: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Who Am I?

Software Engineer at Red Hat, Inc.

Developer of PulseAudio, Avahi and a few other Free Softwareprojects

http://0pointer.de/lennart/

[email protected]

IRC: mezcalero

Lennart Poettering State of Linux Audio in 2009

Page 3: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Perspective

Lennart Poettering State of Linux Audio in 2009

Page 4: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

So, what happened since last LPC?

Lennart Poettering State of Linux Audio in 2009

Page 5: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

RIP: EsounD is officially gone.

Lennart Poettering State of Linux Audio in 2009

Page 6: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

RIP: OSS is officially gone.

(at least on Fedora)

Lennart Poettering State of Linux Audio in 2009

Page 7: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

RIP: OSS is officially gone. (at least on Fedora)

Lennart Poettering State of Linux Audio in 2009

Page 8: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Audio API Guide

http://0pointer.de/blog/projects/guide-to-sound-apis

Lennart Poettering State of Linux Audio in 2009

Page 9: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

We now use realtime scheduling on the desktop by default.

Wealso make use of high-resolution timers on the desktop by default.

Lennart Poettering State of Linux Audio in 2009

Page 10: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

We now use realtime scheduling on the desktop by default. Wealso make use of high-resolution timers on the desktop by default.

Lennart Poettering State of Linux Audio in 2009

Page 11: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

2s Buffers

Lennart Poettering State of Linux Audio in 2009

Page 12: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

We moved a couple of things into the audio server:

Timer-based audio scheduling; mixing; flat volume/volume rangeand granularity extension; integration of volume sliders; mixer

abstraction; monitoring

Mixer abstraction? Due to user-friendliness, i18n, meta data(icons, ...)

Lennart Poettering State of Linux Audio in 2009

Page 13: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

We moved a couple of things into the audio server:

Timer-based audio scheduling; mixing; flat volume/volume rangeand granularity extension; integration of volume sliders; mixer

abstraction; monitoring

Mixer abstraction? Due to user-friendliness, i18n, meta data(icons, ...)

Lennart Poettering State of Linux Audio in 2009

Page 14: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

udev integration: meta data, by-path/by-id/...

Lennart Poettering State of Linux Audio in 2009

Page 15: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Bluetooth Audio, A2DP, HSP/HFP, Lip-Sync!

Lennart Poettering State of Linux Audio in 2009

Page 16: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA mixer initialization database

Lennart Poettering State of Linux Audio in 2009

Page 17: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Other: Drivers for X-Fi, LSB work

Lennart Poettering State of Linux Audio in 2009

Page 18: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

What are the challenges to tackle until next LPC?

Lennart Poettering State of Linux Audio in 2009

Page 19: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Power saving distortions

Lennart Poettering State of Linux Audio in 2009

Page 20: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Incorrect dB information

Lennart Poettering State of Linux Audio in 2009

Page 21: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Wrong mixer element names

Lennart Poettering State of Linux Audio in 2009

Page 22: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Missing/broken device strings

Lennart Poettering State of Linux Audio in 2009

Page 23: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Non-standard negotiation logic

Lennart Poettering State of Linux Audio in 2009

Page 24: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Missing from mixer initialization database

Lennart Poettering State of Linux Audio in 2009

Page 25: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

Drivers: Broken timing

snd pcm delay(), snd pcm avail()

Lennart Poettering State of Linux Audio in 2009

Page 26: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Multi-PCM clock synchronization

Lennart Poettering State of Linux Audio in 2009

Page 27: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Routing/PCM-to-mixer-element mapping/auto discovery

Current system depends on assumptions made based on consumerhardware, which doesn’t scale to professional and embedded

hardware

Lennart Poettering State of Linux Audio in 2009

Page 28: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Jack sensing, labelling, colouring, matching

Mixed HW/SW switching

Lennart Poettering State of Linux Audio in 2009

Page 29: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Timing/data transfer granularity

Lennart Poettering State of Linux Audio in 2009

Page 30: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Channel mapping, current system does not scale

Lennart Poettering State of Linux Audio in 2009

Page 31: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA API addition:

Latency control, Hifi DSP

Lennart Poettering State of Linux Audio in 2009

Page 32: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA:

HDMI negotiation

Lennart Poettering State of Linux Audio in 2009

Page 33: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA:

Atomic status updates

Lennart Poettering State of Linux Audio in 2009

Page 34: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

ALSA:

Atomic mixer updates?

PCM synchronized mixer updates?

Lennart Poettering State of Linux Audio in 2009

Page 35: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

General:

Codec pass-through for A2DP, SPDIF, HDMI, embedded

Lennart Poettering State of Linux Audio in 2009

Page 36: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

General:

Simpler, high-level PCM API

Lennart Poettering State of Linux Audio in 2009

Page 37: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

General:

20s Buffering

Lennart Poettering State of Linux Audio in 2009

Page 38: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

General:

Revoking, synchronous session switching

Lennart Poettering State of Linux Audio in 2009

Page 39: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

That’s all, folks.

Any questions?

Lennart Poettering State of Linux Audio in 2009

Page 40: State of Linux Audio in 2009 - Linux Plumbers Conference 2009

That’s all, folks.

Any questions?

Lennart Poettering State of Linux Audio in 2009


Recommended