[pulseaudio-discuss] Stepping down; future thoughts
David Henningsson
diwic at ubuntu.com
Tue Mar 29 06:10:50 UTC 2016
On 2016-03-29 01:31, Ahmed S. Darwish wrote:
> Hi David :-)
>
> On Mon, Mar 28, 2016 at 06:36:30AM +0200, David Henningsson wrote:
>> I've decided to stop working for Canonical, and with that, I intend to ramp
>> down my contributions to PulseAudio, on both upstream and Ubuntu levels.
>>
>
> As a user, I send my gratitude for all of your work for a better
> Linux audio. And as a recent contributor, _big_ _thanks_ for your
> very solid reviews and IRC discussions .. I've definitely learned
> a lot (summary: "keep it simple")
Thanks! You've been very receptive to feedback, and I'd encourage you to
continue contributing to PulseAudio!
>> I could have stayed as a volunteer, but in fact I've been a bit frustrated
>> over some of PulseAudio's design choices for quite some time. Maybe some of
>> those choices were right at the time when they were made, but they make us a
>> not good enough fit for tomorrow.
>>
>> From one end comes the embedded ASoC drivers, who have never heard of
>> timer-based scheduling, but can reconfigure themselves to decode mp3 in
>> hardware.
>>
>> From the other end come sandboxed apps, and the security requirements that
>> come with it.
>>
>
> Memfds + per-client global mempool + policy + protections against
> malicious clients + a fuzzer, and we should then be OK - right? :)
Indeed your memfds work is a step in that direction, but as you say,
lots of steps remain - e g the part that makes sure clients cannot mute,
or introspect, other clients, maybe that falls under "policy"?
>> And routing - we tried, but we never got that right. It's been difficult,
>> not only due to all use cases and different demands and ideas from different
>> groups of people, but also due to the way PulseAudio is built up internally.
>>
>> In software nothing is impossible, but to re-architecture PulseAudio to
>> support all of these requirements in a good way (rather than to "build
>> another layer on top", which in the long run would make the PulseAudio even
>> more difficult to maintain) would be very difficult, so my judgment is that
>> it would be easier to write something new from scratch.
>>
>
> Would the Linux userspace be ready for yet another audio API?
It is not fair to ask for thousands of applications to rewrite their
audio backend just because someone invented another API. Certainly one
has to write some kind of compatibility APIs; exactly how to do this for
PulseAudio I'm not certain yet.
That would actually be an interesting discussion to have, suppose
someone writes a new audio server and wants to provide compatibility for
existing PulseAudio applications; what approach does upstream PulseAudio
recommend?
(Side note: This has already happened - roaraudio does this, using
LD_LIBRARY_PATH hacks to inject a new libpulse. It's the only app I know
of that tries to provide PulseAudio application compatibility.)
// David
More information about the pulseaudio-discuss
mailing list