I just realized that my solution may cause trouble if '--enable-ext-sound' starts to work as I originally thought it should ;-) /Dan Dan Arrhenius wrote: > I don't actually have a problem with the new audio API and my own audio > driver, the only thing I wanted was to avoid having to modify code in > pjproject. > > But here's what I did: > > 1. Use the parameter '--enable-ext-sound' when running the configure > script. > > 2. Add the following to config_site.h: "#define > PJMEDIA_AUDIO_DEV_HAS_EXTAUDIO 1" > > 3. Edit user.mak to build the source code for my audio implementation > (implementing the function 'pjmedia_ext_factory'). > > 4. Apply the following patch: > > --- pjmedia/src/pjmedia-audiodev/audiodev.c (revision 2945) > +++ pjmedia/src/pjmedia-audiodev/audiodev.c (working copy) > @@ -86,6 +86,10 @@ > pjmedia_aud_dev_factory* pjmedia_symb_mda_factory(pj_pool_factory *pf); > #endif > > +#if PJMEDIA_AUDIO_DEV_HAS_EXTAUDIO > +pjmedia_aud_dev_factory* pjmedia_ext_factory(pj_pool_factory *pf); > +#endif > + > #define MAX_DRIVERS 16 > #define MAX_DEVS 64 > > @@ -383,6 +387,9 @@ > #if PJMEDIA_AUDIO_DEV_HAS_SYMB_MDA > aud_subsys.drv[aud_subsys.drv_cnt++].create = > &pjmedia_symb_mda_factory; > #endif > +#if PJMEDIA_AUDIO_DEV_HAS_EXTAUDIO > + aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_ext_factory; > +#endif > > /* Initialize each factory and build the device ID list */ > for (i=0; i<aud_subsys.drv_cnt; ++i) { > > > Regards, > Dan > > > Shayne O'Neill wrote: >> >> Sorry for the double mail >> >> As an alternative, is there a good template driver that a new iphone >> driver can be built from. Like a stub with all the callbacks , or >> something like that. I might have some time next week I could have try >> at at it. >> I'm not a great coder (samuels a better coder than I , likely) but I >> could at least get a head start on it. >> >> Note that this would still not solve the problem for 'oddball' >> platforms with custom old-school audio drivers. >> >> Shayne. >> >> On 15/10/2009, at 12:44 AM, samuel.vinson wrote: >> >>> >>> Hello, >>> >>> I posted a patch here to resolve your problem, few weeks ago. >>> Because in 1.4 branch, the legacy disapeared :-( >>> >>> Benny could you integrate this patch or fixe the problem, pls. >>> >>> Regards >>> >>> Samuel >>> >>> >>> > Message du 14/10/09 17:21 >>> > De : "Dan Arrhenius" >>> > A : "pjsip list" >>> > Copie ? : >>> > Objet : Re: [pjsip] Replacing the audio backend in pjsua >>> > >>> > >>> > It didn't work for me to define >>> PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE. I should probably >>> > make it clear that I'm using pjsua-lib, so I don't initialize the >>> audio directly in my code. >>> > >>> > In audiodev.c there is support for maximum 16(MAX_DRIVERS) audio >>> device factories, but >>> > they are added and initialized statically, and in my case no driver >>> at all is added :-( >>> > Might I suggest the ability to dynamically add audio device >>> factories, for example >>> > 'pjmedia_aud_subsys_add_driver(...)'. >>> > >>> > Best regards, >>> > Dan >>> > >>> > >>> > Benny Prijono wrote: >>> > > On Wed, Oct 14, 2009 at 5:45 PM, Dan Arrhenius wrote: >>> > >> Hello, >>> > >> I've been working with pjproject 1.0.x and want to upgrade to >>> the latest >>> > >> version. >>> > >> How can I replace the audio back-end in pjsua with my own using >>> the new >>> > >> audio subsystem? With the old version I configured pjproject with >>> > >> '--enable-ext-sound' and supplied rules to build the audio >>> back-end in >>> > >> user.mak. >>> > >> >>> > >> As I understand it all available audio back-ends are hard-coded in >>> > >> audiodev.c (PORTAUDIO, WMME, SYMB_VAS, SYMB_APS, and SYMB_MDA), >>> and there is >>> > >> no way of dynamically add a new audio driver. Or am I missing >>> something? >>> > >> Do I have to modify audiodev.c to get my own audio back-end in >>> pjsua? I want >>> > >> to modify as little code in pjproject as possible to ease >>> maintenance. >>> > >> >>> > >> >>> > > >>> > > In http://trac.pjsip.org/repos/wiki/Audio_Dev_API there is a >>> guide on >>> > > how to access legacy device using the new API (see under >>> > > PJMEDIA_AUDIO_DEV_HAS_LEGACY_DEVICE). I have not tested it with >>> > > --enable-ext-sound, but it's supposed to work. :) >>> > > >>> > > Cheers >>> > > Benny >>> > > >>> > > _______________________________________________ >>> > > 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 >>> > >>> > >>> >>> >>> Gratuite, garantie ? vie et d?j? utilis?e par des millions >>> d'internautes... >>> vous aussi, pour votre adresse e-mail, choisissez laposte.net. >>> >>> Laposte.net, bien + qu'une messagerie >>> >>> _______________________________________________ >>> 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 >> >> =================================== >> Shayne O'Neill Development >> Mobile, Web and Business process integration. >> shayne.oneill at gmail.com 0400247091 >> Ask me about how Alfresco can help your business grow. >> >> >> _______________________________________________ >> 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 >> >