Index: head/net/pjsip/Makefile =================================================================== --- head/net/pjsip/Makefile (revision 532018) +++ head/net/pjsip/Makefile (revision 532019) @@ -1,114 +1,117 @@ # $FreeBSD$ PORTNAME= pjsip -PORTVERSION= 2.9 -PORTREVISION= 4 +DISTVERSION= 2.10 CATEGORIES= net -MASTER_SITES= http://www.pjsip.org/release/${PORTVERSION}/ -DISTNAME= pjproject-${DISTVERSION} MAINTAINER= madpilot@FreeBSD.org COMMENT= Multimedia communication library written in C language LICENSE= GPLv2+ LICENSE_FILE= ${WRKSRC}/COPYING -LIB_DEPENDS= libportaudio.so:audio/portaudio +LIB_DEPENDS= libportaudio.so:audio/portaudio \ + libuuid.so:misc/e2fsprogs-libuuid USES= gmake localbase pathfix ssl tar:bz2 +USE_GITHUB= yes +GH_PROJECT= pjproject USE_LDCONFIG= yes -CONFLICTS?= pjsip-extsrtp - GNU_CONFIGURE= yes CONFIGURE_ARGS= --with-external-pa \ --disable-silk PATHFIX_MAKEFILEIN= Makefile PLIST_SUB= CONFIGURE_TARGET="${CONFIGURE_TARGET}" MAKE_JOBS_UNSAFE= yes OPTIONS_DEFINE= AMR DEBUG EXTSRTP FFMPEG G711 G722 G7221 GSM ILBC IPV6 \ - L16 OPENH264 PJSUA RESAMPLE RESAMPLEDLL SAMPLERATE SDL \ - SHARED SOUND SPEEX SPEEXAEC V4L VIDEO WEBRTC -OPTIONS_DEFAULT=G711 G722 G7221 GSM ILBC L16 SHARED SPEEX SPEEXAEC + L16 OPENH264 OPUS PJSUA RESAMPLE RESAMPLEDLL SAMPLERATE SDL \ + SHARED SOUND SPEEX SPEEXAEC V4L VIDEO VPX WEBRTC +OPTIONS_DEFAULT=G711 G722 G7221 GSM ILBC L16 OPUS SHARED SPEEX SPEEXAEC \ + VIDEO VPX WEBRTC EXTSRTP_DESC= Use libsrtp port (needed to get SRTP support in asterisk pjsip backend) G711_DESC= G.711 codec support G722_DESC= G.722 codec support G7221_DESC= G.722.1 codec support ILBC_DESC= iLBC codec support L16_DESC= Linear/L16 codec support OPENH264_DESC= OpenH264 support PJSUA_DESC= Command line SIP agent RESAMPLE_DESC= Enable resampling implementations RESAMPLEDLL_DESC= Build libresample as shared library SHARED_DESC= Build shared libraries (other ports may depend on this) SPEEXAEC_DESC= Speex Acoustic Echo Canceller/AEC V4L_DESC= Video4Linux2 support -WEBRTC_DESC= Build linwebrtc +WEBRTC_DESC= Build libwebrtc OPTIONS_SUB= yes AMR_CONFIGURE_WITH= opencore-amr AMR_LIB_DEPENDS= libopencore-amrwb.so:audio/opencore-amr \ libvo-amrwbenc.so:audio/vo-amrwbenc DEBUG_CFLAGS= -DNDEBUG=0 DEBUG_CFLAGS_OFF= -DNDEBUG=1 EXTSRTP_CONFIGURE_WITH= external-srtp EXTSRTP_CONFLICTS_OFF= libsrtp libsrtp2 EXTSRTP_LIB_DEPENDS= libsrtp2.so:net/libsrtp2 FFMPEG_CONFIGURE_ENABLE= ffmpeg FFMPEG_LIB_DEPENDS= libswresample.so:multimedia/ffmpeg G711_CONFIGURE_ENABLE= g711-codec G722_CONFIGURE_ENABLE= g722-codec G7221_CONFIGURE_ENABLE= g7221-codec GSM_CONFIGURE_ENABLE= gsm-codec GSM_CONFIGURE_ON= --with-external-gsm GSM_LIB_DEPENDS= libgsm.so:audio/gsm ILBC_CONFIGURE_ENABLE= ilbc-codec IPV6_CFLAGS= -DPJ_HAS_IPV6=1 IPV6_CFLAGS_OFF= -DPJ_HAS_IPV6=0 L16_CONFIGURE_ENABLE= l16-codec OPENH264_CONFIGURE_ENABLE= openh264 OPENH264_LIB_DEPENDS= libopenh264.so:multimedia/openh264 +OPUS_CONFIGURE_ENABLE= opus +OPUS_LIB_DEPENDS= libopus.so:audio/opus RESAMPLE_CONFIGURE_ENABLE= resample RESAMPLEDLL_CONFIGURE_ENABLE= resample-dll SAMPLERATE_CONFIGURE_ENABLE= libsamplerate SAMPLERATE_LIB_DEPENDS= libsamplerate.so:audio/libsamplerate SDL_CONFIGURE_ENABLE= sdl SDL_USES= sdl SDL_USE= SDL=sdl SHARED_CONFIGURE_ENABLE= shared SOUND_CONFIGURE_ENABLE= sound SPEEXAEC_CONFIGURE_ENABLE= speex-aec SPEEX_CONFIGURE_ENABLE= speex-codec SPEEX_CONFIGURE_ON= --with-external-speex SPEEX_LIB_DEPENDS= libspeex.so:audio/speex \ libspeexdsp.so:audio/speexdsp V4L_BUILD_DEPENDS= v4l_compat>=0:multimedia/v4l_compat V4L_CONFIGURE_ENABLE= v4l2 V4L_LIB_DEPENDS= libv4l2.so:multimedia/libv4l VIDEO_CONFIGURE_ENABLE= video +VPX_CONFIGURE_ENABLE= vpx +VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx WEBRTC_CONFIGURE_OFF= --disable-libwebrtc post-patch: @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ ${WRKSRC}/pkgconfig.py @${REINPLACE_CMD} -e 's/$$(APP_LDFLAGS) \{0,1\}//' \ -e 's/$$(OS_LDFLAGS)/$$(APP_LDFLAGS) &/' \ ${WRKSRC}/*/build/Makefile @${CP} ${FILESDIR}/config_site.h \ ${WRKSRC}/pjlib/include/pj/config_site.h post-install-SHARED-on: ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/*.so post-install-PJSUA-on: ${INSTALL_PROGRAM} \ ${WRKSRC}/pjsip-apps/bin/pjsua-${ARCH}-portbld-${OPSYS:tl}${OSREL} \ ${STAGEDIR}${PREFIX}/bin/pjsua ${INSTALL_PROGRAM} \ ${WRKSRC}/pjsip-apps/bin/pjsystest-${ARCH}-portbld-${OPSYS:tl}${OSREL} \ ${STAGEDIR}${PREFIX}/bin/pjsystest .include Index: head/net/pjsip/distinfo =================================================================== --- head/net/pjsip/distinfo (revision 532018) +++ head/net/pjsip/distinfo (revision 532019) @@ -1,3 +1,3 @@ -TIMESTAMP = 1560947683 -SHA256 (pjproject-2.9.tar.bz2) = d185ef7855c8ec07191dde92f54b65a7a4b7a6f7bf8c46f7af35ceeb1da2a636 -SIZE (pjproject-2.9.tar.bz2) = 5009546 +TIMESTAMP = 1586797388 +SHA256 (pjsip-pjproject-2.10_GH0.tar.gz) = 936a4c5b98601b52325463a397ddf11ab4106c6a7b04f8dc7cdd377efbb597de +SIZE (pjsip-pjproject-2.10_GH0.tar.gz) = 8768705 Index: head/net/pjsip/files/patch-0030 =================================================================== --- head/net/pjsip/files/patch-0030 (revision 532018) +++ head/net/pjsip/files/patch-0030 (nonexistent) @@ -1,105 +0,0 @@ -From 489281f29fc7b97143cf79154f22e5007adaba39 Mon Sep 17 00:00:00 2001 -From: George Joseph -Date: Wed, 9 Oct 2019 07:49:44 -0600 -Subject: [PATCH 30/31] ssl regression fix - ---- - pjlib/src/pj/ssl_sock_gtls.c | 6 ++++-- - pjlib/src/pj/ssl_sock_imp_common.c | 4 ++++ - pjlib/src/pj/ssl_sock_imp_common.h | 3 +++ - pjlib/src/pj/ssl_sock_ossl.c | 9 +++++---- - 4 files changed, 16 insertions(+), 6 deletions(-) - -diff --git a/pjlib/src/pj/ssl_sock_gtls.c b/pjlib/src/pj/ssl_sock_gtls.c -index 311b7b757..484770ae4 100644 ---- pjlib/src/pj/ssl_sock_gtls.c -+++ pjlib/src/pj/ssl_sock_gtls.c -@@ -1050,7 +1050,8 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock) - goto us_out; - - tls_cert_get_info(ssock->pool, &ssock->local_cert_info, cert); -- tls_cert_get_chain_raw(ssock->pool, &ssock->local_cert_info, us, 1); -+ pj_pool_reset(ssock->info_pool); -+ tls_cert_get_chain_raw(ssock->info_pool, &ssock->local_cert_info, us, 1); - - us_out: - tls_last_error = ret; -@@ -1077,7 +1078,8 @@ us_out: - goto peer_out; - - tls_cert_get_info(ssock->pool, &ssock->remote_cert_info, cert); -- tls_cert_get_chain_raw(ssock->pool, &ssock->remote_cert_info, certs, -+ pj_pool_reset(ssock->info_pool); -+ tls_cert_get_chain_raw(ssock->info_pool, &ssock->remote_cert_info, certs, - certslen); - - peer_out: -diff --git a/pjlib/src/pj/ssl_sock_imp_common.c b/pjlib/src/pj/ssl_sock_imp_common.c -index e6273d832..51a62a2fb 100644 ---- pjlib/src/pj/ssl_sock_imp_common.c -+++ pjlib/src/pj/ssl_sock_imp_common.c -@@ -616,6 +616,7 @@ static void ssl_on_destroy(void *arg) - } - - /* Secure release pool, i.e: all memory blocks will be zeroed first */ -+ pj_pool_secure_release(&ssock->info_pool); - pj_pool_secure_release(&ssock->pool); - } - -@@ -1262,15 +1263,18 @@ PJ_DEF(pj_status_t) pj_ssl_sock_create (pj_pool_t *pool, - { - pj_ssl_sock_t *ssock; - pj_status_t status; -+ pj_pool_t *info_pool; - - PJ_ASSERT_RETURN(pool && param && p_ssock, PJ_EINVAL); - PJ_ASSERT_RETURN(param->sock_type == pj_SOCK_STREAM(), PJ_ENOTSUP); - -+ info_pool = pj_pool_create(pool->factory, "ssl_chain%p", 512, 512, NULL); - pool = pj_pool_create(pool->factory, "ssl%p", 512, 512, NULL); - - /* Create secure socket */ - ssock = ssl_alloc(pool); - ssock->pool = pool; -+ ssock->info_pool = info_pool; - ssock->sock = PJ_INVALID_SOCKET; - ssock->ssl_state = SSL_STATE_NULL; - ssock->circ_buf_input.owner = ssock; -diff --git a/pjlib/src/pj/ssl_sock_imp_common.h b/pjlib/src/pj/ssl_sock_imp_common.h -index 09f259ef7..eb45f14e0 100644 ---- pjlib/src/pj/ssl_sock_imp_common.h -+++ pjlib/src/pj/ssl_sock_imp_common.h -@@ -96,6 +96,9 @@ typedef struct circ_buf_t { - struct pj_ssl_sock_t - { - pj_pool_t *pool; -+ pj_pool_t *info_pool; /* this is for certificate chain -+ * information allocation. Don't use for -+ * other purposes. */ - pj_ssl_sock_t *parent; - pj_ssl_sock_param param; - pj_ssl_sock_param newsock_param; -diff --git a/pjlib/src/pj/ssl_sock_ossl.c b/pjlib/src/pj/ssl_sock_ossl.c -index b4ac5c15f..2545b7c37 100644 ---- pjlib/src/pj/ssl_sock_ossl.c -+++ pjlib/src/pj/ssl_sock_ossl.c -@@ -1637,11 +1637,12 @@ static void ssl_update_certs_info(pj_ssl_sock_t *ssock) - - chain = SSL_get_peer_cert_chain(ossock->ossl_ssl); - if (chain) { -- ssl_update_remote_cert_chain_info(ssock->pool, -- &ssock->remote_cert_info, -- chain, PJ_TRUE); -+ pj_pool_reset(ssock->info_pool); -+ ssl_update_remote_cert_chain_info(ssock->info_pool, -+ &ssock->remote_cert_info, -+ chain, PJ_TRUE); - } else { -- ssock->remote_cert_info.raw_chain.cnt = 0; -+ ssock->remote_cert_info.raw_chain.cnt = 0; - } - } - --- -2.21.0 - Property changes on: head/net/pjsip/files/patch-0030 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/pjsip/files/patch-0031 =================================================================== --- head/net/pjsip/files/patch-0031 (revision 532018) +++ head/net/pjsip/files/patch-0031 (nonexistent) @@ -1,187 +0,0 @@ -From 9c6108ca392d5e0392e7fb5d2ffde85e3c44ce55 Mon Sep 17 00:00:00 2001 -From: George Joseph -Date: Wed, 9 Oct 2019 07:50:32 -0600 -Subject: [PATCH 31/31] transport regression fix - ---- - pjsip/src/pjsip/sip_transport.c | 73 +++++++++++++++++++++++++++------ - 1 file changed, 61 insertions(+), 12 deletions(-) - -diff --git a/pjsip/src/pjsip/sip_transport.c b/pjsip/src/pjsip/sip_transport.c -index 65ac823d4..da6b70e50 100644 ---- pjsip/src/pjsip/sip_transport.c -+++ pjsip/src/pjsip/sip_transport.c -@@ -50,6 +50,24 @@ static const char *addr_string(const pj_sockaddr_t *addr) - str, sizeof(str)); - return str; - } -+static const char* print_tpsel_info(const pjsip_tpselector *sel) -+{ -+ static char tpsel_info_buf[80]; -+ if (!sel) return "(null)"; -+ if (sel->type==PJSIP_TPSELECTOR_LISTENER) -+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf), -+ "listener[%s], reuse=%d", sel->u.listener->obj_name, -+ !sel->disable_connection_reuse); -+ else if (sel->type==PJSIP_TPSELECTOR_TRANSPORT) -+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf), -+ "transport[%s], reuse=%d", sel->u.transport->info, -+ !sel->disable_connection_reuse); -+ else -+ pj_ansi_snprintf(tpsel_info_buf, sizeof(tpsel_info_buf), -+ "unknown[%p], reuse=%d", sel->u.ptr, -+ !sel->disable_connection_reuse); -+ return tpsel_info_buf; -+} - #else - # define TRACE_(x) - #endif -@@ -1210,10 +1228,14 @@ PJ_DEF(pj_status_t) pjsip_transport_register( pjsip_tpmgr *mgr, - * new transport to the list. - */ - pj_list_push_back(tp_ref, tp_add); -+ TRACE_((THIS_FILE, "Remote address already registered, " -+ "appended the transport to the list")); - } else { - /* Transport list not found, add it to the hash table. */ - pj_hash_set_np(mgr->table, &tp->key, key_len, hval, tp_add->tp_buf, - tp_add); -+ TRACE_((THIS_FILE, "Remote address not registered, " -+ "added the transport to the hash")); - } - - /* Add ref transport group lock, if any */ -@@ -1283,6 +1305,13 @@ static pj_status_t destroy_transport( pjsip_tpmgr *mgr, - /* The transport list has multiple entry. */ - pj_hash_set_np(mgr->table, &tp_next->tp->key, key_len, - hval, tp_next->tp_buf, tp_next); -+ TRACE_((THIS_FILE, "Hash entry updated after " -+ "transport %d being destroyed", -+ tp->obj_name)); -+ } else { -+ TRACE_((THIS_FILE, "Hash entry deleted after " -+ "transport %d being destroyed", -+ tp->obj_name)); - } - } - -@@ -1294,6 +1323,14 @@ static pj_status_t destroy_transport( pjsip_tpmgr *mgr, - } - tp_iter = tp_iter->next; - } while (tp_iter != tp_ref); -+ -+ if (tp_iter->tp != tp) { -+ PJ_LOG(3, (THIS_FILE, "Warning: transport %s being destroyed is " -+ "not registered", tp->obj_name)); -+ } -+ } else { -+ PJ_LOG(3, (THIS_FILE, "Warning: transport %s being destroyed is " -+ "not found in the hash table", tp->obj_name)); - } - - pj_lock_release(mgr->lock); -@@ -2159,6 +2196,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport(pjsip_tpmgr *mgr, - NULL, tp); - } - -+ - /* - * pjsip_tpmgr_acquire_transport2() - * -@@ -2176,8 +2214,9 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - pjsip_tpfactory *factory; - pj_status_t status; - -- TRACE_((THIS_FILE,"Acquiring transport type=%s, remote=%s:%d", -+ TRACE_((THIS_FILE,"Acquiring transport type=%s, sel=%s remote=%s:%d", - pjsip_transport_get_type_name(type), -+ print_tpsel_info(sel), - addr_string(remote), - pj_sockaddr_get_port(remote))); - -@@ -2194,6 +2233,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - /* See if the transport is (not) suitable */ - if (seltp->key.type != type) { - pj_lock_release(mgr->lock); -+ TRACE_((THIS_FILE, "Transport type in tpsel not matched")); - return PJSIP_ETPNOTSUITABLE; - } - -@@ -2234,6 +2274,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - { - if (sel->u.listener->type != type) { - pj_lock_release(mgr->lock); -+ TRACE_((THIS_FILE, "Listener type in tpsel not matched")); - return PJSIP_ETPNOTSUITABLE; - } - } -@@ -2249,21 +2290,25 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - tp_entry = (transport *)pj_hash_get(mgr->table, &key, key_len, - NULL); - if (tp_entry) { -- if (sel && sel->type == PJSIP_TPSELECTOR_LISTENER) { -- transport *tp_iter = tp_entry; -- do { -+ transport *tp_iter = tp_entry; -+ do { -+ /* Don't use transport being shutdown */ -+ if (!tp_iter->tp->is_shutdown) { - if (sel && sel->type == PJSIP_TPSELECTOR_LISTENER && -- sel->u.listener && -- tp_iter->tp->factory == sel->u.listener) -+ sel->u.listener) - { -+ /* Match listener if selector is set */ -+ if (tp_iter->tp->factory == sel->u.listener) { -+ tp_ref = tp_iter->tp; -+ break; -+ } -+ } else { - tp_ref = tp_iter->tp; - break; - } -- tp_iter = tp_iter->next; -- } while (tp_iter != tp_entry); -- } else { -- tp_ref = tp_entry->tp; -- } -+ } -+ tp_iter = tp_iter->next; -+ } while (tp_iter != tp_entry); - } - } - -@@ -2276,7 +2321,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - - /* Ignore address for loop transports. */ - if (type == PJSIP_TRANSPORT_LOOP || -- type == PJSIP_TRANSPORT_LOOP_DGRAM) -+ type == PJSIP_TRANSPORT_LOOP_DGRAM) - { - pj_sockaddr *addr = &key.rem_addr; - -@@ -2315,6 +2360,7 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - * 'duplicate' of the existing transport (same type & remote addr, - * but different factory). - */ -+ TRACE_((THIS_FILE, "Transport found but from different listener")); - } - - if (tp_ref!=NULL && !tp_ref->is_shutdown) { -@@ -2347,10 +2393,13 @@ PJ_DEF(pj_status_t) pjsip_tpmgr_acquire_transport2(pjsip_tpmgr *mgr, - */ - - /* Verify that the listener type matches the destination type */ -+ /* Already checked above. */ -+ /* - if (sel->u.listener->type != type) { - pj_lock_release(mgr->lock); - return PJSIP_ETPNOTSUITABLE; - } -+ */ - - /* We'll use this listener to create transport */ - factory = sel->u.listener; --- -2.21.0 - Property changes on: head/net/pjsip/files/patch-0031 ___________________________________________________________________ Deleted: fbsd:nokeywords ## -1 +0,0 ## -yes \ No newline at end of property Deleted: svn:eol-style ## -1 +0,0 ## -native \ No newline at end of property Deleted: svn:mime-type ## -1 +0,0 ## -text/plain \ No newline at end of property Index: head/net/pjsip/files/patch-pkgconfig.py =================================================================== --- head/net/pjsip/files/patch-pkgconfig.py (revision 532018) +++ head/net/pjsip/files/patch-pkgconfig.py (revision 532019) @@ -1,11 +1,11 @@ --- pkgconfig.py.orig 2012-10-04 07:36:39 UTC +++ pkgconfig.py @@ -117,7 +117,7 @@ if __name__ == "__main__": # Fix search path PKG_CONFIG_PATH = os.getenv("PKG_CONFIG_PATH", "").strip() if not PKG_CONFIG_PATH: - PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/lib/pkgconfig" -+ PKG_CONFIG_PATH="/usr/local/libdata/pkgconfig" ++ PKG_CONFIG_PATH="%%LOCALBASE%%/libdata/pkgconfig" PKG_CONFIG_PATH = PKG_CONFIG_PATH.replace(";", ":") # Parse files Property changes on: head/net/pjsip/files/patch-pkgconfig.py ___________________________________________________________________ Modified: fbsd:nokeywords ## -1 +1 ## -on \ No newline at end of property +yes \ No newline at end of property Index: head/net/pjsip/pkg-plist =================================================================== --- head/net/pjsip/pkg-plist (revision 532018) +++ head/net/pjsip/pkg-plist (revision 532019) @@ -1,366 +1,367 @@ %%PJSUA%%bin/pjsua %%PJSUA%%bin/pjsystest include/pj/activesock.h include/pj/addr_resolv.h include/pj/array.h include/pj/assert.h include/pj/compat/assert.h include/pj/compat/cc_armcc.h include/pj/compat/cc_codew.h include/pj/compat/cc_gcc.h include/pj/compat/cc_gcce.h include/pj/compat/cc_msvc.h include/pj/compat/cc_mwcc.h include/pj/compat/ctype.h include/pj/compat/errno.h include/pj/compat/high_precision.h include/pj/compat/limits.h include/pj/compat/m_alpha.h include/pj/compat/m_armv4.h include/pj/compat/m_auto.h include/pj/compat/m_auto.h.in include/pj/compat/m_i386.h include/pj/compat/m_m68k.h include/pj/compat/m_powerpc.h include/pj/compat/m_sparc.h include/pj/compat/m_x86_64.h include/pj/compat/malloc.h include/pj/compat/os_auto.h include/pj/compat/os_auto.h.in include/pj/compat/os_darwinos.h include/pj/compat/os_linux.h include/pj/compat/os_palmos.h include/pj/compat/os_rtems.h include/pj/compat/os_sunos.h include/pj/compat/os_symbian.h include/pj/compat/os_win32_wince.h include/pj/compat/os_win32.h include/pj/compat/os_winphone8.h include/pj/compat/os_winuwp.h include/pj/compat/rand.h include/pj/compat/setjmp.h include/pj/compat/size_t.h include/pj/compat/socket.h include/pj/compat/stdarg.h include/pj/compat/stdfileio.h include/pj/compat/string.h include/pj/compat/time.h include/pj/config_site_sample.h include/pj/config_site.h include/pj/config.h include/pj/ctype.h include/pj/doxygen.h include/pj/errno.h include/pj/except.h include/pj/fifobuf.h include/pj/file_access.h include/pj/file_io.h include/pj/guid.h include/pj/hash.h include/pj/ioqueue.h include/pj/ip_helper.h include/pj/limits.h include/pj/list_i.h include/pj/list.h include/pj/lock.h include/pj/log.h include/pj/math.h include/pj/os.h include/pj/pool_alt.h include/pj/pool_buf.h include/pj/pool_i.h include/pj/pool.h include/pj/rand.h include/pj/rbtree.h include/pj/sock_qos.h include/pj/sock_select.h include/pj/sock.h include/pj/ssl_sock.h include/pj/string_i.h include/pj/string.h include/pj/timer.h include/pj/types.h include/pj/unicode.h include/pj++/file.hpp include/pj++/hash.hpp include/pj++/list.hpp include/pj++/lock.hpp include/pj++/os.hpp include/pj++/pool.hpp include/pj++/proactor.hpp include/pj++/scanner.hpp include/pj++/sock.hpp include/pj++/string.hpp include/pj++/timer.hpp include/pj++/tree.hpp include/pj++/types.hpp include/pjlib-util.h include/pjlib-util/base64.h include/pjlib-util/cli_console.h include/pjlib-util/cli_imp.h include/pjlib-util/cli_telnet.h include/pjlib-util/cli.h include/pjlib-util/config.h include/pjlib-util/crc32.h include/pjlib-util/dns_server.h include/pjlib-util/dns.h include/pjlib-util/errno.h include/pjlib-util/getopt.h include/pjlib-util/hmac_md5.h include/pjlib-util/hmac_sha1.h include/pjlib-util/http_client.h include/pjlib-util/json.h include/pjlib-util/md5.h include/pjlib-util/pcap.h include/pjlib-util/resolver.h include/pjlib-util/scanner_cis_bitwise.h include/pjlib-util/scanner_cis_uint.h include/pjlib-util/scanner.h include/pjlib-util/sha1.h include/pjlib-util/srv_resolver.h include/pjlib-util/string.h include/pjlib-util/stun_simple.h include/pjlib-util/types.h include/pjlib-util/xml.h include/pjlib.h include/pjlib++.hpp include/pjmedia_audiodev.h include/pjmedia_videodev.h include/pjmedia-audiodev/audiodev_imp.h include/pjmedia-audiodev/audiodev.h include/pjmedia-audiodev/audiotest.h include/pjmedia-audiodev/config.h include/pjmedia-audiodev/errno.h include/pjmedia-codec.h include/pjmedia-codec/amr_helper.h include/pjmedia-codec/amr_sdp_match.h include/pjmedia-codec/audio_codecs.h include/pjmedia-codec/bcg729.h include/pjmedia-codec/config_auto.h include/pjmedia-codec/config_auto.h.in include/pjmedia-codec/config.h include/pjmedia-codec/ffmpeg_vid_codecs.h include/pjmedia-codec/g722.h include/pjmedia-codec/g7221_sdp_match.h include/pjmedia-codec/g7221.h include/pjmedia-codec/gsm.h include/pjmedia-codec/h263_packetizer.h include/pjmedia-codec/h264_packetizer.h include/pjmedia-codec/ilbc.h include/pjmedia-codec/ipp_codecs.h include/pjmedia-codec/l16.h include/pjmedia-codec/opencore_amr.h include/pjmedia-codec/openh264.h -include/pjmedia-codec/opus.h +%%OPUS%%include/pjmedia-codec/opus.h include/pjmedia-codec/passthrough.h include/pjmedia-codec/silk.h include/pjmedia-codec/speex.h include/pjmedia-codec/types.h include/pjmedia-codec/vid_toolbox.h include/pjmedia-videodev/avi_dev.h include/pjmedia-videodev/config.h include/pjmedia-videodev/errno.h include/pjmedia-videodev/opengl_dev.h include/pjmedia-videodev/videodev_imp.h include/pjmedia-videodev/videodev.h include/pjmedia.h include/pjmedia/alaw_ulaw.h include/pjmedia/audiodev.h include/pjmedia/avi_stream.h include/pjmedia/avi.h include/pjmedia/bidirectional.h include/pjmedia/circbuf.h include/pjmedia/clock.h include/pjmedia/codec.h include/pjmedia/conference.h include/pjmedia/config_auto.h include/pjmedia/config_auto.h.in include/pjmedia/config.h include/pjmedia/converter.h include/pjmedia/delaybuf.h include/pjmedia/doxygen.h include/pjmedia/echo_port.h include/pjmedia/echo.h include/pjmedia/endpoint.h include/pjmedia/errno.h include/pjmedia/event.h include/pjmedia/format.h include/pjmedia/frame.h include/pjmedia/g711.h include/pjmedia/jbuf.h include/pjmedia/master_port.h include/pjmedia/mem_port.h include/pjmedia/null_port.h include/pjmedia/plc.h include/pjmedia/port.h include/pjmedia/resample.h include/pjmedia/rtcp_fb.h include/pjmedia/rtcp_xr.h include/pjmedia/rtcp.h include/pjmedia/rtp.h include/pjmedia/sdp_neg.h include/pjmedia/sdp.h include/pjmedia/session.h include/pjmedia/signatures.h include/pjmedia/silencedet.h include/pjmedia/sound_port.h include/pjmedia/sound.h include/pjmedia/splitcomb.h include/pjmedia/stereo.h include/pjmedia/stream_common.h include/pjmedia/stream.h include/pjmedia/symbian_sound_aps.h include/pjmedia/tonegen.h include/pjmedia/transport_adapter_sample.h include/pjmedia/transport_ice.h include/pjmedia/transport_loop.h include/pjmedia/transport_srtp.h include/pjmedia/transport_udp.h include/pjmedia/transport.h include/pjmedia/types.h include/pjmedia/vid_codec_util.h include/pjmedia/vid_codec.h include/pjmedia/vid_conf.h include/pjmedia/vid_port.h include/pjmedia/vid_stream.h include/pjmedia/vid_tee.h include/pjmedia/videodev.h include/pjmedia/wav_playlist.h include/pjmedia/wav_port.h include/pjmedia/wave.h include/pjmedia/wsola.h +%%VPX%%include/pjmedia-codec/vpx.h include/pjnath.h include/pjnath/config.h include/pjnath/errno.h include/pjnath/ice_session.h include/pjnath/ice_strans.h include/pjnath/nat_detect.h include/pjnath/stun_auth.h include/pjnath/stun_config.h include/pjnath/stun_msg.h include/pjnath/stun_session.h include/pjnath/stun_sock.h include/pjnath/stun_transaction.h include/pjnath/turn_session.h include/pjnath/turn_sock.h include/pjnath/types.h include/pjsip_auth.h include/pjsip_simple.h include/pjsip_ua.h include/pjsip-simple/errno.h include/pjsip-simple/evsub_msg.h include/pjsip-simple/evsub.h include/pjsip-simple/iscomposing.h include/pjsip-simple/mwi.h include/pjsip-simple/pidf.h include/pjsip-simple/presence.h include/pjsip-simple/publish.h include/pjsip-simple/rpid.h include/pjsip-simple/types.h include/pjsip-simple/xpidf.h include/pjsip-ua/sip_100rel.h include/pjsip-ua/sip_inv.h include/pjsip-ua/sip_regc.h include/pjsip-ua/sip_replaces.h include/pjsip-ua/sip_timer.h include/pjsip-ua/sip_xfer.h include/pjsip.h include/pjsip/print_util.h include/pjsip/sip_auth_aka.h include/pjsip/sip_auth_msg.h include/pjsip/sip_auth_parser.h include/pjsip/sip_auth.h include/pjsip/sip_autoconf.h include/pjsip/sip_autoconf.h.in include/pjsip/sip_config.h include/pjsip/sip_dialog.h include/pjsip/sip_endpoint.h include/pjsip/sip_errno.h include/pjsip/sip_event.h include/pjsip/sip_module.h include/pjsip/sip_msg.h include/pjsip/sip_multipart.h include/pjsip/sip_parser.h include/pjsip/sip_private.h include/pjsip/sip_resolve.h include/pjsip/sip_tel_uri.h include/pjsip/sip_transaction.h include/pjsip/sip_transport_loop.h include/pjsip/sip_transport_tcp.h include/pjsip/sip_transport_tls.h include/pjsip/sip_transport_udp.h include/pjsip/sip_transport.h include/pjsip/sip_types.h include/pjsip/sip_ua_layer.h include/pjsip/sip_uri.h include/pjsip/sip_util.h include/pjsua-lib/pjsua_internal.h include/pjsua-lib/pjsua.h include/pjsua.h include/pjsua2.hpp include/pjsua2/account.hpp include/pjsua2/call.hpp include/pjsua2/config.hpp include/pjsua2/doxygen.hpp include/pjsua2/endpoint.hpp include/pjsua2/json.hpp include/pjsua2/media.hpp include/pjsua2/persistent.hpp include/pjsua2/presence.hpp include/pjsua2/siptypes.hpp include/pjsua2/types.hpp %%G7221%%lib/libg7221codec-%%CONFIGURE_TARGET%%.a %%SHARED%%%%G7221%%lib/libg7221codec.so %%SHARED%%%%G7221%%lib/libg7221codec.so.2 %%ILBC%%lib/libilbccodec-%%CONFIGURE_TARGET%%.a %%SHARED%%%%ILBC%%lib/libilbccodec.so %%SHARED%%%%ILBC%%lib/libilbccodec.so.2 lib/libpj-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpj.so %%SHARED%%lib/libpj.so.2 lib/libpjlib-util-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjlib-util.so %%SHARED%%lib/libpjlib-util.so.2 lib/libpjmedia-%%CONFIGURE_TARGET%%.a lib/libpjmedia-audiodev-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjmedia-audiodev.so %%SHARED%%lib/libpjmedia-audiodev.so.2 lib/libpjmedia-codec-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjmedia-codec.so %%SHARED%%lib/libpjmedia-codec.so.2 lib/libpjmedia-videodev-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjmedia-videodev.so %%SHARED%%lib/libpjmedia-videodev.so.2 %%SHARED%%lib/libpjmedia.so %%SHARED%%lib/libpjmedia.so.2 lib/libpjnath-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjnath.so %%SHARED%%lib/libpjnath.so.2 lib/libpjsip-%%CONFIGURE_TARGET%%.a lib/libpjsip-simple-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjsip-simple.so %%SHARED%%lib/libpjsip-simple.so.2 lib/libpjsip-ua-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjsip-ua.so %%SHARED%%lib/libpjsip-ua.so.2 %%SHARED%%lib/libpjsip.so %%SHARED%%lib/libpjsip.so.2 lib/libpjsua-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjsua.so %%SHARED%%lib/libpjsua.so.2 lib/libpjsua2-%%CONFIGURE_TARGET%%.a %%SHARED%%lib/libpjsua2.so %%SHARED%%lib/libpjsua2.so.2 %%NO_SAMPLERATE%%%%RESAMPLE%%lib/libresample-%%CONFIGURE_TARGET%%.a %%NO_SAMPLERATE%%%%RESAMPLE%%%%RESAMPLEDLL%%lib/libresample.so %%NO_SAMPLERATE%%%%RESAMPLE%%%%RESAMPLEDLL%%lib/libresample.so.2 %%NO_EXTSRTP%%lib/libsrtp-%%CONFIGURE_TARGET%%.a %%NO_EXTSRTP%%%%SHARED%%lib/libsrtp.so %%NO_EXTSRTP%%%%SHARED%%lib/libsrtp.so.2 %%WEBRTC%%lib/libwebrtc-%%CONFIGURE_TARGET%%.a %%WEBRTC%%%%SHARED%%lib/libwebrtc.so %%WEBRTC%%%%SHARED%%lib/libwebrtc.so.2 %%SHARED%%%%VIDEO%%lib/libyuv.so %%SHARED%%%%VIDEO%%lib/libyuv.so.2 %%VIDEO%%lib/libyuv-%%CONFIGURE_TARGET%%.a libdata/pkgconfig/libpjproject.pc