Hi all,

I'm working on updating PulseAudio on Mer (the current version is based
on a version that is a couple of years old already), and I'd like to
know what needs to be done before the update can be integrated. The
update is problematic, because Nemo has extra PulseAudio modules that
depend on the internal API of PulseAudio. That internal API is in no way
stable, so updating PulseAudio will break those modules. Some of those
modules are open source, and some are closed binary blobs. The open
source modules can be ported to the new PA version, and I'm already
working on that, but the closed modules are a big problem.

Similarly, if there are any other Mer products than Nemo that use
non-upstream PulseAudio modules, they will break too, or at least
require a recompile. I'm not aware of such products, though, and
hopefully there aren't any (PulseAudio upstream recommends against any
"out-of-tree" modules, and Nemo has them only because of the Nokia

I would like to just drop the closed modules, but is it an acceptable
solution? It would cause major regressions on Nemo's N900 hardware
adaptation at least: audio quality during calls would be bad (very bad,
I believe) and the speaker protection algorithm would not be available.
(I'm not sure if the N9/N950 adaptations would regress too - are the
closed bits currently used on those hw adaptations?)

If those regressions are not acceptable, should we somehow branch
PulseAudio in Nemo, so that everyone else could move on while Nemo stays
stuck on an old PulseAudio version?

Or should I try to replace the closed algorithms with open source
algorithms? PulseAudio has some important algorithms already available,
but they are designed for desktop VoIP use, so I don't know how well
they would perform on a mobile phone. It would be an interesting
exercise to do in any case, but will it have to be done before
PulseAudio can be updated on Mer?


Reply via email to