The diff below updates telephony/pjsua to version 2.4
* address the ./configure --options more explicitly
* reduce patches/ to what has not been merged upstream
* take maintainer, as current maintainer no longer uses pjsua
Tested on amd64 and i386, where it works (as did 2.3)
and on armv7 (BeagleBone Black) and macppc (MacMini),
where it crashes (as did 2.3).
Can other users please test?
It uses portaudio for the audio interaction.
Would it be beneficial to write a sndio backend and drop portaudio?
Alexandre, can you please help me get started,
or point me to a good example of a port that has
a sndio patch that lets it drop portaudio or similar?
The ./configure also recognizes --with-external-srtp
- would it be an improvement to make pjsua use security/libsrtp?
It supports the SILK codec of Skype.
Do we want to use that, or wait until pjsua
chatches up and srarts using OPUS?
Jan
Index: Makefile
===================================================================
RCS file: /cvs/ports/telephony/pjsua/Makefile,v
retrieving revision 1.35
diff -u -p -u -p -r1.35 Makefile
--- Makefile 11 Jan 2015 17:24:06 -0000 1.35
+++ Makefile 2 May 2015 20:50:00 -0000
@@ -2,7 +2,7 @@
COMMENT= lightweight sip client
-VERSION= 2.3
+VERSION= 2.4
DISTNAME= pjproject-${VERSION}
PKGNAME= pjsua-${VERSION}
EXTRACT_SUFX= .tar.bz2
@@ -10,13 +10,13 @@ CATEGORIES= telephony
HOMEPAGE= http://www.pjsip.org/
MASTER_SITES= ${HOMEPAGE}release/${VERSION}/
-MAINTAINER= Christopher Zimmermann <[email protected]>
+MAINTAINER= Jan Stary <[email protected]>
# GPLv2
PERMIT_PACKAGE_CDROM= Yes
-WANTLIB = c crypto gsm>=1.0 m opencore-amrnb opencore-amrwb \
- portaudio pthread speex speexdsp ssl
+WANTLIB = c m crypto gsm>=1.0 opencore-amrnb opencore-amrwb \
+ portaudio pthread speex speexdsp
LIB_DEPENDS= audio/gsm \
audio/opencore-amr \
@@ -25,14 +25,36 @@ LIB_DEPENDS= audio/gsm \
CONFIGURE_STYLE= autoconf no-autoheader
AUTOCONF_VERSION= 2.69
-CONFIGURE_ARGS= --disable-oss \
- --disable-video \
- --with-external-gsm \
- --with-external-pa \
- --with-external-speex
+CONFIGURE_ARGS= \
+ --disable-shared \
+ --enable-resample \
+ --enable-sound \
+ --disable-oss \
+ --disable-video \
+ --disable-video \
+ --disable-ext-sound \
+ --enable-g711-codec \
+ --enable-l16-codec \
+ --enable-gsm-codec \
+ --enable-g722-codec \
+ --enable-g7221-codec \
+ --enable-speex-codec \
+ --enable-ilbc-codec \
+ --disable-libsamplerate \
+ --disable-sdl \
+ --disable-ffmpeg \
+ --disable-ipp \
+ --disable-ssl \
+ --enable-opencore-amr \
+ --disable-silk \
+ --with-external-speex \
+ --with-external-gsm \
+ --with-external-pa
+
CONFIGURE_ENV+= CFLAGS="-I${LOCALBASE}/include" \
- LDFLAGS="-L${LOCALBASE}/lib" \
- ac_cv_header_uuid_uuid_h=no \
+ LDFLAGS="-L${LOCALBASE}/lib"
+
+CONFIGURE_ENV+= ac_cv_header_uuid_uuid_h=no \
ac_cv_lib_uuid_uuid_generate=no
USE_GMAKE= Yes
Index: distinfo
===================================================================
RCS file: /cvs/ports/telephony/pjsua/distinfo,v
retrieving revision 1.16
diff -u -p -u -p -r1.16 distinfo
--- distinfo 11 Jan 2015 17:24:06 -0000 1.16
+++ distinfo 2 May 2015 20:50:00 -0000
@@ -1,2 +1,2 @@
-SHA256 (pjproject-2.3.tar.bz2) = 5/pgo7WUJEMBRa+QNyKCyneESfe2i3e7JKnPddlNV2U=
-SIZE (pjproject-2.3.tar.bz2) = 4633703
+SHA256 (pjproject-2.4.tar.bz2) = EIAVrtqNziDRguybT8J3Am0rF5boKUfaEG7rQG6wIFk=
+SIZE (pjproject-2.4.tar.bz2) = 4631778
Index: patches/patch-pjmedia_src_pjmedia-codec_l16_c
===================================================================
RCS file: patches/patch-pjmedia_src_pjmedia-codec_l16_c
diff -N patches/patch-pjmedia_src_pjmedia-codec_l16_c
--- patches/patch-pjmedia_src_pjmedia-codec_l16_c 5 Jun 2012 23:15:23
-0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-$OpenBSD: patch-pjmedia_src_pjmedia-codec_l16_c,v 1.1 2012/06/05 23:15:23
fgsch Exp $
---- pjmedia/src/pjmedia-codec/l16.c.orig Tue Jul 19 04:42:28 2011
-+++ pjmedia/src/pjmedia-codec/l16.c Sun Jun 3 04:09:23 2012
-@@ -229,6 +229,7 @@ PJ_DEF(pj_status_t) pjmedia_codec_l16_deinit(void)
- l16_factory.endpt = NULL;
-
- /* Destroy mutex. */
-+ pj_mutex_unlock(l16_factory.mutex);
- pj_mutex_destroy(l16_factory.mutex);
- l16_factory.mutex = NULL;
-
Index: patches/patch-pjmedia_src_pjmedia-codec_speex_codec_c
===================================================================
RCS file:
/cvs/ports/telephony/pjsua/patches/patch-pjmedia_src_pjmedia-codec_speex_codec_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-pjmedia_src_pjmedia-codec_speex_codec_c
--- patches/patch-pjmedia_src_pjmedia-codec_speex_codec_c 5 Jun 2012
23:15:23 -0000 1.1
+++ patches/patch-pjmedia_src_pjmedia-codec_speex_codec_c 2 May 2015
20:50:00 -0000
@@ -1,6 +1,6 @@
-$OpenBSD: patch-pjmedia_src_pjmedia-codec_speex_codec_c,v 1.1 2012/06/05
23:15:23 fgsch Exp $
---- pjmedia/src/pjmedia-codec/speex_codec.c.orig Tue Jul 19 04:42:28 2011
-+++ pjmedia/src/pjmedia-codec/speex_codec.c Sun Jun 3 04:09:23 2012
+$OpenBSD$
+--- pjmedia/src/pjmedia-codec/speex_codec.c.orig Sat May 2 21:16:31 2015
++++ pjmedia/src/pjmedia-codec/speex_codec.c Sat May 2 21:17:03 2015
@@ -379,6 +379,7 @@ PJ_DEF(pj_status_t) pjmedia_codec_speex_deinit(void)
if (!codec_mgr) {
pj_pool_release(spx_factory.pool);
@@ -9,11 +9,3 @@ $OpenBSD: patch-pjmedia_src_pjmedia-code
return PJ_EINVALIDOP;
}
-@@ -387,6 +388,7 @@ PJ_DEF(pj_status_t) pjmedia_codec_speex_deinit(void)
- &spx_factory.base);
-
- /* Destroy mutex. */
-+ pj_mutex_unlock(spx_factory.mutex);
- pj_mutex_destroy(spx_factory.mutex);
-
- /* Destroy pool. */
Index: patches/patch-pjmedia_src_pjmedia_g711_c
===================================================================
RCS file: patches/patch-pjmedia_src_pjmedia_g711_c
diff -N patches/patch-pjmedia_src_pjmedia_g711_c
--- patches/patch-pjmedia_src_pjmedia_g711_c 5 Jun 2012 23:15:23 -0000
1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-$OpenBSD: patch-pjmedia_src_pjmedia_g711_c,v 1.1 2012/06/05 23:15:23 fgsch Exp
$
---- pjmedia/src/pjmedia/g711.c.orig Tue Jul 19 04:42:28 2011
-+++ pjmedia/src/pjmedia/g711.c Sun Jun 3 04:09:23 2012
-@@ -221,6 +221,7 @@ PJ_DEF(pj_status_t) pjmedia_codec_g711_deinit(void)
- g711_factory.endpt = NULL;
-
- /* Destroy mutex. */
-+ pj_mutex_unlock(g711_factory.mutex);
- pj_mutex_destroy(g711_factory.mutex);
- g711_factory.mutex = NULL;
-
Index: patches/patch-pjmedia_src_pjmedia_stream_c
===================================================================
RCS file: patches/patch-pjmedia_src_pjmedia_stream_c
diff -N patches/patch-pjmedia_src_pjmedia_stream_c
--- patches/patch-pjmedia_src_pjmedia_stream_c 11 Jan 2015 17:24:06 -0000
1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
-$OpenBSD: patch-pjmedia_src_pjmedia_stream_c,v 1.4 2015/01/11 17:24:06 dcoppa
Exp $
---- pjmedia/src/pjmedia/stream.c.orig Mon Apr 14 03:14:11 2014
-+++ pjmedia/src/pjmedia/stream.c Thu Jan 8 08:02:08 2015
-@@ -2515,6 +2515,7 @@ PJ_DEF(pj_status_t) pjmedia_stream_destroy( pjmedia_st
- /* Free mutex */
-
- if (stream->jb_mutex) {
-+ pj_mutex_unlock(stream->jb_mutex);
- pj_mutex_destroy(stream->jb_mutex);
- stream->jb_mutex = NULL;
- }
Index: patches/patch-pjsip_src_pjsip_sip_dialog_c
===================================================================
RCS file:
/cvs/ports/telephony/pjsua/patches/patch-pjsip_src_pjsip_sip_dialog_c,v
retrieving revision 1.1
diff -u -p -u -p -r1.1 patch-pjsip_src_pjsip_sip_dialog_c
--- patches/patch-pjsip_src_pjsip_sip_dialog_c 5 Jun 2012 23:15:23 -0000
1.1
+++ patches/patch-pjsip_src_pjsip_sip_dialog_c 2 May 2015 20:50:00 -0000
@@ -1,6 +1,6 @@
-$OpenBSD: patch-pjsip_src_pjsip_sip_dialog_c,v 1.1 2012/06/05 23:15:23 fgsch
Exp $
---- pjsip/src/pjsip/sip_dialog.c.orig Fri Jun 1 03:38:55 2012
-+++ pjsip/src/pjsip/sip_dialog.c Fri Jun 1 03:39:01 2012
+$OpenBSD$
+--- pjsip/src/pjsip/sip_dialog.c.orig Sat May 2 21:18:33 2015
++++ pjsip/src/pjsip/sip_dialog.c Sat May 2 21:18:48 2015
@@ -111,6 +111,7 @@ on_error:
static void destroy_dialog( pjsip_dialog *dlg )
{