Hi R?gis, thanks for your comments! Sorry but I never looked at the existing code you told me about. I wanted to learn by doing it from scratch ;-) I have no problem releasing the audio implementation I've written under a dual GPL/Apache license. About the audio route, I wasn't sure at all what to do with it. At first I only used VOICE, but then I wanted a way of playing ring tones and wav-files from pjsua using MEDIA. That's the reason for the audio route implementation. Perhaps It's better to allow only VOICE. About IN_COMMUNICATION and pcm.channelMask. I have missed that. I have to look into it. Thanks! I would like to contribute to the csipsimple project but I'm afraid I just don't have the time at the moment. It's a cool project and really like the application (yes I have it installed on my Android phone). Regrads, Dan On 03/25/2011 02:45 PM, R?gis Montoya wrote: > 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 > > > > > _______________________________________________ > 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