Hi, I am developing a gstreamer VOIP application for Android with the requirement to
a) switch between internal and external speakers
b) using (ideally) the Android provided echo cancellation when using the external speakers
unfortunately I seem to have opened a can of worms, in particular with respect to the android EchoCancellation issue. (I managed to solve that particular problem by compiling my own libOpenSLES and incorporating a few lines of code from later android versions).
The basic problem:
Android Platform 14 doesn't exposes the android echo cancellation feature in its opensles implementation (libOpenSLES which is required for android gstreamer builds). Btw, it also doesn't expose the AudioManager's session ID - which would be sufficient to create echo-cancellation through passing it on to java code.
Later android platforms allow that (I dont know when it happened but 21 should work) - there, android opensles has a feature to enable echo cancellation. I have seen no documentation but discovered a property somewhere in the android opensles sources, which does not exist in platform 14.
My attempt for a solution - using a higher APP_PLATFORM than 14:
1) compile existing gstreamer-sdk with APP_PLATFORM := android-21
that fails. The gstreamer-sdk code is not compatible.
2) create a new gstreamer-sdk (cerbero) with updated glib, pixman, and other libraries and new android-ndk...
That task was beyond me. I tried to simply update the version numbers in the .recipie files but the code is partially pulled from the gstreamer-sdk git for several libraries, (e.g. pixman) where the newer versions do not exist. I couldn't yet figure out howto change the recipies to pull the source code from the official repositories...
I am confused and not sure how to best solve the problem... Any help about the strategy or pointer in the right direction is appreciated
<br/><hr align="left" width="300" />
View this message in context: <a href="http://gstreamer-devel.966125.n4.nabble.com/Android-echo-cancellation-tp4680413.html">Android echo cancellation</a><br/>
Sent from the <a href="http://gstreamer-devel.966125.n4.nabble.com/">GStreamer-devel mailing list archive</a> at Nabble.com.<br/>