Hi Dan that's a cool contrib. I'd be interested to put parts of your contrib in csipsimple opensl-es driver (I don't know if you read my already existing code). If so, as I release _*this*_ file under Apache it could mean to change your license (or dual license it). (Just for info the rest of the csipsimple project is under GPL, I just do that for the pjsip port so that teluu can reuse my code with their dual license). Besides, I've just a remark on your code : + // Set the audio route + if (stream->param.output_route == PJMEDIA_AUD_DEV_ROUTE_LOUDSPEAKER) + play_type = SL_ANDROID_STREAM_MEDIA; + else + play_type = SL_ANDROID_STREAM_VOICE; I think this is not a good idea. In android stream type does not (normally) have anything to do with routing. Many manufacturer do so, but from my experience it is not the best way to do so. I've read the stock SIP application of android 2.3 and stream they use is VOICE. In previous android version it was very fuzzy, but now that's really more clear about what we should do. Stream should be VOICE, we should focus on this stream (as far as I know this can only be done on the java part -- it could be interesting to see if it's possible to add a callback just like the one there is in pjsip-2.0 to perform it a clean way). Also we should set audioMode to IN_COMMUNICATION (this can also be done using java api, I'm not sure whether it's available in opensl android extension). And to switch to speaker I think that the best solution would be to use pcm.channelMask. Even if for now in CSipSimple project I do that using the java api since previous implementation already do that, I think that in opensl mask is correct way. Just a final info, if you want to contribute CSipSimple, you'll be welcome :). I'm absolutely aware that for now the way I build is not clean at all. I did that just cause I miss time. The native part is just 1% of my work time on the project thanks to teluu clean code ! :D So if you want to join and contribute on pjsip_android part of csipsimple do not hesitate to tell me :). Also last point, not really linked to your patch but could be interesting for you : This week I successfully did a video call using pjsip-2.0 port on android !!!! :D I have two devices : on for opengl-es and one for android camera capture. It works with the current pjsip-2.0 branch :) (I did successful real tests between my ubuntu running pjsip-2.0 and CSipSimple with pjsip2.0 :) ). Also for others, if you are on iPhone and interested by the opengl-es device (could be interesting if you want to integrate 3D video calls (such as a 3D conference ;) ).... It's available here : http://code.google.com/p/csipsimple/source/browse/branches/video/pjsip_android-2.0/apps/pjsip/project/jni/src/opengl_video_dev.c As usually contribution to that are welcome !! Once again I did quick things just to have a proof of concept but could be done a cleaner way I think. Regards, R?gis > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20110325/ecb2d1ed/attachment.html>