This release is the development in the trunk and contains both bug-fixes and features additions from the previous release-1.0.1. It may have non-backward compatible changes from the previous release. If you are maintaining a stable application based on the 1.0 series, you may want to have the release-1.0.2 instead.
This release contains major enhancements, with the introduction of Nokia APS-Direct and new Audio Device API.
The APS-Direct is a feature to make use of the hardware codecs supported by Symbian's Audio Proxy Server (APS) API. Since audio frames coming from/into APS are in encoded format, we need to bypass most of the audio processing in PJMEDIA (since PJMEDIA works with PCM audio frames). Understandably many PJMEDIA features (e.g. conference bridge and many features associated with it such as WAV playback/recording) will not be available when APS-Direct is used.
See Using APS-Direct and VAS-Direct in PJMEDIA for more information.
New Audio Device API
With the introduction of APS-Direct, we discovered that the old sound device API couldn't provide us with the features that are required, so new audio device API has been developed.
See PJMEDIA Audio Device API for more information.
This release has been equipped with automated tests to maintain the quality of the code. Please see http://dash.pjsip.org for the result!
API Changes and Incompatibility Info
We would expect some changes in the sound device interface, with the addition of a new API to expose device capabilities (such as volume control and audio routing). See PJMEDIA Audio Device API for more information.
List of Enhancements
List of Bugs
- Link error 'undefined reference to pjmedia_plc_*' when building for S60 3rd MR target.
- Incorrect table based CRC32 calculation on big endian platforms (thanks Ruud Klaver for the fix)
- Detection of handset's frame ptime in APS
- APS causes KERN-EXEC 0 error when a call has hung up (thanks Kevin Gong for the report)
- Wrong timestamp calculation causing RTCP clock skew (thanks Guido Fischer for the fix!)
- Segfault when calling pjmedia_transport_srtp_create() with pjmedia_srtp_setting set to NULL (thanks Ruud Klaver for the report).
- Possible heap corruption in pjmedia/pasound.c callback's thread (thanks Paulo Sousa for the detail report).
- Build fails when application uses pjmedia_snd_aps_activate_loudspeaker() (Thanks Quang Luong Thanh for the report).
- Miscellaneous fixes for pjmedia
- The case of no gap/burst may not be handled correctly in VoIP metrics calculations in RTCP-XR (thanks Johan Lantz for the report).
- Codec L16 open() doesn't initialize PLC & VAD settings (thanks Yann for the report).
- Wrong jitter buffer parameters set by the stream
- Jitter buffer does not discard duplicate frame if it is currently empty (thanks Mårten Wikström for the report)
- Wrong timestamp increment in pjmedia_clock (thanks Yann for the report)
- Minor fixes for PJSIP
- Assertion in "../src/pjsip/sip_util.c:729: pjsip_process_route_set()" (thanks Ramesh D for the report)
- Crash when handling incoming request without rport (thanks Norma Steveley and Seth Hinze for the report)
- Bug in parsing tel: URI (thanks David Weidenkopf for the report)
- Bugs in parsing SIP torture messages (RFC 4475) (thanks Norma Steveley for the report)
- Problems with IPv6 SIP transport (thanks Cedric Levequ for the report)
- Miscellaneous fixes for applications