View Single Post
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#1
First, some facts:
1.Neo900 will be using almost the same audio hardware as N900 did with the only exceptions being the cellular modem speech stuff and the microphone (IIRC we are going to have a better microphone setup than N900)
2.Neo900 will be using the same PulseAudio version as N900 (we need to if we want to remain compatible with the various N900 closed blobs that use PulseAudio and that we can't easily clone)
3.We want to keep the same audio processing algorithms used by N900 applied to Neo900 audio (especially xprot but others too)
and 4.module-nokia-*.so are just shared libraries exporting a bunch of functions (some of which PulseAudio then calls to make the module do what it does)

The thought I had as a way of avoiding the need to clone a bunch of tricky-to-clone functions (including all the ARM NEON stuff) would be to take module-nokia-* and use them as shared libraries without ever having pulseaudio load them. So instead of cloning a tricky function like a_fix_fir_neon_stereo or whatever, we can instead call the stock Nokia implementations inside module-nokia-voice.so just like it was a shared library.

In fact (since we are stuck on the same PulseAudio version) we could go as far as reusing entire subsystems where they dont call/reference things we need to worry about like the cellular speech stuff)
 

The Following 6 Users Say Thank You to jonwil For This Useful Post: