- set atomic's mutex to NULL in atomic destroy
- added few sanity checks to the atomic functions.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5758 74dad513-b988-da41-8d7b-12977e46ad98
In file included from /android-ndk-r15c/platforms/android-15/arch-arm/usr/include/linux/posix_types.h:41:0,
from /android-ndk-r15c/platforms/android-15/arch-arm/usr/include/sys/types.h:37,
from /android-ndk-r15c/platforms/android-15/arch-arm/usr/include/stdio.h:50,
from ../../pjlib/include/pj/compat/string.h:39,
from ../../pjlib/include/pj/string.h:29,
from ../include/pjmedia/frame.h:28,
from ../include/pjmedia/port.h:30,
from ../include/pjmedia/codec.h:29,
from ../include/pjmedia-codec/types.h:29,
from ../include/pjmedia-codec/openh264.h:22,
from ../src/pjmedia-codec/openh264.cpp:19:
/android-ndk-r15c/sysroot/usr/include/arm-linux-androideabi/asm/posix_types.h:33:37: fatal error: asm-generic/posix_types.h: No such file or directory
#include <asm-generic/posix_types.h>
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5757 74dad513-b988-da41-8d7b-12977e46ad98
- Added new APIs:
* PJMEDIA: pjmedia_srtp_enum_crypto(), pjmedia_srtp_enum_keying()
* PJSUA: pjsua_config.srtp_opt, pjsua_acc_config.srtp_opt, pjsua_srtp_opt_default()
* PJSUA2: AccountMediaConfig::srtpOpt, Endpoint::srtpCryptoEnum()
- Deprecated PJSUA callback on_create_media_transport_srtp() (not removed yet, just warnings).
- Slightly refactored SRTP code:
* Fixed potential issue with on_create_media_transport_srtp(), some PJSUA internal values in pjmedia_srtp_setting may be overridden by app.
* Fixed few issues in SRTP and keying mechanism, e.g: premature local SDP modification (it should be done after verification).
* Potential minor backward compatibility issue: default value of pjmedia_srtp_setting.crypto_count is now zero, previously it was initialized with all crypto via pjmedia_srtp_setting_default(), actually zero and all cryptos in this setting semantically are the same.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5755 74dad513-b988-da41-8d7b-12977e46ad98
The summary of changes:
- To solve no 2:
Add callback rtp_cb2(pjmedia_tp_cb_param *param) which allows application to get more info from the media transport, such as the packet's source address.
- To solve no 3:
Add compile time option PJMEDIA_TRANSPORT_SWITCH_REMOTE_ADDR (by default enabled). Currently, there are already runtime options PJMEDIA_UDP_NO_SRC_ADDR_CHECKING and PJMEDIA_ICE_NO_SRC_ADDR_CHECKING, but there are a few drawbacks:
* the options are not exported to the higher level, such as stream, or pjsua.
* the options are separate for each transport, UDP and ICE, there's no single option to do this.
- To solve no 1:
Using the new rtp_cb2() callback, move the functionality to check the packet's source address to the stream/video stream.
By checking the RTP pt and SSRC, there are a few advantages:
* When receiving packets from multiple sources, stream can choose the packet with the correct SSRC as advertised from the SDP, and discard the others (see also ticket #1366).
* If remote address switch is enabled, a faster switch can be achieved as soon as packet with correct ssrc is received, instead of waiting for several consecutive packets (according to setting PJMEDIA_RTP_NAT_PROBATION_CNT).
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5752 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed crash in media transport when application calls detach() while the transport only implements detach2().
- Avoid assertion in UDP media transport when calling detach() without previously calling attach().
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5750 74dad513-b988-da41-8d7b-12977e46ad98
- Fixed re-INVITE scenario: always generate SRTP attr in SDP re-offer/answer as both offerer/answerer (as long as SRTP is not disabled of course), currently it does not generate SRTP attr if active session does not use SRTP.
- Fixed bug in retrieving video stream info from SDP that caused DTLS transport (UDP/TLS/RTP/SAVP) getting rejected.
- Added pjsua app param '--srtp-keying=0/1' to choose SRTP keying to be used in the outgoing offer (0=SDES (default), 1=DTLS-SRTP).
- Few minors, e.g: adding transport_srtp_dtls/sdes.c to pjmedia MSVC2015 project.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5746 74dad513-b988-da41-8d7b-12977e46ad98
- Do not override Via header of a CANCEL request, its values are copied from the original INVITE already.
- Reset account's Via address & transport when SIP TCP/TLS transport is disconnected.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5733 74dad513-b988-da41-8d7b-12977e46ad98
- Ignore transport error on completed transaction.
- Don't disconnect call if transport error happens on transaction that is not initial INVITE transaction.
git-svn-id: https://svn.pjsip.org/repos/pjproject/trunk@5714 74dad513-b988-da41-8d7b-12977e46ad98