Version 4 (modified by bennylp, 17 years ago) (diff) |
---|
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 default 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.