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 legacy). 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? -- Tanu