= Migration From 0.5 Version To 0.6 Version = == What's New and/or Changed == === PJLIB === Changes in PJLIB: * Added {{{PJ_POOL_ALLOC_T}}} and {{{PJ_POOL_ZALLOC_T}}} macros, which should be preferable than the old {{{pj_pool_alloc()}}}/{{{pj_pool_zalloc()}}} since it provides more type safety. * PJLIB now has {{{ip_helper.h}}} file to enumerate local interface and local routing (needed by ICE). Windows application must link with IPHLPAPI.LIB now. === New pjnath Library === There is a new {{{pjnath}}} library for NAT traversal helper, containing ICE and new STUN implementation. This library is platform independent, and it depends only on {{{pjlib}}} and {{{pjlib-util}}}. If the application is based on {{{pjsua-lib}}}, then you will have to add {{{pjnath}}} library to your link process. === PJMEDIA === PJMEDIA is the one that has underdone the most changes, although most the API remains the same: * Most third party libraries now live in their own projects, separate from {{{pjmedia}}} or {{{pjmedia-codec}}}. There are few new libraries, under {{{third_party}}} directory: * {{{libportaudio}}}, for PortAudio. * {{{libgsmcodec}}}, for GSM codec. * {{{libilbccodec}}}, for ILBC codec. * {{{libspeex}}}, for Speex library. * {{{libresample}}}, for the resampling library. * Added Speex resampler as one of the resampling backend (default is still disabled) * Steve Underwood's PLC has been removed from PJMEDIA. Now PJMEDIA only uses PLC that is built-in with the codec, for example in Speex and iLBC. == Migrating Your Application == === All Applications === If your application is based on PJSUA-LIB, you need to add '''PJNATH''' in your input library, === All Windows and WinCE Applications === What need to change: * On Windows and WinCE, the new IP helper abstraction requires application to link with '''IPHLPAPI.LIB'''. Note that IPHLPAPI.LIB is not shipped with Visual Studio 6 so you need to download Platform SDK to get this library. See the section about Visual Studio 6 below. === Visual Studio 6 === If you're using Visual Studio 6, you need to: * download '''Platform SDK''' from MSDN, and * add relevant include and library directory to VS6 options, '''after''' the standard Visual Studio 6 include and library path. This is required because Iphlpapi.[h|lib] is not shipped with Visual Studio 6.