1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-16 19:54:04 +02:00

pjsip: update to version 1.14.2

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@32040 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
luka 2012-06-03 23:37:58 +00:00
parent 060f822fc2
commit c906be87a1
5 changed files with 45 additions and 134 deletions

View File

@ -1,5 +1,5 @@
# #
# Copyright (C) 2010-2011 OpenWrt.org # Copyright (C) 2010-2012 OpenWrt.org
# #
# This is free software, licensed under the GNU General Public License v2. # This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information. # See /LICENSE for more information.
@ -8,12 +8,12 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=pjsip PKG_NAME:=pjsip
PKG_VERSION:=1.12 PKG_VERSION:=1.14.2
PKG_RELEASE:=1 PKG_RELEASE:=1
PKG_SOURCE:=pjproject-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=pjproject-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=http://www.pjsip.org/release/$(PKG_VERSION)/ PKG_SOURCE_URL:=http://www.pjsip.org/release/$(PKG_VERSION)/
PKG_MD5SUM:=1db8e5a5dd73b216409b15afa34651a4 PKG_MD5SUM:=05428502384c16e7abd85f047e6e2f6c
PKG_INSTALL:=1 PKG_INSTALL:=1
PKG_BUILD_PARALLEL:=1 PKG_BUILD_PARALLEL:=1
@ -96,9 +96,5 @@ define Build/InstallDev
$(CP) $(PKG_INSTALL_DIR)/usr/pjsip-$(BUILD_VARIANT) $(1)/usr $(CP) $(PKG_INSTALL_DIR)/usr/pjsip-$(BUILD_VARIANT) $(1)/usr
endef endef
define Package/pjsip-$(BUILD_VARIANT)/install
echo "foo"
endef
$(eval $(call BuildPackage,pjsip-oss)) $(eval $(call BuildPackage,pjsip-oss))
$(eval $(call BuildPackage,pjsip-ltq-tapi)) $(eval $(call BuildPackage,pjsip-ltq-tapi))

View File

@ -1,15 +1,3 @@
From 01108f66fd20dcdbb9fde0dd00924ee4e8c28a7c Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 28 Jan 2012 21:41:18 +0100
Subject: [PATCH 1/3] configure fixup
---
pjproject-1.12/aconfigure.ac | 13 +++++++++++--
pjproject-1.12/pjmedia/build/os-auto.mak.in | 9 ++++++++-
2 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/aconfigure.ac b/aconfigure.ac
index 84295b5..e34fd32 100644
--- a/aconfigure.ac --- a/aconfigure.ac
+++ b/aconfigure.ac +++ b/aconfigure.ac
@@ -48,9 +48,9 @@ if test -z "$CROSS_COMPILE"; then @@ -48,9 +48,9 @@ if test -z "$CROSS_COMPILE"; then
@ -24,10 +12,11 @@ index 84295b5..e34fd32 100644
AC_SUBST(LD) AC_SUBST(LD)
if test "$LDOUT" = ""; then LDOUT="-o "; fi if test "$LDOUT" = ""; then LDOUT="-o "; fi
AC_SUBST(LDOUT) AC_SUBST(LDOUT)
@@ -604,6 +604,15 @@ AC_ARG_ENABLE(ext_sound, @@ -616,6 +616,15 @@ AC_ARG_ENABLE(ext_sound,
AC_MSG_RESULT([Checking if external sound is set... yes])
fi] fi]
) )
+
+AC_ARG_ENABLE(ltq_tapi, +AC_ARG_ENABLE(ltq_tapi,
+ AC_HELP_STRING([--enable-ltq-tapi], + AC_HELP_STRING([--enable-ltq-tapi],
+ [PJMEDIA will use ltq tapi backend]), + [PJMEDIA will use ltq tapi backend]),
@ -36,12 +25,9 @@ index 84295b5..e34fd32 100644
+ AC_MSG_RESULT([Checking if external sound is set... yes]) + AC_MSG_RESULT([Checking if external sound is set... yes])
+ fi] + fi]
+ ) + )
+
dnl # Include resampling small filter dnl # Include resampling small filter
AC_SUBST(ac_no_small_filter) AC_SUBST(ac_no_small_filter)
AC_ARG_ENABLE(small-filter,
diff --git a/pjmedia/build/os-auto.mak.in b/pjmedia/build/os-auto.mak.in
index 145f1d5..be38aeb 100644
--- a/pjmedia/build/os-auto.mak.in --- a/pjmedia/build/os-auto.mak.in
+++ b/pjmedia/build/os-auto.mak.in +++ b/pjmedia/build/os-auto.mak.in
@@ -125,4 +125,11 @@ ifeq ($(AC_PJMEDIA_SND),external) @@ -125,4 +125,11 @@ ifeq ($(AC_PJMEDIA_SND),external)
@ -57,6 +43,3 @@ index 145f1d5..be38aeb 100644
+export PJMEDIA_AUDIODEV_OBJS += tapi_dev.o +export PJMEDIA_AUDIODEV_OBJS += tapi_dev.o
+export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_TAPI_DEVICE=1 +export CFLAGS += -DPJMEDIA_AUDIO_DEV_HAS_TAPI_DEVICE=1
+endif +endif
--
1.7.7.1

View File

@ -1,19 +1,6 @@
From 455f6f2234a36aeeb97d3e05e9cbe3afad147341 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Sat, 28 Jan 2012 21:43:49 +0100
Subject: [PATCH 2/3] register tapi
---
.../pjmedia/src/pjmedia-audiodev/audiodev.c | 7 +
.../pjmedia/src/pjmedia-audiodev/tapi_dev.c | 1300 ++++++++++++++++++++
2 files changed, 1307 insertions(+), 0 deletions(-)
create mode 100644 pjproject-1.12/pjmedia/src/pjmedia-audiodev/tapi_dev.c
diff --git a/pjmedia/src/pjmedia-audiodev/audiodev.c b/pjmedia/src/pjmedia-audiodev/audiodev.c
index 3b7e121..82b364c 100644
--- a/pjmedia/src/pjmedia-audiodev/audiodev.c --- a/pjmedia/src/pjmedia-audiodev/audiodev.c
+++ b/pjmedia/src/pjmedia-audiodev/audiodev.c +++ b/pjmedia/src/pjmedia-audiodev/audiodev.c
@@ -98,6 +98,10 @@ pjmedia_aud_dev_factory* pjmedia_symb_mda_factory(pj_pool_factory *pf); @@ -98,6 +98,10 @@ pjmedia_aud_dev_factory* pjmedia_symb_md
pjmedia_aud_dev_factory* pjmedia_null_audio_factory(pj_pool_factory *pf); pjmedia_aud_dev_factory* pjmedia_null_audio_factory(pj_pool_factory *pf);
#endif #endif
@ -24,7 +11,7 @@ index 3b7e121..82b364c 100644
#define MAX_DRIVERS 16 #define MAX_DRIVERS 16
#define MAX_DEVS 64 #define MAX_DEVS 64
@@ -409,6 +413,9 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_init(pj_pool_factory *pf) @@ -409,6 +413,9 @@ PJ_DEF(pj_status_t) pjmedia_aud_subsys_i
#if PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO #if PJMEDIA_AUDIO_DEV_HAS_NULL_AUDIO
aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_null_audio_factory; aud_subsys.drv[aud_subsys.drv_cnt++].create = &pjmedia_null_audio_factory;
#endif #endif
@ -34,12 +21,9 @@ index 3b7e121..82b364c 100644
/* Initialize each factory and build the device ID list */ /* Initialize each factory and build the device ID list */
for (i=0; i<aud_subsys.drv_cnt; ++i) { for (i=0; i<aud_subsys.drv_cnt; ++i) {
diff --git a/pjmedia/src/pjmedia-audiodev/tapi_dev.c b/pjmedia/src/pjmedia-audiodev/tapi_dev.c
new file mode 100644
index 0000000..2c65a0d
--- /dev/null --- /dev/null
+++ b/pjmedia/src/pjmedia-audiodev/tapi_dev.c +++ b/pjmedia/src/pjmedia-audiodev/tapi_dev.c
@@ -0,0 +1,1300 @@ @@ -0,0 +1,1307 @@
+/****************************************************************************** +/******************************************************************************
+ +
+ Copyright (c) 2010 + Copyright (c) 2010
@ -875,6 +859,13 @@ index 0000000..2c65a0d
+ if(tapi_digit_callback) + if(tapi_digit_callback)
+ tapi_digit_callback(i, tapiEvent.data.dtmf.ascii); + tapi_digit_callback(i, tapiEvent.data.dtmf.ascii);
+ break; + break;
+ case IFX_TAPI_EVENT_PULSE_DIGIT:
+ if(tapi_digit_callback)
+ if(tapiEvent.data.pulse.digit == 0xB)
+ tapi_digit_callback(i, '0');
+ else
+ tapi_digit_callback(i, '0' + tapiEvent.data.pulse.digit);
+ break;
+ case IFX_TAPI_EVENT_COD_DEC_CHG: + case IFX_TAPI_EVENT_COD_DEC_CHG:
+ case IFX_TAPI_EVENT_TONE_GEN_END: + case IFX_TAPI_EVENT_TONE_GEN_END:
+ case IFX_TAPI_EVENT_CID_TX_SEQ_END: + case IFX_TAPI_EVENT_CID_TX_SEQ_END:
@ -1340,6 +1331,3 @@ index 0000000..2c65a0d
+} +}
+ +
+#endif /* PJMEDIA_AUDIO_DEV_HAS_TAPI_DEVICE */ +#endif /* PJMEDIA_AUDIO_DEV_HAS_TAPI_DEVICE */
--
1.7.7.1

View File

@ -1,19 +1,6 @@
From 1e0d5dbf8b7714dfd490add0e2b507fd513414f3 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Fri, 3 Feb 2012 21:45:08 +0100
Subject: [PATCH 3/3] adds PJ_DEF(pj_status_t) pjsua_add_snd_port(int id)
---
pjproject-1.12/pjsip/include/pjsua-lib/pjsua.h | 2 +
.../pjsip/include/pjsua-lib/pjsua_internal.h | 4 +-
pjproject-1.12/pjsip/src/pjsua-lib/pjsua_media.c | 69 ++++++++++++++------
3 files changed, 54 insertions(+), 21 deletions(-)
diff --git a/pjsip/include/pjsua-lib/pjsua.h b/pjsip/include/pjsua-lib/pjsua.h
index 85dbbbb..ad3e020 100644
--- a/pjsip/include/pjsua-lib/pjsua.h --- a/pjsip/include/pjsua-lib/pjsua.h
+++ b/pjsip/include/pjsua-lib/pjsua.h +++ b/pjsip/include/pjsua-lib/pjsua.h
@@ -1543,6 +1543,8 @@ PJ_DECL(pjmedia_endpt*) pjsua_get_pjmedia_endpt(void); @@ -1543,6 +1543,8 @@ PJ_DECL(pjmedia_endpt*) pjsua_get_pjmedi
PJ_DECL(pj_pool_factory*) pjsua_get_pool_factory(void); PJ_DECL(pj_pool_factory*) pjsua_get_pool_factory(void);
@ -22,8 +9,6 @@ index 85dbbbb..ad3e020 100644
/***************************************************************************** /*****************************************************************************
* Utilities. * Utilities.
diff --git a/pjsip/include/pjsua-lib/pjsua_internal.h b/pjsip/include/pjsua-lib/pjsua_internal.h
index 6c27826..4ba91ed 100644
--- a/pjsip/include/pjsua-lib/pjsua_internal.h --- a/pjsip/include/pjsua-lib/pjsua_internal.h
+++ b/pjsip/include/pjsua-lib/pjsua_internal.h +++ b/pjsip/include/pjsua-lib/pjsua_internal.h
@@ -261,6 +261,8 @@ typedef struct pjsua_stun_resolve @@ -261,6 +261,8 @@ typedef struct pjsua_stun_resolve
@ -44,8 +29,6 @@ index 6c27826..4ba91ed 100644
pj_timer_entry snd_idle_timer;/**< Sound device idle timer. */ pj_timer_entry snd_idle_timer;/**< Sound device idle timer. */
pjmedia_master_port *null_snd; /**< Master port for null sound. */ pjmedia_master_port *null_snd; /**< Master port for null sound. */
pjmedia_port *null_port; /**< Null port. */ pjmedia_port *null_port; /**< Null port. */
diff --git a/pjsip/src/pjsua-lib/pjsua_media.c b/pjsip/src/pjsua-lib/pjsua_media.c
index 7d53cad..8a882f3 100644
--- a/pjsip/src/pjsua-lib/pjsua_media.c --- a/pjsip/src/pjsua-lib/pjsua_media.c
+++ b/pjsip/src/pjsua-lib/pjsua_media.c +++ b/pjsip/src/pjsua-lib/pjsua_media.c
@@ -588,7 +588,7 @@ static void check_snd_dev_idle() @@ -588,7 +588,7 @@ static void check_snd_dev_idle()
@ -57,7 +40,7 @@ index 7d53cad..8a882f3 100644
pjsua_var.snd_idle_timer.id == PJ_FALSE && pjsua_var.snd_idle_timer.id == PJ_FALSE &&
pjmedia_conf_get_connect_count(pjsua_var.mconf) == 0 && pjmedia_conf_get_connect_count(pjsua_var.mconf) == 0 &&
call_cnt == 0 && call_cnt == 0 &&
@@ -2009,7 +2009,7 @@ PJ_DEF(pj_status_t) pjsua_conf_connect( pjsua_conf_port_id source, @@ -2008,7 +2008,7 @@ PJ_DEF(pj_status_t) pjsua_conf_connect(
pj_assert(status == PJ_SUCCESS); pj_assert(status == PJ_SUCCESS);
/* Check if sound device is instantiated. */ /* Check if sound device is instantiated. */
@ -66,7 +49,7 @@ index 7d53cad..8a882f3 100644
!pjsua_var.no_snd); !pjsua_var.no_snd);
/* Check if sound device need to reopen because it needs to modify /* Check if sound device need to reopen because it needs to modify
@@ -2067,7 +2067,7 @@ PJ_DEF(pj_status_t) pjsua_conf_connect( pjsua_conf_port_id source, @@ -2072,7 +2072,7 @@ PJ_DEF(pj_status_t) pjsua_conf_connect(
/* The bridge version */ /* The bridge version */
/* Create sound port if none is instantiated */ /* Create sound port if none is instantiated */
@ -75,7 +58,7 @@ index 7d53cad..8a882f3 100644
!pjsua_var.no_snd) !pjsua_var.no_snd)
{ {
pj_status_t status; pj_status_t status;
@@ -2679,9 +2679,9 @@ static pj_status_t update_initial_aud_param() @@ -2686,9 +2686,9 @@ static pj_status_t update_initial_aud_pa
pjmedia_aud_param param; pjmedia_aud_param param;
pj_status_t status; pj_status_t status;
@ -87,7 +70,7 @@ index 7d53cad..8a882f3 100644
status = pjmedia_aud_stream_get_param(strm, &param); status = pjmedia_aud_stream_get_param(strm, &param);
if (status != PJ_SUCCESS) { if (status != PJ_SUCCESS) {
@@ -2747,7 +2747,7 @@ static pj_status_t open_snd_dev(pjmedia_snd_port_param *param) @@ -2754,7 +2754,7 @@ static pj_status_t open_snd_dev(pjmedia_
1000 / param->base.clock_rate)); 1000 / param->base.clock_rate));
status = pjmedia_snd_port_create2( pjsua_var.snd_pool, status = pjmedia_snd_port_create2( pjsua_var.snd_pool,
@ -96,7 +79,7 @@ index 7d53cad..8a882f3 100644
if (status != PJ_SUCCESS) if (status != PJ_SUCCESS)
return status; return status;
@@ -2805,13 +2805,13 @@ static pj_status_t open_snd_dev(pjmedia_snd_port_param *param) @@ -2812,13 +2812,13 @@ static pj_status_t open_snd_dev(pjmedia_
} }
/* Connect sound port to the bridge */ /* Connect sound port to the bridge */
@ -113,7 +96,7 @@ index 7d53cad..8a882f3 100644
return status; return status;
} }
@@ -2826,7 +2826,7 @@ static pj_status_t open_snd_dev(pjmedia_snd_port_param *param) @@ -2833,7 +2833,7 @@ static pj_status_t open_snd_dev(pjmedia_
pjmedia_aud_param si; pjmedia_aud_param si;
pj_str_t tmp; pj_str_t tmp;
@ -122,7 +105,7 @@ index 7d53cad..8a882f3 100644
status = pjmedia_aud_stream_get_param(strm, &si); status = pjmedia_aud_stream_get_param(strm, &si);
if (status == PJ_SUCCESS) if (status == PJ_SUCCESS)
status = pjmedia_aud_dev_get_info(si.rec_id, &rec_info); status = pjmedia_aud_dev_get_info(si.rec_id, &rec_info);
@@ -2869,12 +2869,12 @@ static pj_status_t open_snd_dev(pjmedia_snd_port_param *param) @@ -2876,12 +2876,12 @@ static pj_status_t open_snd_dev(pjmedia_
static void close_snd_dev(void) static void close_snd_dev(void)
{ {
/* Close sound device */ /* Close sound device */
@ -137,7 +120,7 @@ index 7d53cad..8a882f3 100644
pjmedia_aud_stream_get_param(strm, &param); pjmedia_aud_stream_get_param(strm, &param);
if (pjmedia_aud_dev_get_info(param.rec_id, &cap_info) != PJ_SUCCESS) if (pjmedia_aud_dev_get_info(param.rec_id, &cap_info) != PJ_SUCCESS)
@@ -2886,9 +2886,9 @@ static void close_snd_dev(void) @@ -2893,9 +2893,9 @@ static void close_snd_dev(void)
"%s sound capture device", "%s sound capture device",
play_info.name, cap_info.name)); play_info.name, cap_info.name));
@ -150,7 +133,7 @@ index 7d53cad..8a882f3 100644
} }
/* Close null sound device */ /* Close null sound device */
@@ -2968,6 +2968,35 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( int capture_dev, @@ -2984,6 +2984,35 @@ PJ_DEF(pj_status_t) pjsua_set_snd_dev( i
return PJ_SUCCESS; return PJ_SUCCESS;
} }
@ -186,18 +169,16 @@ index 7d53cad..8a882f3 100644
/* /*
* Get currently active sound devices. If sound devices has not been created * Get currently active sound devices. If sound devices has not been created
@@ -3054,8 +3083,8 @@ PJ_DEF(pj_status_t) pjsua_set_ec(unsigned tail_ms, unsigned options) @@ -3088,7 +3117,7 @@ PJ_DEF(pj_status_t) pjsua_set_ec(unsigne
{ pjsua_var.media_cfg.ec_options = options;
pjsua_var.media_cfg.ec_tail_len = tail_ms;
- if (pjsua_var.snd_port) if (pjsua_var.snd_port)
- return pjmedia_snd_port_set_ec( pjsua_var.snd_port, pjsua_var.pool, - status = pjmedia_snd_port_set_ec(pjsua_var.snd_port, pjsua_var.pool,
+ if (pjsua_var.snd_port[0]) + status = pjmedia_snd_port_set_ec(pjsua_var.snd_port[0], pjsua_var.pool,
+ return pjmedia_snd_port_set_ec( pjsua_var.snd_port[0], pjsua_var.pool,
tail_ms, options); tail_ms, options);
return PJ_SUCCESS; PJSUA_UNLOCK();
@@ -3077,7 +3106,7 @@ PJ_DEF(pj_status_t) pjsua_get_ec_tail(unsigned *p_tail_ms) @@ -3111,7 +3140,7 @@ PJ_DEF(pj_status_t) pjsua_get_ec_tail(un
*/ */
PJ_DEF(pj_bool_t) pjsua_snd_is_active(void) PJ_DEF(pj_bool_t) pjsua_snd_is_active(void)
{ {
@ -206,7 +187,7 @@ index 7d53cad..8a882f3 100644
} }
@@ -3099,7 +3128,7 @@ PJ_DEF(pj_status_t) pjsua_snd_set_setting( pjmedia_aud_dev_cap cap, @@ -3135,7 +3164,7 @@ PJ_DEF(pj_status_t) pjsua_snd_set_settin
if (pjsua_snd_is_active()) { if (pjsua_snd_is_active()) {
pjmedia_aud_stream *strm; pjmedia_aud_stream *strm;
@ -215,15 +196,12 @@ index 7d53cad..8a882f3 100644
status = pjmedia_aud_stream_set_cap(strm, cap, pval); status = pjmedia_aud_stream_set_cap(strm, cap, pval);
} else { } else {
status = PJ_SUCCESS; status = PJ_SUCCESS;
@@ -3137,7 +3166,7 @@ PJ_DEF(pj_status_t) pjsua_snd_get_setting( pjmedia_aud_dev_cap cap, @@ -3181,7 +3210,7 @@ PJ_DEF(pj_status_t) pjsua_snd_get_settin
/* Sound is active, retrieve from device directly */ /* Sound is active, retrieve from device directly */
pjmedia_aud_stream *strm; pjmedia_aud_stream *strm;
- strm = pjmedia_snd_port_get_snd_stream(pjsua_var.snd_port); - strm = pjmedia_snd_port_get_snd_stream(pjsua_var.snd_port);
+ strm = pjmedia_snd_port_get_snd_stream(pjsua_var.snd_port[0]); + strm = pjmedia_snd_port_get_snd_stream(pjsua_var.snd_port[0]);
return pjmedia_aud_stream_get_cap(strm, cap, pval); status = pjmedia_aud_stream_get_cap(strm, cap, pval);
} else { } else {
/* Otherwise retrieve from internal param */ /* Otherwise retrieve from internal param */
--
1.7.7.1

View File

@ -1,34 +0,0 @@
From 347ac23bded2fecf8f4f6daa20da4083206ae977 Mon Sep 17 00:00:00 2001
From: John Crispin <blogic@openwrt.org>
Date: Mon, 19 Mar 2012 14:55:47 +0100
Subject: [PATCH 4/4] Pulse dialing support into pjsip.
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Signed-off-by: Andrej Vlašić <andrej.vlasic0@gmail.com>
---
.../pjmedia/src/pjmedia-audiodev/tapi_dev.c | 7 +++++++
1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/pjmedia/src/pjmedia-audiodev/tapi_dev.c b/pjmedia/src/pjmedia-audiodev/tapi_dev.c
index 2c65a0d..f650a3e 100644
--- a/pjmedia/src/pjmedia-audiodev/tapi_dev.c
+++ b/pjmedia/src/pjmedia-audiodev/tapi_dev.c
@@ -833,6 +833,13 @@ tapi_dev_event_handler(tapi_aud_stream_t *stream)
if(tapi_digit_callback)
tapi_digit_callback(i, tapiEvent.data.dtmf.ascii);
break;
+ case IFX_TAPI_EVENT_PULSE_DIGIT:
+ if(tapi_digit_callback)
+ if(tapiEvent.data.pulse.digit == 0xB)
+ tapi_digit_callback(i, '0');
+ else
+ tapi_digit_callback(i, '0' + tapiEvent.data.pulse.digit);
+ break;
case IFX_TAPI_EVENT_COD_DEC_CHG:
case IFX_TAPI_EVENT_TONE_GEN_END:
case IFX_TAPI_EVENT_CID_TX_SEQ_END:
--
1.7.7.1