> I've tried enabling PJMEDIA_AUDIO_DEV_HAS_ANDROID_JNI in config_site.h > but end up with multiple JNI_OnLoad definitions when I compile. And > CSipSimple (which apparently does work on earlier versions of Android) > seems to be using a 1.x version of pjsip. > CSipSimple uses current trunk version of pjsip (so 2.x) (there is only few commits of latests days that are not yet integrated). Where did you see it uses 1.x? (Maybe I forgot to udpdate some wiki page?). There is the video feature... so you could have deduced it's not 1.x ;). Else, yes, CSipSimple works from 1.6 (and actually could run from 1.5 if the compatibility library from google was supporting android 1.5). The JNI and the OpenSL-ES implementation can coexists if you split things when you build and load the audio device implementation from your app / native code specific to your app instead of melding everything in a single dynamic library. Pjsip is well designed to support that dynamically... you can just use this fact. BTW, if you want to support both it's mandatory to not have your main pjsip dyn lib linked to opensl-es lib else it will simply not load on older android versions. Unlike on the monolitic iOS, android is made to allow plugins and dynamic detection of things. And pjsip also allows to dynamically add features (audio devices glue, video devices glue, codecs etc). -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20130523/bdb9e53f/attachment-0001.html>