Compare commits
90 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
a678a9e59d | ||
|
8d609883d3 | ||
|
afe749ae52 | ||
|
2962185299 | ||
|
47a07ad55e | ||
|
2a10e6b772 | ||
|
06d7031ec6 | ||
|
09d156bb99 | ||
|
2958783fdb | ||
|
c8c4c17be4 | ||
|
c5b3bd33f7 | ||
|
71c6969951 | ||
|
3406e4357f | ||
|
b173988182 | ||
|
4d55518c94 | ||
|
3dcb4f3719 | ||
|
f6686c9818 | ||
|
a0bf2827a1 | ||
|
1675efdd2e | ||
|
3b065b58c8 | ||
|
b30a68120b | ||
|
0a7ec941d3 | ||
|
78e7d08f90 | ||
|
c696ae762e | ||
|
833a8ef489 | ||
|
c74b6adda9 | ||
|
a0f6e5d597 | ||
|
b5e1683ac3 | ||
|
d629ee3180 | ||
|
75ed5ca29f | ||
|
7e7798560f | ||
|
79614fa03e | ||
|
e1f44ea44d | ||
|
1827aef767 | ||
|
8b55c2de56 | ||
|
1ce559c7a2 | ||
|
9c6ee76d22 | ||
|
16195623df | ||
|
87f15469d5 | ||
|
613a020647 | ||
|
5488c8fd90 | ||
|
7ea548c0bb | ||
|
4cca8026e4 | ||
|
2b991479fc | ||
|
aaae5deb6f | ||
|
ac38eac736 | ||
|
99aa4e4543 | ||
|
ca9d4f4970 | ||
|
1c1c09d41c | ||
|
bd505105c7 | ||
|
718487ede0 | ||
|
a7bfbe3f1d | ||
|
901a4fbd3e | ||
|
42db7b953f | ||
|
ca610796b6 | ||
|
ad570e4e99 | ||
|
65be87e79a | ||
|
31c5735417 | ||
|
bc67da50b5 | ||
|
164f6a2b41 | ||
|
f624db6ad0 | ||
|
e8cbb3ea91 | ||
|
f2af6203f2 | ||
|
31a235c5d9 | ||
|
147a09c9d4 | ||
|
c1cf9f118b | ||
|
be371105d0 | ||
|
233d0d162f | ||
|
2e1ed2e567 | ||
|
ad15c2a0ce | ||
|
b6131d2690 | ||
|
2b822611ff | ||
|
169ed51081 | ||
|
95a7e38771 | ||
|
36a328b3d6 | ||
|
d39befdb8e | ||
|
b8c4f623fb | ||
|
2cd04a6344 | ||
|
6edc43a8b2 | ||
|
cc71892142 | ||
|
24028d944d | ||
|
b6b616362c | ||
|
1058ccfcde | ||
|
4663f8fea1 | ||
|
3d9104fe71 | ||
|
278dcded0c | ||
|
cc4b3036ce | ||
|
d093241ebf | ||
|
533ad7cf24 | ||
|
cd12836d49 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -1 +1,6 @@
|
||||
linphone-1.7.1.tar.gz
|
||||
linphone-3.2.1.tar.gz
|
||||
/linphone-3.4.3.tar.gz
|
||||
/linphone-3.5.0.tar.gz
|
||||
/linphone-3.5.1.tar.gz
|
||||
/linphone-3.5.2.tar.gz
|
||||
/linphone-3.6.1.tar.gz
|
||||
|
@ -1,199 +0,0 @@
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 90a6343..872ca5e 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -9,7 +9,13 @@ else
|
||||
ORTP_DIR = oRTP
|
||||
endif
|
||||
|
||||
-SUBDIRS = m4 pixmaps po ipkg $(ORTP_DIR) gsmlib mediastreamer2\
|
||||
+if EXTERNAL_GSM
|
||||
+GSM_DIR =
|
||||
+else
|
||||
+GSM_DIR = gsmlib
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS = m4 pixmaps po ipkg $(ORTP_DIR) $(GSM_DIR) mediastreamer2\
|
||||
media_api exosip coreapi console gtk share
|
||||
|
||||
|
||||
diff --git a/configure.in b/configure.in
|
||||
index 5c55410..81e917c 100644
|
||||
--- a/configure.in
|
||||
+++ b/configure.in
|
||||
@@ -320,6 +320,30 @@ AC_SUBST(ORTP_LIBS)
|
||||
|
||||
AM_CONDITIONAL(EXTERNAL_ORTP, [test "$external_ortp" = 'true'])
|
||||
|
||||
+AC_ARG_WITH(gsm,
|
||||
+ AS_HELP_STRING([--with-gsm],[Sets the installation prefix of GSM codec library (default=/usr)]),
|
||||
+ [ gsmdir=${withval}],[ gsmdir=/usr ])
|
||||
+
|
||||
+AC_ARG_ENABLE(external-gsm,
|
||||
+ AS_HELP_STRING([--enable-external-gsm],[Use external GSM library (default=false)]),
|
||||
+ [case "${enableval}" in
|
||||
+ yes) external_gsm=true ;;
|
||||
+ no) external_gsm=false ;;
|
||||
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-external-gsm) ;;
|
||||
+ esac],[external_gsm=false])
|
||||
+
|
||||
+if test "$external_gsm" = 'true'; then
|
||||
+ LP_CHECK_GSM
|
||||
+else
|
||||
+ AC_CONFIG_SUBDIRS(gsmlib)
|
||||
+ GSM_CFLAGS="-I\$(top_srcdir)/gsmlib"
|
||||
+ GSM_LIBS="\$(top_builddir)/gsmlib/libgsm.la"
|
||||
+ AC_SUBST(GSM_CFLAGS)
|
||||
+ AC_SUBST(GSM_LIBS)
|
||||
+fi
|
||||
+
|
||||
+AM_CONDITIONAL(EXTERNAL_GSM, [test "$external_gsm" = 'true'])
|
||||
+
|
||||
dnl Packaging: Pick oRTP version from ${top_srcdir}/oRTP/configure.ac
|
||||
dnl Feel free to propose an alternative & cleaner version...
|
||||
top_srcdir=`dirname $0`
|
||||
diff --git a/m4/gsm.m4 b/m4/gsm.m4
|
||||
new file mode 100644
|
||||
index 0000000..7471c75
|
||||
--- /dev/null
|
||||
+++ b/m4/gsm.m4
|
||||
@@ -0,0 +1,29 @@
|
||||
+AC_DEFUN([LP_CHECK_GSM],[
|
||||
+
|
||||
+gsm_pkgconfig=true
|
||||
+
|
||||
+PKG_CHECK_MODULES([GSM], [gsm], , [gsm_pkgconfig=false])
|
||||
+
|
||||
+if test $gsm_pkgconfig = false; then
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ CFLAGS_save=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS -I${gsmdir}/include"
|
||||
+ fi
|
||||
+ AC_CHECK_HEADER([gsm/gsm.h], , AC_MSG_ERROR([Could not find GSM headers !]))
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ GSM_CFLAGS="-I{gsmdir}/include"
|
||||
+ CFLAGS=$CFLAGS_save
|
||||
+ LIBS_save=$LIBS
|
||||
+ LIBS="$LIBS -L${gsmdir}/lib"
|
||||
+ fi
|
||||
+ AC_CHECK_LIB([gsm], [gsm_create], , AC_MSG_ERROR([Could not find GSM library]))
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ GSM_LIBS="-L${gsmdir}/lib -lgsm"
|
||||
+ LIBS=$LIBS_save
|
||||
+ else
|
||||
+ GSM_LIBS="-lgsm"
|
||||
+ fi
|
||||
+fi
|
||||
+AC_SUBST([GSM_LIBS])
|
||||
+AC_SUBST([GSM_CFLAGS])
|
||||
+])
|
||||
diff --git a/mediastreamer2/autogen.sh b/mediastreamer2/autogen.sh
|
||||
index 64516e8..fb71734 100755
|
||||
--- a/mediastreamer2/autogen.sh
|
||||
+++ b/mediastreamer2/autogen.sh
|
||||
@@ -14,6 +14,6 @@ echo "Generating build scripts in mediastreamer..."
|
||||
set -x
|
||||
libtoolize --copy --force
|
||||
autoheader
|
||||
-$ACLOCAL
|
||||
+$ACLOCAL -I m4
|
||||
$AUTOMAKE --force-missing --add-missing --copy
|
||||
autoconf
|
||||
diff --git a/mediastreamer2/configure.ac b/mediastreamer2/configure.ac
|
||||
index 89d66fa..9621a5e 100644
|
||||
--- a/mediastreamer2/configure.ac
|
||||
+++ b/mediastreamer2/configure.ac
|
||||
@@ -263,31 +263,40 @@ AC_SUBST(SPEEX_LIBS)
|
||||
AM_CONDITIONAL(BUILD_SPEEX, test x$build_speex = xyes )
|
||||
|
||||
dnl check for gsm
|
||||
-AC_ARG_WITH( gsm,
|
||||
- [ --with-gsm Sets the installation prefix of gsm codec library [default=/usr] ],
|
||||
- [ gsmdir=${withval}],[ gsmdir=/usr ])
|
||||
-if test -e ../gsmlib/gsm.h ; then
|
||||
- echo "building from linphone source tree, using ../gsmlib/gsm.h"
|
||||
- GSM_CFLAGS="-I\$(top_srcdir)/../gsmlib"
|
||||
- GSM_LIBS="\$(top_builddir)/../gsmlib/libgsm.la"
|
||||
- build_gsm=yes
|
||||
- AC_SUBST(GSM_CFLAGS)
|
||||
- AC_SUBST(GSM_LIBS)
|
||||
-else
|
||||
- MS_CHECK_DEP([gsm codec],[GSM],[${gsmdir}/include],
|
||||
- [${gsmdir}/lib],[gsm.h],[gsm],[gsm_create])
|
||||
-
|
||||
- if test "$GSM_found" = "yes" ; then
|
||||
- build_gsm=yes
|
||||
+AC_ARG_WITH(gsm,
|
||||
+ AS_HELP_STRING([--with-gsm],[Sets the installation prefix of gsm codec library (default=/usr)]),
|
||||
+ [ gsmdir=${withval}],[ gsmdir=/usr ])
|
||||
+AC_ARG_ENABLE(external-gsm,
|
||||
+ AS_HELP_STRING([--enable-external-gsm],[Use external GSM library]),
|
||||
+ [case "${enableval}" in
|
||||
+ yes) external_gsm=true ;;
|
||||
+ no) external_gsm=false ;;
|
||||
+ *) AC_MSG_ERROR(bad value ${enableval} for --enable-external-gsm) ;;
|
||||
+ esac],[external_gsm=false])
|
||||
+
|
||||
+if test "$external_gsm" = 'false'; then
|
||||
+ if test -e $srcdir/../gsmlib/gsm.h ; then
|
||||
+ echo "building from linphone source tree, using ../gsmlib/gsm.h"
|
||||
+ GSM_CFLAGS="-I\$(top_srcdir)/../gsmlib"
|
||||
+ GSM_LIBS="\$(top_builddir)/../gsmlib/libgsm.la"
|
||||
+ AC_SUBST(GSM_CFLAGS)
|
||||
+ AC_SUBST(GSM_LIBS)
|
||||
+ build_gsm=yes
|
||||
+ else
|
||||
+ external_gsm=true
|
||||
fi
|
||||
fi
|
||||
+if test "$external_gsm" = 'true'; then
|
||||
+ MS_CHECK_GSM
|
||||
+ build_gsm=yes
|
||||
+fi
|
||||
+
|
||||
+AM_CONDITIONAL(BUILD_GSM, test x$build_gsm = xyes )
|
||||
|
||||
build_resample=false
|
||||
AC_CHECK_LIB(resample,resample_open,[LIBS="$LIBS -lresample"; build_resample=yes])
|
||||
AM_CONDITIONAL(BUILD_RESAMPLE, test x$build_resample = xyes )
|
||||
|
||||
-AM_CONDITIONAL(BUILD_GSM, test x$build_gsm = xyes )
|
||||
-
|
||||
MS_CHECK_VIDEO
|
||||
AM_CONDITIONAL(BUILD_VIDEO, test "$video" = "true")
|
||||
AM_CONDITIONAL(BUILD_THEORA, test "$have_theora" = "yes")
|
||||
diff --git a/mediastreamer2/m4/gsm.m4 b/mediastreamer2/m4/gsm.m4
|
||||
new file mode 100644
|
||||
index 0000000..73d0568
|
||||
--- /dev/null
|
||||
+++ b/mediastreamer2/m4/gsm.m4
|
||||
@@ -0,0 +1,29 @@
|
||||
+AC_DEFUN([MS_CHECK_GSM],[
|
||||
+
|
||||
+gsm_pkgconfig=true
|
||||
+
|
||||
+PKG_CHECK_MODULES([GSM], [gsm], , [gsm_pkgconfig=false])
|
||||
+
|
||||
+if test $gsm_pkgconfig = false; then
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ CFLAGS_save=$CFLAGS
|
||||
+ CFLAGS="$CFLAGS -I${gsmdir}/include"
|
||||
+ fi
|
||||
+ AC_CHECK_HEADER([gsm/gsm.h], , AC_MSG_ERROR([Could not find GSM headers !]))
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ GSM_CFLAGS="-I{gsmdir}/include"
|
||||
+ CFLAGS=$CFLAGS_save
|
||||
+ LIBS_save=$LIBS
|
||||
+ LIBS="$LIBS -L${gsmdir}/lib"
|
||||
+ fi
|
||||
+ AC_CHECK_LIB([gsm], [gsm_create], , AC_MSG_ERROR([Could not find GSM library]))
|
||||
+ if ${gsmdir} != "/usr"; then
|
||||
+ GSM_LIBS="-L${gsmdir}/lib -lgsm"
|
||||
+ LIBS=$LIBS_save
|
||||
+ else
|
||||
+ GSM_LIBS="-lgsm"
|
||||
+ fi
|
||||
+fi
|
||||
+AC_SUBST([GSM_LIBS])
|
||||
+AC_SUBST([GSM_CFLAGS])
|
||||
+])
|
@ -1,27 +0,0 @@
|
||||
From 6ebb0b61d9634dd24db0148b05f383977474aa44 Mon Sep 17 00:00:00 2001
|
||||
From: Jeffrey C. Ollie <jeff@ocjtech.us>
|
||||
Date: Mon, 23 Apr 2007 10:22:34 -0500
|
||||
Subject: [PATCH] Use OSIP_CFLAGS to compile gtk front end.
|
||||
|
||||
|
||||
Signed-off-by: Jeffrey C. Ollie <jeff@ocjtech.us>
|
||||
---
|
||||
gtk/Makefile.am | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
|
||||
index b98149d..cb05421 100644
|
||||
--- a/gtk/Makefile.am
|
||||
+++ b/gtk/Makefile.am
|
||||
@@ -20,7 +20,7 @@ INCLUDES = \
|
||||
$(ORTP_CFLAGS) \
|
||||
-I$(top_srcdir)/coreapi \
|
||||
-I$(top_srcdir)/mediastreamer2/include \
|
||||
- -I$(osip_prefix)/include
|
||||
+ $(OSIP_CFLAGS)
|
||||
|
||||
|
||||
|
||||
--
|
||||
1.5.1.2
|
||||
|
@ -1,28 +0,0 @@
|
||||
diff --git a/mediastreamer2/src/Makefile.am b/mediastreamer2/src/Makefile.am
|
||||
index 4940246..3e1df60 100644
|
||||
--- a/mediastreamer2/src/Makefile.am
|
||||
+++ b/mediastreamer2/src/Makefile.am
|
||||
@@ -105,7 +105,7 @@ AM_CFLAGS= -I$(top_srcdir) \
|
||||
$(GSM_CFLAGS) \
|
||||
$(STRICT_OPTIONS)
|
||||
|
||||
-imgdir=$(datadir)/images/
|
||||
+imgdir=$(datadir)/images/linphone/
|
||||
|
||||
img_DATA=nowebcamCIF.jpg
|
||||
|
||||
diff --git a/mediastreamer2/src/nowebcam.c b/mediastreamer2/src/nowebcam.c
|
||||
index 6e06ee6..917a927 100644
|
||||
--- a/mediastreamer2/src/nowebcam.c
|
||||
+++ b/mediastreamer2/src/nowebcam.c
|
||||
@@ -81,8 +81,8 @@ mblk_t *ms_load_jpeg_as_yuv(const char *jpgpath, MSVideoSize *reqsize){
|
||||
mblk_t *ms_load_nowebcam(MSVideoSize *reqsize, int idx){
|
||||
char tmp[256];
|
||||
if (idx<0)
|
||||
- snprintf(tmp, sizeof(tmp), "%s/images/%s.jpg", PACKAGE_DATA_DIR, NOWEBCAM_JPG);
|
||||
+ snprintf(tmp, sizeof(tmp), "%s/images/linphone/%s.jpg", PACKAGE_DATA_DIR, NOWEBCAM_JPG);
|
||||
else
|
||||
- snprintf(tmp, sizeof(tmp), "%s/images/%s%i.jpg", PACKAGE_DATA_DIR, NOWEBCAM_JPG, idx);
|
||||
+ snprintf(tmp, sizeof(tmp), "%s/images/linphone/%s%i.jpg", PACKAGE_DATA_DIR, NOWEBCAM_JPG, idx);
|
||||
return ms_load_jpeg_as_yuv(tmp,reqsize);
|
||||
}
|
@ -1,23 +0,0 @@
|
||||
diff --git a/m4/ortp.m4 b/m4/ortp.m4
|
||||
new file mode 100644
|
||||
index 0000000..f0c0216
|
||||
--- /dev/null
|
||||
+++ b/m4/ortp.m4
|
||||
@@ -0,0 +1,17 @@
|
||||
+AC_DEFUN([LP_CHECK_ORTP],[
|
||||
+
|
||||
+ortp_pkgconfig=true
|
||||
+
|
||||
+PKG_CHECK_MODULES([ORTP], [ortp], , [ortp_pkgconfig=false])
|
||||
+
|
||||
+if test $ortp_pkgconfig = false; then
|
||||
+ AC_CHECK_HEADER([ortp/ortp.h], ,AC_MSG_ERROR([Could not find oRTP headers !]))
|
||||
+ LIBS_save=$LIBS
|
||||
+ AC_CHECK_LIB([ortp], [ortp_init], , AC_MSG_ERROR([Could not find oRTP library]))
|
||||
+ ORTP_LIBS='-lortp'
|
||||
+ LIBS=$LIBS_save
|
||||
+fi
|
||||
+AC_SUBST([ORTP_LIBS])
|
||||
+AC_SUBST([ORTP_CFLAGS])
|
||||
+
|
||||
+])
|
81
linphone-3.6.1-arm.patch
Normal file
81
linphone-3.6.1-arm.patch
Normal file
@ -0,0 +1,81 @@
|
||||
--- linphone-3.6.1/mediastreamer2/src/voip/msvideo_neon.c 2013-01-14 17:13:45.990192572 +0200
|
||||
+++ linphone-3.6.1/mediastreamer2/src/voip/msvideo_neon.c 2013-07-27 12:58:00.366301016 +0300
|
||||
@@ -379,8 +379,8 @@
|
||||
#endif
|
||||
}
|
||||
|
||||
-static void reverse_and_down_scale_32bytes_neon(unsigned char* src, unsigned char* dest) {
|
||||
#ifdef __ARM_NEON__
|
||||
+static void reverse_and_down_scale_32bytes_neon(unsigned char* src, unsigned char* dest) {
|
||||
__asm (/*load 16x1 pixel
|
||||
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]*/
|
||||
"vld2.8 {q0,q1},[%0] \n\t"
|
||||
@@ -395,11 +395,11 @@
|
||||
: "r"(src),"r"(dest)/*in*/
|
||||
: "r4","q0","q1","memory" /*modified*/
|
||||
);
|
||||
-#endif
|
||||
}
|
||||
+#endif
|
||||
|
||||
-static void reverse_16bytes_neon(unsigned char* src, unsigned char* dest) {
|
||||
#ifdef __ARM_NEON__
|
||||
+static void reverse_16bytes_neon(unsigned char* src, unsigned char* dest) {
|
||||
__asm (/*load 16x1 pixel
|
||||
[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]*/
|
||||
"vld1.8 {d0,d1},[%0] \n\t"
|
||||
@@ -414,11 +414,11 @@
|
||||
: "r"(src),"r"(dest)/*in*/
|
||||
: "r4","d0","d1","memory" /*modified*/
|
||||
);
|
||||
-#endif
|
||||
}
|
||||
+#endif
|
||||
|
||||
-static void deinterlace_and_reverse_2x8bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
|
||||
#ifdef __ARM_NEON__
|
||||
+static void deinterlace_and_reverse_2x8bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
|
||||
__asm (/*load 16x1 values
|
||||
[ U0, V0, U1, V1, U2, V2, U3, V3, U4, V4, U5, V5, U6, V6, U7, V7]
|
||||
[ U0, U1, U2, U3, U4, U5, U6, U7, V0, V1, V2, V3, V4, V5, V6, V7]*/
|
||||
@@ -434,10 +434,10 @@
|
||||
: "r"(src),"r"(udest),"r"(vdest)/*in*/
|
||||
: "r4","d0","d1","memory" /*modified*/
|
||||
);
|
||||
-#endif
|
||||
}
|
||||
-static void deinterlace_down_scale_and_reverse_2x16bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
|
||||
+#endif
|
||||
#ifdef __ARM_NEON__
|
||||
+static void deinterlace_down_scale_and_reverse_2x16bytes_neon(unsigned char* src, unsigned char* udest, unsigned char* vdest) {
|
||||
__asm (/*load 32x1 values*/
|
||||
|
||||
"vld4.8 {d0,d1,d2,d3},[%0] \n\t" /*only keep half*/
|
||||
@@ -453,8 +453,8 @@
|
||||
: "r"(src),"r"(udest),"r"(vdest)/*in*/
|
||||
: "r4","q0","q1","memory" /*modified*/
|
||||
);
|
||||
-#endif
|
||||
}
|
||||
+#endif
|
||||
|
||||
void deinterlace_down_scale_neon(uint8_t* ysrc, uint8_t* cbcrsrc, uint8_t* ydst, uint8_t* u_dst, uint8_t* v_dst, int w, int h, int y_byte_per_row,int cbcr_byte_per_row,bool_t down_scale) {
|
||||
#ifdef __ARM_NEON__
|
||||
--- linphone-3.6.1/mediastreamer2/src/voip/videostream.c 2013-06-14 18:21:26.654950046 +0300
|
||||
+++ linphone-3.6.1/mediastreamer2/src/voip/videostream.c 2013-07-27 13:36:17.176984897 +0300
|
||||
@@ -223,6 +223,7 @@
|
||||
return wished_size;
|
||||
}
|
||||
|
||||
+#ifndef __arm__
|
||||
static MSVideoSize get_with_same_orientation(MSVideoSize size, MSVideoSize refsize){
|
||||
if (ms_video_size_get_orientation(refsize)!=ms_video_size_get_orientation(size)){
|
||||
int tmp;
|
||||
@@ -232,6 +233,7 @@
|
||||
}
|
||||
return size;
|
||||
}
|
||||
+#endif
|
||||
|
||||
static void configure_video_source(VideoStream *stream){
|
||||
MSVideoSize vsize,cam_vsize;
|
11
linphone-3.6.1-rootca.patch
Normal file
11
linphone-3.6.1-rootca.patch
Normal file
@ -0,0 +1,11 @@
|
||||
--- linphone-3.6.1/coreapi/linphonecore.c 2013-06-12 17:20:14.020039579 +0300
|
||||
+++ linphone-3.6.1/coreapi/linphonecore.c 2013-07-26 11:36:51.014342101 +0300
|
||||
@@ -638,7 +638,7 @@
|
||||
}
|
||||
|
||||
#ifdef __linux
|
||||
- sal_set_root_ca(lc->sal, lp_config_get_string(lc->config,"sip","root_ca", "/etc/ssl/certs"));
|
||||
+ sal_set_root_ca(lc->sal, lp_config_get_string(lc->config,"sip","root_ca", "/etc/ssl/certs/ca-bundle.crt"));
|
||||
#else
|
||||
sal_set_root_ca(lc->sal, lp_config_get_string(lc->config,"sip","root_ca", ROOT_CA_FILE));
|
||||
#endif
|
12
linphone-3.6.1-theora-fix.patch
Normal file
12
linphone-3.6.1-theora-fix.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff -up linphone-3.6.1/mediastreamer2/src/videofilters/theora.c.fix linphone-3.6.1/mediastreamer2/src/videofilters/theora.c
|
||||
--- linphone-3.6.1/mediastreamer2/src/videofilters/theora.c.fix 2014-11-14 14:34:59.416313134 -0500
|
||||
+++ linphone-3.6.1/mediastreamer2/src/videofilters/theora.c 2014-11-14 14:35:44.657985230 -0500
|
||||
@@ -332,7 +332,7 @@ static void enc_process(MSFilter *f){
|
||||
if (need_send_conf(s,elapsed)){
|
||||
if (s->packed_conf) {
|
||||
om=dupmsg(s->packed_conf);
|
||||
- ms_message("sending theora packed conf (%i bytes)",msgdsize(om));
|
||||
+ ms_message("sending theora packed conf (%i bytes)",(int)msgdsize(om));
|
||||
packetize_and_send(f,s,om,timestamp,THEORA_PACKED_CONF);
|
||||
}else {
|
||||
ms_error("No packed conf to send.");
|
405
linphone-3.6.1-upnp-fix.patch
Normal file
405
linphone-3.6.1-upnp-fix.patch
Normal file
@ -0,0 +1,405 @@
|
||||
diff --git a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd.c b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd.c
|
||||
index 4f7d161..cee436c 100644
|
||||
--- a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd.c
|
||||
+++ b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd.c
|
||||
@@ -395,7 +395,7 @@ int upnp_igd_send_action(upnp_igd_context* igd_ctxt, upnp_igd_device_node *devic
|
||||
* d_event -- event associated with the new device
|
||||
*
|
||||
********************************************************************************/
|
||||
-void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, struct Upnp_Discovery *d_event) {
|
||||
+void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, UpnpDiscovery *d_event) {
|
||||
upnp_igd_device_node *deviceNode, *tmpdevnode;
|
||||
int found = 0;
|
||||
int ret;
|
||||
@@ -423,7 +423,7 @@ void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, st
|
||||
baseURL = upnp_igd_get_first_document_item(igd_ctxt, desc_doc, "URLBase");
|
||||
relURL = upnp_igd_get_first_document_item(igd_ctxt, desc_doc, "presentationURL");
|
||||
|
||||
- ret = UpnpResolveURL((baseURL ? baseURL : d_event->Location), relURL, presURL);
|
||||
+ ret = UpnpResolveURL((baseURL ? baseURL : UpnpString_get_String(UpnpDiscovery_get_Location(d_event))), relURL, presURL);
|
||||
|
||||
if (UPNP_E_SUCCESS != ret) {
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error generating presURL from %s + %s", baseURL, relURL);
|
||||
@@ -444,7 +444,7 @@ void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, st
|
||||
if (found) {
|
||||
/* The device is already there, so just update */
|
||||
/* the advertisement timeout field */
|
||||
- tmpdevnode->device.advr_time_out = d_event->Expires;
|
||||
+ tmpdevnode->device.advr_time_out = UpnpDiscovery_get_Expires(d_event);
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_DEBUG, "IGD device: %s[%s] | Update expires(%d)", friendlyName, UDN, tmpdevnode->device.advr_time_out);
|
||||
} else {
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_MESSAGE, "Add IGD device: %s[%s]", friendlyName, UDN);
|
||||
@@ -449,10 +449,10 @@ void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, st
|
||||
deviceNode = (upnp_igd_device_node *) malloc(sizeof(upnp_igd_device_node));
|
||||
memset(deviceNode->device.services, '\0', sizeof(upnp_igd_service) * IGD_SERVICE_SERVCOUNT);
|
||||
strncpy(deviceNode->device.udn, UDN, sizeof(deviceNode->device.udn));
|
||||
- strncpy(deviceNode->device.desc_doc_url, d_event->Location, sizeof(deviceNode->device.desc_doc_url));
|
||||
+ strncpy(deviceNode->device.desc_doc_url, UpnpString_get_String(UpnpDiscovery_get_Location(d_event)), sizeof(deviceNode->device.desc_doc_url));
|
||||
strncpy(deviceNode->device.friendly_name, friendlyName, sizeof(deviceNode->device.friendly_name));
|
||||
strncpy(deviceNode->device.pres_url, presURL, sizeof(deviceNode->device.pres_url));
|
||||
- deviceNode->device.advr_time_out = d_event->Expires;
|
||||
+ deviceNode->device.advr_time_out = UpnpDiscovery_get_Expires(d_event);
|
||||
|
||||
// Reset values
|
||||
serviceId = NULL;
|
||||
@@ -468,7 +468,7 @@ void upnp_igd_add_device(upnp_igd_context *igd_ctxt, IXML_Document *desc_doc, st
|
||||
|
||||
for (service = 0; service < IGD_SERVICE_SERVCOUNT;
|
||||
service++) {
|
||||
- if (upnp_igd_get_find_and_parse_service(igd_ctxt, desc_doc, d_event->Location,
|
||||
+ if (upnp_igd_get_find_and_parse_service(igd_ctxt, desc_doc, UpnpString_get_String(UpnpDiscovery_get_Location(d_event)),
|
||||
IGDServiceType[service], &serviceId, &event_url, &controlURL)) {
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_DEBUG, "Subscribing to EventURL %s...",event_url);
|
||||
ret =
|
||||
@@ -891,16 +891,16 @@ int upnp_igd_callback(Upnp_EventType event_type, void* event, void *cookie) {
|
||||
switch(event_type) {
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_ALIVE:
|
||||
case UPNP_DISCOVERY_SEARCH_RESULT: {
|
||||
- struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)event;
|
||||
+ UpnpDiscovery *d_event = (UpnpDiscovery *)event;
|
||||
IXML_Document *desc_doc = NULL;
|
||||
int ret;
|
||||
|
||||
- if (d_event->ErrCode != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Discovery Callback -- %d", d_event->ErrCode);
|
||||
+ if (UpnpDiscovery_get_ErrCode(d_event) != UPNP_E_SUCCESS) {
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Discovery Callback -- %d", UpnpDiscovery_get_ErrCode(d_event));
|
||||
}
|
||||
- ret = UpnpDownloadXmlDoc(d_event->Location, &desc_doc);
|
||||
+ ret = UpnpDownloadXmlDoc(UpnpString_get_String(UpnpDiscovery_get_Location(d_event)), &desc_doc);
|
||||
if (ret != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error obtaining device description from %s -- error = %d", d_event->Location, ret);
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error obtaining device description from %s -- error = %d", UpnpString_get_String(UpnpDiscovery_get_Location(d_event)), ret);
|
||||
} else {
|
||||
upnp_igd_add_device(igd_ctxt, desc_doc, d_event);
|
||||
}
|
||||
@@ -910,64 +910,64 @@ int upnp_igd_callback(Upnp_EventType event_type, void* event, void *cookie) {
|
||||
}
|
||||
break;
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: {
|
||||
- struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)event;
|
||||
- if (d_event->ErrCode != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Discovery ByeBye Callback -- %d", d_event->ErrCode);
|
||||
+ UpnpDiscovery *d_event = (UpnpDiscovery *)event;
|
||||
+ if (UpnpDiscovery_get_ErrCode(d_event) != UPNP_E_SUCCESS) {
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Discovery ByeBye Callback -- %d", UpnpDiscovery_get_ErrCode(d_event));
|
||||
}
|
||||
- upnp_igd_remove_device(igd_ctxt, d_event->DeviceId);
|
||||
+ upnp_igd_remove_device(igd_ctxt, UpnpString_get_String(UpnpDiscovery_get_DeviceID(d_event)));
|
||||
}
|
||||
break;
|
||||
/* SOAP Stuff */
|
||||
case UPNP_CONTROL_ACTION_COMPLETE: {
|
||||
- struct Upnp_Action_Complete *a_event = (struct Upnp_Action_Complete *)event;
|
||||
+ UpnpActionComplete *a_event = (UpnpActionComplete *)event;
|
||||
|
||||
- if (a_event->ErrCode != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Action Complete Callback -- %d", a_event->ErrCode);
|
||||
+ if (UpnpActionComplete_get_ErrCode(a_event) != UPNP_E_SUCCESS) {
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Action Complete Callback -- %d", UpnpActionComplete_get_ErrCode(a_event));
|
||||
} else {
|
||||
- upnp_igd_handle_send_action(igd_ctxt, UPNP_STRING(a_event->CtrlUrl), a_event->ActionRequest, a_event->ActionResult);
|
||||
+ upnp_igd_handle_send_action(igd_ctxt, UPNP_STRING(UpnpActionComplete_get_CtrlUrl(a_event)), UpnpActionComplete_get_ActionRequest(a_event), UpnpActionComplete_get_ActionResult(a_event));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UPNP_CONTROL_GET_VAR_COMPLETE: {
|
||||
- struct Upnp_State_Var_Complete *sv_event = (struct Upnp_State_Var_Complete *)event;
|
||||
+ UpnpStateVarComplete *sv_event = (UpnpStateVarComplete *)event;
|
||||
|
||||
- if (sv_event->ErrCode != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Get Var Complete Callback -- %d", sv_event->ErrCode);
|
||||
+ if (UpnpStateVarComplete_get_ErrCode(sv_event) != UPNP_E_SUCCESS) {
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Get Var Complete Callback -- %d", UpnpStateVarComplete_get_ErrCode(sv_event));
|
||||
} else {
|
||||
- upnp_igd_handle_get_var(igd_ctxt, UPNP_STRING(sv_event->CtrlUrl), sv_event->StateVarName, sv_event->CurrentVal);
|
||||
+ upnp_igd_handle_get_var(igd_ctxt, UPNP_STRING(UpnpStateVarComplete_get_CtrlUrl(sv_event)), UpnpString_get_String(UpnpStateVarComplete_get_StateVarName(sv_event)), UpnpStateVarComplete_get_CurrentVal(sv_event));
|
||||
}
|
||||
}
|
||||
break;
|
||||
/* GENA Stuff */
|
||||
case UPNP_EVENT_RECEIVED: {
|
||||
- struct Upnp_Event *e_event = (struct Upnp_Event *)event;
|
||||
+ UpnpEvent *e_event = (UpnpEvent *)event;
|
||||
|
||||
- upnp_igd_handle_event(igd_ctxt, e_event->Sid, e_event->EventKey, e_event->ChangedVariables);
|
||||
+ upnp_igd_handle_event(igd_ctxt, UpnpString_get_String(UpnpEvent_get_SID(e_event)), UpnpEvent_get_EventKey(e_event), UpnpEvent_get_ChangedVariables(e_event));
|
||||
}
|
||||
break;
|
||||
case UPNP_EVENT_SUBSCRIBE_COMPLETE:
|
||||
case UPNP_EVENT_UNSUBSCRIBE_COMPLETE:
|
||||
case UPNP_EVENT_RENEWAL_COMPLETE: {
|
||||
- struct Upnp_Event_Subscribe *es_event = (struct Upnp_Event_Subscribe *)event;
|
||||
+ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)event;
|
||||
|
||||
- if (es_event->ErrCode != UPNP_E_SUCCESS) {
|
||||
- upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Event Subscribe Callback -- %d", es_event->ErrCode);
|
||||
+ if (UpnpEventSubscribe_get_ErrCode(es_event) != UPNP_E_SUCCESS) {
|
||||
+ upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error in Event Subscribe Callback -- %d", UpnpEventSubscribe_get_ErrCode(es_event));
|
||||
} else {
|
||||
- upnp_igd_handle_subscribe_update(igd_ctxt, UPNP_STRING(es_event->PublisherUrl), es_event->Sid, es_event->TimeOut);
|
||||
+ upnp_igd_handle_subscribe_update(igd_ctxt, UPNP_STRING(UpnpEventSubscribe_get_PublisherUrl(es_event)), UpnpString_get_String(UpnpEventSubscribe_get_SID(es_event)), UpnpEventSubscribe_get_TimeOut(es_event));
|
||||
}
|
||||
}
|
||||
break;
|
||||
case UPNP_EVENT_AUTORENEWAL_FAILED:
|
||||
case UPNP_EVENT_SUBSCRIPTION_EXPIRED: {
|
||||
- struct Upnp_Event_Subscribe *es_event = (struct Upnp_Event_Subscribe *)event;
|
||||
+ UpnpEventSubscribe *es_event = (UpnpEventSubscribe *)event;
|
||||
int TimeOut = 1801;
|
||||
Upnp_SID newSID;
|
||||
int ret;
|
||||
|
||||
- ret = UpnpSubscribe(igd_ctxt->upnp_handle, UPNP_STRING(es_event->PublisherUrl), &TimeOut, newSID);
|
||||
+ ret = UpnpSubscribe(igd_ctxt->upnp_handle, UPNP_STRING(UpnpEventSubscribe_get_PublisherUrl(es_event)), &TimeOut, newSID);
|
||||
if (ret == UPNP_E_SUCCESS) {
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_DEBUG, "Subscribed to EventURL with SID=%s", newSID);
|
||||
- upnp_igd_handle_subscribe_update(igd_ctxt, UPNP_STRING(es_event->PublisherUrl), newSID, TimeOut);
|
||||
+ upnp_igd_handle_subscribe_update(igd_ctxt, UPNP_STRING(UpnpEventSubscribe_get_PublisherUrl(es_event)), newSID, TimeOut);
|
||||
} else {
|
||||
upnp_igd_print(igd_ctxt, UPNP_IGD_ERROR, "Error Subscribing to EventURL -- %d", ret);
|
||||
}
|
||||
diff --git a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_cmd.c b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_cmd.c
|
||||
index 108fced..9378b8c 100644
|
||||
--- a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_cmd.c
|
||||
+++ b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_cmd.c
|
||||
@@ -103,8 +103,8 @@ int upnp_igd_port_mapping_callback(Upnp_EventType event_type, void* event, void
|
||||
|
||||
switch(event_type) {
|
||||
case UPNP_CONTROL_ACTION_COMPLETE: {
|
||||
- struct Upnp_Action_Complete *a_event = (struct Upnp_Action_Complete *)event;
|
||||
- upnp_igd_port_mapping_handle_action(igd_port_mapping_ctxt, a_event->ErrCode, UPNP_STRING(a_event->CtrlUrl), a_event->ActionRequest, a_event->ActionResult);
|
||||
+ UpnpActionComplete *a_event = (UpnpActionComplete *)event;
|
||||
+ upnp_igd_port_mapping_handle_action(igd_port_mapping_ctxt, UpnpActionComplete_get_ErrCode(a_event), UPNP_STRING(UpnpActionComplete_get_CtrlUrl(a_event)), UpnpActionComplete_get_ActionRequest(a_event), UpnpActionComplete_get_ActionResult(a_event));
|
||||
}
|
||||
break;
|
||||
|
||||
diff --git a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_utils.c b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_utils.c
|
||||
index 5329362..075c6be 100644
|
||||
--- a/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_utils.c
|
||||
+++ b/linphone-3.12.0/mediastreamer2/src/upnp/upnp_igd_utils.c
|
||||
@@ -188,18 +188,18 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_ALIVE:
|
||||
case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE:
|
||||
case UPNP_DISCOVERY_SEARCH_RESULT: {
|
||||
- struct Upnp_Discovery *d_event = (struct Upnp_Discovery *)Event;
|
||||
+ UpnpDiscovery *d_event = (UpnpDiscovery *)Event;
|
||||
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(d_event->ErrCode), d_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "Expires = %d", d_event->Expires);
|
||||
- upnp_igd_print(igd_ctxt, level, "DeviceId = %s", d_event->DeviceId);
|
||||
- upnp_igd_print(igd_ctxt, level, "DeviceType = %s", d_event->DeviceType);
|
||||
- upnp_igd_print(igd_ctxt, level, "ServiceType = %s", d_event->ServiceType);
|
||||
- upnp_igd_print(igd_ctxt, level, "ServiceVer = %s", d_event->ServiceVer);
|
||||
- upnp_igd_print(igd_ctxt, level, "Location = %s", d_event->Location);
|
||||
- upnp_igd_print(igd_ctxt, level, "OS = %s", d_event->Os);
|
||||
- upnp_igd_print(igd_ctxt, level, "Ext = %s", d_event->Ext);
|
||||
+ UpnpGetErrorMessage(UpnpDiscovery_get_ErrCode(d_event)), UpnpDiscovery_get_ErrCode(d_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "Expires = %d", UpnpDiscovery_get_Expires(d_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "DeviceId = %s", UpnpString_get_String(UpnpDiscovery_get_DeviceID(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "DeviceType = %s", UpnpString_get_String(UpnpDiscovery_get_DeviceType(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ServiceType = %s", UpnpString_get_String(UpnpDiscovery_get_ServiceType(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ServiceVer = %s", UpnpString_get_String(UpnpDiscovery_get_ServiceVer(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "Location = %s", UpnpString_get_String(UpnpDiscovery_get_Location(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "OS = %s", UpnpString_get_String(UpnpDiscovery_get_Os(d_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "Ext = %s", UpnpString_get_String(UpnpDiscovery_get_Os(d_event)));
|
||||
break;
|
||||
}
|
||||
case UPNP_DISCOVERY_SEARCH_TIMEOUT:
|
||||
@@ -207,18 +207,18 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
break;
|
||||
/* SOAP */
|
||||
case UPNP_CONTROL_ACTION_REQUEST: {
|
||||
- struct Upnp_Action_Request *a_event =
|
||||
- (struct Upnp_Action_Request *)Event;
|
||||
+ UpnpActionRequest *a_event =
|
||||
+ (UpnpActionRequest *)Event;
|
||||
char *xmlbuff = NULL;
|
||||
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(a_event->ErrCode), a_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "ErrStr = %s", a_event->ErrStr);
|
||||
- upnp_igd_print(igd_ctxt, level, "ActionName = %s", a_event->ActionName);
|
||||
- upnp_igd_print(igd_ctxt, level, "UDN = %s", a_event->DevUDN);
|
||||
- upnp_igd_print(igd_ctxt, level, "ServiceID = %s", a_event->ServiceID);
|
||||
- if (a_event->ActionRequest) {
|
||||
- xmlbuff = ixmlPrintNode((IXML_Node *)a_event->ActionRequest);
|
||||
+ UpnpGetErrorMessage(UpnpActionRequest_get_ErrCode(a_event)), UpnpActionRequest_get_ErrCode(a_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ErrStr = %s", UpnpString_get_String(UpnpActionRequest_get_ErrStr(a_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ActionName = %s", UpnpString_get_String(UpnpActionRequest_get_ActionName(a_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "UDN = %s", UpnpString_get_String(UpnpActionRequest_get_DevUDN(a_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ServiceID = %s", UpnpString_get_String(UpnpActionRequest_get_ServiceID(a_event)));
|
||||
+ if (UpnpActionRequest_get_ActionRequest(a_event)) {
|
||||
+ xmlbuff = ixmlPrintNode((IXML_Node *)UpnpActionRequest_get_ActionRequest(a_event));
|
||||
if (xmlbuff) {
|
||||
upnp_igd_print(igd_ctxt, level, "ActRequest = %s", xmlbuff);
|
||||
ixmlFreeDOMString(xmlbuff);
|
||||
@@ -227,8 +227,8 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
} else {
|
||||
upnp_igd_print(igd_ctxt, level, "ActRequest = (null)");
|
||||
}
|
||||
- if (a_event->ActionResult) {
|
||||
- xmlbuff = ixmlPrintNode((IXML_Node *)a_event->ActionResult);
|
||||
+ if (UpnpActionRequest_get_ActionResult(a_event)) {
|
||||
+ xmlbuff = ixmlPrintNode((IXML_Node *)UpnpActionRequest_get_ActionResult(a_event));
|
||||
if (xmlbuff) {
|
||||
upnp_igd_print(igd_ctxt, level, "ActResult = %s", xmlbuff);
|
||||
ixmlFreeDOMString(xmlbuff);
|
||||
@@ -240,15 +240,15 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
break;
|
||||
}
|
||||
case UPNP_CONTROL_ACTION_COMPLETE: {
|
||||
- struct Upnp_Action_Complete *a_event =
|
||||
- (struct Upnp_Action_Complete *)Event;
|
||||
+ UpnpActionComplete *a_event =
|
||||
+ (UpnpActionComplete *)Event;
|
||||
char *xmlbuff = NULL;
|
||||
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(a_event->ErrCode), a_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "CtrlUrl = %s", a_event->CtrlUrl);
|
||||
- if (a_event->ActionRequest) {
|
||||
- xmlbuff = ixmlPrintNode((IXML_Node *)a_event->ActionRequest);
|
||||
+ UpnpGetErrorMessage(UpnpActionComplete_get_ErrCode(a_event)), UpnpActionComplete_get_ErrCode(a_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "CtrlUrl = %s", UpnpString_get_String(UpnpActionComplete_get_CtrlUrl(a_event)));
|
||||
+ if (UpnpActionComplete_get_ActionRequest(a_event)) {
|
||||
+ xmlbuff = ixmlPrintNode((IXML_Node *)UpnpActionComplete_get_ActionRequest(a_event));
|
||||
if (xmlbuff) {
|
||||
upnp_igd_print(igd_ctxt, level, "ActRequest = %s", xmlbuff);
|
||||
ixmlFreeDOMString(xmlbuff);
|
||||
@@ -257,8 +257,8 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
} else {
|
||||
upnp_igd_print(igd_ctxt, level, "ActRequest = (null)");
|
||||
}
|
||||
- if (a_event->ActionResult) {
|
||||
- xmlbuff = ixmlPrintNode((IXML_Node *)a_event->ActionResult);
|
||||
+ if (UpnpActionComplete_get_ActionResult(a_event)) {
|
||||
+ xmlbuff = ixmlPrintNode((IXML_Node *)UpnpActionComplete_get_ActionResult(a_event));
|
||||
if (xmlbuff) {
|
||||
upnp_igd_print(igd_ctxt, level, "ActResult = %s", xmlbuff);
|
||||
ixmlFreeDOMString(xmlbuff);
|
||||
@@ -270,83 +270,83 @@ void upnp_igd_print_event(upnp_igd_context *igd_ctxt, upnp_igd_print_level level
|
||||
break;
|
||||
}
|
||||
case UPNP_CONTROL_GET_VAR_REQUEST: {
|
||||
- struct Upnp_State_Var_Request *sv_event =
|
||||
- (struct Upnp_State_Var_Request *)Event;
|
||||
+ UpnpStateVarRequest *sv_event =
|
||||
+ (UpnpStateVarRequest *)Event;
|
||||
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(sv_event->ErrCode), sv_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "ErrStr = %s", sv_event->ErrStr);
|
||||
- upnp_igd_print(igd_ctxt, level, "UDN = %s", sv_event->DevUDN);
|
||||
- upnp_igd_print(igd_ctxt, level, "ServiceID = %s", sv_event->ServiceID);
|
||||
- upnp_igd_print(igd_ctxt, level, "StateVarName= %s", sv_event->StateVarName);
|
||||
- upnp_igd_print(igd_ctxt, level, "CurrentVal = %s", sv_event->CurrentVal);
|
||||
+ UpnpGetErrorMessage(UpnpStateVarRequest_get_ErrCode(sv_event)), UpnpStateVarRequest_get_ErrCode(sv_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ErrStr = %s", UpnpString_get_String(UpnpStateVarRequest_get_ErrStr(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "UDN = %s", UpnpString_get_String(UpnpStateVarRequest_get_DevUDN(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "ServiceID = %s", UpnpString_get_String(UpnpStateVarRequest_get_ServiceID(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "StateVarName= %s", UpnpString_get_String(UpnpStateVarRequest_get_StateVarName(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "CurrentVal = %s", UpnpStateVarRequest_get_CurrentVal(sv_event));
|
||||
break;
|
||||
}
|
||||
case UPNP_CONTROL_GET_VAR_COMPLETE: {
|
||||
- struct Upnp_State_Var_Complete *sv_event =
|
||||
- (struct Upnp_State_Var_Complete *)Event;
|
||||
+ UpnpStateVarComplete *sv_event =
|
||||
+ (UpnpStateVarComplete *)Event;
|
||||
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(sv_event->ErrCode), sv_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "CtrlUrl = %s", sv_event->CtrlUrl);
|
||||
- upnp_igd_print(igd_ctxt, level, "StateVarName= %s", sv_event->StateVarName);
|
||||
- upnp_igd_print(igd_ctxt, level, "CurrentVal = %s", sv_event->CurrentVal);
|
||||
+ UpnpGetErrorMessage(UpnpStateVarComplete_get_ErrCode(sv_event)), UpnpStateVarComplete_get_ErrCode(sv_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "CtrlUrl = %s", UpnpString_get_String(UpnpStateVarComplete_get_CtrlUrl(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "StateVarName= %s", UpnpString_get_String(UpnpStateVarComplete_get_StateVarName(sv_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "CurrentVal = %s", UpnpStateVarComplete_get_CurrentVal(sv_event));
|
||||
break;
|
||||
}
|
||||
/* GENA */
|
||||
case UPNP_EVENT_SUBSCRIPTION_REQUEST: {
|
||||
- struct Upnp_Subscription_Request *sr_event =
|
||||
- (struct Upnp_Subscription_Request *)Event;
|
||||
+ UpnpSubscriptionRequest *sr_event =
|
||||
+ (UpnpSubscriptionRequest *)Event;
|
||||
|
||||
- upnp_igd_print(igd_ctxt, level, "ServiceID = %s", sr_event->ServiceId);
|
||||
- upnp_igd_print(igd_ctxt, level, "UDN = %s", sr_event->UDN);
|
||||
- upnp_igd_print(igd_ctxt, level, "SID = %s", sr_event->Sid);
|
||||
+ upnp_igd_print(igd_ctxt, level, "ServiceID = %s", UpnpString_get_String(UpnpSubscriptionRequest_get_ServiceId(sr_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "UDN = %s", UpnpString_get_String(UpnpSubscriptionRequest_get_UDN(sr_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "SID = %s", UpnpString_get_String(UpnpSubscriptionRequest_get_SID(sr_event)));
|
||||
break;
|
||||
}
|
||||
case UPNP_EVENT_RECEIVED: {
|
||||
- struct Upnp_Event *e_event = (struct Upnp_Event *)Event;
|
||||
+ UpnpEvent *e_event = (UpnpEvent *)Event;
|
||||
char *xmlbuff = NULL;
|
||||
|
||||
- upnp_igd_print(igd_ctxt, level, "SID = %s", e_event->Sid);
|
||||
- upnp_igd_print(igd_ctxt, level, "EventKey = %d", e_event->EventKey);
|
||||
- xmlbuff = ixmlPrintNode((IXML_Node *)e_event->ChangedVariables);
|
||||
+ upnp_igd_print(igd_ctxt, level, "SID = %s", UpnpString_get_String(UpnpEvent_get_SID(e_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "EventKey = %d", UpnpEvent_get_EventKey(e_event));
|
||||
+ xmlbuff = ixmlPrintNode((IXML_Node *)UpnpEvent_get_ChangedVariables(e_event));
|
||||
upnp_igd_print(igd_ctxt, level, "ChangedVars = %s", xmlbuff);
|
||||
ixmlFreeDOMString(xmlbuff);
|
||||
xmlbuff = NULL;
|
||||
break;
|
||||
}
|
||||
case UPNP_EVENT_RENEWAL_COMPLETE: {
|
||||
- struct Upnp_Event_Subscribe *es_event =
|
||||
- (struct Upnp_Event_Subscribe *)Event;
|
||||
+ UpnpEventSubscribe *es_event =
|
||||
+ (UpnpEventSubscribe *)Event;
|
||||
|
||||
- upnp_igd_print(igd_ctxt, level, "SID = %s", es_event->Sid);
|
||||
+ upnp_igd_print(igd_ctxt, level, "SID = %s", UpnpString_get_String(UpnpEventSubscribe_get_SID(es_event)));
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(es_event->ErrCode), es_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "TimeOut = %d", es_event->TimeOut);
|
||||
+ UpnpGetErrorMessage(UpnpEventSubscribe_get_ErrCode(es_event)), UpnpEventSubscribe_get_ErrCode(es_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "TimeOut = %d", UpnpEventSubscribe_get_TimeOut(es_event));
|
||||
break;
|
||||
}
|
||||
case UPNP_EVENT_SUBSCRIBE_COMPLETE:
|
||||
case UPNP_EVENT_UNSUBSCRIBE_COMPLETE: {
|
||||
- struct Upnp_Event_Subscribe *es_event =
|
||||
- (struct Upnp_Event_Subscribe *)Event;
|
||||
+ UpnpEventSubscribe *es_event =
|
||||
+ (UpnpEventSubscribe *)Event;
|
||||
|
||||
- upnp_igd_print(igd_ctxt, level, "SID = %s", es_event->Sid);
|
||||
+ upnp_igd_print(igd_ctxt, level, "SID = %s", UpnpString_get_String(UpnpEventSubscribe_get_SID(es_event)));
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(es_event->ErrCode), es_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "PublisherURL= %s", es_event->PublisherUrl);
|
||||
- upnp_igd_print(igd_ctxt, level, "TimeOut = %d", es_event->TimeOut);
|
||||
+ UpnpGetErrorMessage(UpnpEventSubscribe_get_ErrCode(es_event)), UpnpEventSubscribe_get_ErrCode(es_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "PublisherURL= %s", UpnpString_get_String(UpnpEventSubscribe_get_PublisherUrl(es_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "TimeOut = %d", UpnpEventSubscribe_get_TimeOut(es_event));
|
||||
break;
|
||||
}
|
||||
case UPNP_EVENT_AUTORENEWAL_FAILED:
|
||||
case UPNP_EVENT_SUBSCRIPTION_EXPIRED: {
|
||||
- struct Upnp_Event_Subscribe *es_event =
|
||||
- (struct Upnp_Event_Subscribe *)Event;
|
||||
+ UpnpEventSubscribe *es_event =
|
||||
+ (UpnpEventSubscribe *)Event;
|
||||
|
||||
- upnp_igd_print(igd_ctxt, level, "SID = %s", es_event->Sid);
|
||||
+ upnp_igd_print(igd_ctxt, level, "SID = %s", UpnpString_get_String(UpnpEventSubscribe_get_SID(es_event)));
|
||||
upnp_igd_print(igd_ctxt, level, "ErrCode = %s(%d)",
|
||||
- UpnpGetErrorMessage(es_event->ErrCode), es_event->ErrCode);
|
||||
- upnp_igd_print(igd_ctxt, level, "PublisherURL= %s", es_event->PublisherUrl);
|
||||
- upnp_igd_print(igd_ctxt, level, "TimeOut = %d", es_event->TimeOut);
|
||||
+ UpnpGetErrorMessage(UpnpEventSubscribe_get_ErrCode(es_event)), UpnpEventSubscribe_get_ErrCode(es_event));
|
||||
+ upnp_igd_print(igd_ctxt, level, "PublisherURL= %s", UpnpString_get_String(UpnpEventSubscribe_get_PublisherUrl(es_event)));
|
||||
+ upnp_igd_print(igd_ctxt, level, "TimeOut = %d", UpnpEventSubscribe_get_TimeOut(es_event));
|
||||
break;
|
||||
}
|
||||
}
|
391
linphone.spec
391
linphone.spec
@ -1,41 +1,63 @@
|
||||
Name: linphone
|
||||
Version: 1.7.1
|
||||
Release: 2%{?dist}
|
||||
Version: 3.6.1
|
||||
Release: 33%{?dist}
|
||||
Summary: Phone anywhere in the whole world by using the Internet
|
||||
|
||||
Group: Applications/Communications
|
||||
License: GPL
|
||||
License: GPLv2+
|
||||
URL: http://www.linphone.org/
|
||||
Source0: http://download.savannah.nongnu.org/releases/linphone/1.7.x/sources/%{name}-%{version}.tar.gz
|
||||
Patch0: linphone-1.7.1-ortpm4.patch
|
||||
Patch1: linphone-1.7.1-imagedir.patch
|
||||
Patch2: linphone-1.7.1-gtkosip.patch
|
||||
Patch3: linphone-1.7.1-extgsm.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
|
||||
BuildRequires: compat-libosip2-devel
|
||||
BuildRequires: ortp-devel >= 0.13.1
|
||||
Source0: http://download.savannah.gnu.org/releases/linphone/3.7.x/sources/%{name}-%{version}.tar.gz
|
||||
Patch0: linphone-3.6.1-rootca.patch
|
||||
Patch1: linphone-3.6.1-arm.patch
|
||||
Patch2: linphone-3.6.1-theora-fix.patch
|
||||
Patch3: linphone-3.6.1-upnp-fix.patch
|
||||
|
||||
# for video support
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: glew-devel
|
||||
BuildRequires: libtheora-devel
|
||||
BuildRequires: libv4l-devel
|
||||
BuildRequires: libvpx-devel
|
||||
# xxd used in mediastreamer2/src/Makefile.in
|
||||
BuildRequires: vim-common
|
||||
|
||||
BuildRequires: libosip2-devel >= 3.6.0
|
||||
BuildRequires: libeXosip2-devel >= 3.6.0
|
||||
BuildRequires: libpcap-devel
|
||||
BuildRequires: libsoup-devel
|
||||
BuildRequires: libudev-devel
|
||||
# on i386, armv7hl error: libupnp uses large file support, so users must do that, too
|
||||
BuildRequires: libupnp-devel
|
||||
BuildRequires: openssl-devel
|
||||
BuildRequires: pulseaudio-libs-devel
|
||||
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: readline-devel
|
||||
BuildRequires: ncurses-devel
|
||||
|
||||
BuildRequires: gtk2-devel
|
||||
BuildRequires: libnotify-devel
|
||||
BuildRequires: gtk2-devel >= 2.16
|
||||
BuildRequires: alsa-lib-devel
|
||||
|
||||
BuildRequires: opus-devel
|
||||
BuildRequires: speex-devel >= 1.2
|
||||
BuildRequires: speexdsp-devel >= 1.2
|
||||
BuildRequires: spandsp-devel
|
||||
BuildRequires: gsm-devel
|
||||
|
||||
BuildRequires: desktop-file-utils
|
||||
|
||||
BuildRequires: perl(XML::Parser)
|
||||
|
||||
BuildRequires: docbook-utils
|
||||
BuildRequires: libglade2-devel
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: libtool
|
||||
BuildRequires: intltool
|
||||
BuildRequires: gettext
|
||||
BuildRequires: doxygen
|
||||
|
||||
BuildRequires: libtool
|
||||
|
||||
BuildRequires: ortp-devel >= 1:0.22.0
|
||||
Requires: ortp%{?_isa} >= 1:0.22.0
|
||||
|
||||
%description
|
||||
Linphone is mostly sip compliant. It works successfully with these
|
||||
@ -55,95 +77,330 @@ Linphone may work also with other sip phones, but this has not been tested yet.
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries for linphone
|
||||
Group: Development/Libraries
|
||||
Requires: %{name} = %{version}-%{release} glib2-devel
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: linphone-mediastreamer-devel%{?_isa} = %{version}-%{release}
|
||||
Requires: glib2-devel%{?_isa}
|
||||
|
||||
%description devel
|
||||
Libraries and headers required to develop software with linphone.
|
||||
|
||||
%package mediastreamer
|
||||
Summary: A media streaming library for telephony applications
|
||||
|
||||
%description mediastreamer
|
||||
Mediastreamer2 is a GPL licensed library to make audio and video
|
||||
real-time streaming and processing. Written in pure C, it is based
|
||||
upon the oRTP library.
|
||||
|
||||
%package mediastreamer-devel
|
||||
Summary: Development libraries for mediastreamer2
|
||||
Requires: linphone-mediastreamer%{?_isa} = %{version}-%{release}
|
||||
Requires: ortp-devel%{?_isa}
|
||||
|
||||
%description mediastreamer-devel
|
||||
Libraries and headers required to develop software with mediastreamer2.
|
||||
|
||||
%prep
|
||||
%setup0 -q
|
||||
%patch0 -p1 -b .ortpm4
|
||||
%patch1 -p1 -b .imagedir
|
||||
%patch2 -p1 -b .gtkosip
|
||||
%patch3 -p1 -b .extgsm
|
||||
%patch0 -p1 -b .rootca
|
||||
%ifarch %{arm}
|
||||
%patch1 -p1 -b .arm
|
||||
%endif
|
||||
%patch2 -p1 -b .theora-fix
|
||||
%if 0%{?fedora} > 28
|
||||
%patch3 -p2 -b .upnp-fix
|
||||
%endif
|
||||
|
||||
pushd share/cs
|
||||
for f in *.1
|
||||
do
|
||||
/usr/bin/iconv --from-code iso-8859-2 --to-code utf-8 --output $f.new $f && sed -i -e 's/Encoding: ISO-8859-2/Encoding: UTF-8/' $f.new && mv $f.new $f
|
||||
autoreconf -i -f
|
||||
|
||||
# remove bundled oRTP
|
||||
rm -rf oRTP
|
||||
|
||||
# Fix encoding
|
||||
for f in share/cs/*.1; do
|
||||
/usr/bin/iconv -f iso-8859-2 -t utf-8 -o $f.new $f
|
||||
sed -i -e 's/Encoding: ISO-8859-2/Encoding: UTF-8/' $f.new
|
||||
mv $f.new $f
|
||||
done
|
||||
popd
|
||||
for f in ChangeLog AUTHORS; do
|
||||
/usr/bin/iconv -f iso-8859-1 -t utf-8 -o $f.new $f
|
||||
mv $f.new $f
|
||||
done
|
||||
|
||||
|
||||
%build
|
||||
%configure --disable-static \
|
||||
--enable-glx \
|
||||
--disable-ffmpeg \
|
||||
--disable-rpath \
|
||||
--enable-console_ui=yes \
|
||||
--enable-gtk_ui=yes \
|
||||
--enable-ipv6 \
|
||||
--enable-truespeech \
|
||||
--enable-alsa \
|
||||
--disable-strict \
|
||||
--enable-nonstandard-gsm \
|
||||
--enable-rsvp \
|
||||
--enable-ssl \
|
||||
--enable-zrtp \
|
||||
%ifarch i686 armv7hl
|
||||
--disable-upnp \
|
||||
%endif
|
||||
--enable-external-ortp
|
||||
|
||||
libtoolize --copy --force
|
||||
aclocal -I m4
|
||||
autoheader
|
||||
automake --force-missing --add-missing --copy
|
||||
autoconf
|
||||
rm -rf config.cache
|
||||
|
||||
pushd mediastreamer2
|
||||
libtoolize --copy --force
|
||||
aclocal -I m4
|
||||
autoheader
|
||||
automake --force-missing --add-missing --copy
|
||||
autoconf
|
||||
popd
|
||||
|
||||
%configure --disable-static --disable-rpath --disable-video --enable-alsa --enable-strict --enable-external-ortp --with-osip-version=2.2.2 --enable-external-gsm
|
||||
make %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
install -p -m 0644 pixmaps/linphone2.png $RPM_BUILD_ROOT%{_datadir}/pixmaps
|
||||
|
||||
%find_lang %{name}
|
||||
rm $RPM_BUILD_ROOT%{_datadir}/gnome/apps/Internet/linphone.desktop
|
||||
desktop-file-install --vendor=fedora \
|
||||
%find_lang mediastreamer
|
||||
|
||||
desktop-file-install \
|
||||
--delete-original \
|
||||
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
||||
--remove-category Application \
|
||||
--add-category Telephony \
|
||||
--add-category GTK \
|
||||
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
||||
rm -f %{buildroot}%{_libdir}/*.la
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
# move docs to %%doc
|
||||
mkdir -p doc/linphone doc/mediastreamer
|
||||
mv $RPM_BUILD_ROOT%{_datadir}/doc/linphone*/html doc/linphone
|
||||
mv $RPM_BUILD_ROOT%{_datadir}/doc/mediastreamer*/html doc/mediastreamer
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets
|
||||
|
||||
%ldconfig_scriptlets mediastreamer
|
||||
|
||||
%files -f %{name}.lang
|
||||
%defattr(-,root,root)
|
||||
%doc AUTHORS ChangeLog COPYING NEWS README TODO
|
||||
%{_bindir}/*
|
||||
%{_libdir}/liblinphone.so.*
|
||||
%{_libdir}/libmediastreamer.so.*
|
||||
%{_libdir}/libquickstream.so.*
|
||||
%{_libexecdir}/*
|
||||
%{_bindir}/linphone
|
||||
%{_bindir}/linphonec
|
||||
%{_bindir}/linphonecsh
|
||||
%{_bindir}/lpc2xml_test
|
||||
%{_bindir}/xml2lpc_test
|
||||
%{_libdir}/liblinphone.so.5*
|
||||
%{_libdir}/liblpc2xml.so.0*
|
||||
%{_libdir}/libxml2lpc.so.0*
|
||||
%{_mandir}/man1/*
|
||||
%lang(cs) %{_mandir}/cs/man1/*
|
||||
%{_datadir}/applications/*%{name}.desktop
|
||||
%{_datadir}/gnome/help/linphone
|
||||
%{_datadir}/pixmaps/linphone
|
||||
%{_datadir}/pixmaps/linphone2.png
|
||||
%{_datadir}/sounds/linphone
|
||||
%{_datadir}/images/linphone
|
||||
%{_datadir}/linphone
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%doc doc/linphone/html
|
||||
%{_includedir}/linphone
|
||||
%{_includedir}/mediastreamer2
|
||||
%{_libdir}/liblinphone.so
|
||||
%{_libdir}/libmediastreamer.so
|
||||
%{_libdir}/libquickstream.so
|
||||
%{_libdir}/pkgconfig/*
|
||||
%{_libdir}/liblpc2xml.so
|
||||
%{_libdir}/libxml2lpc.so
|
||||
%{_libdir}/pkgconfig/linphone.pc
|
||||
|
||||
%files mediastreamer -f mediastreamer.lang
|
||||
%doc mediastreamer2/AUTHORS mediastreamer2/ChangeLog mediastreamer2/COPYING
|
||||
%doc mediastreamer2/NEWS mediastreamer2/README
|
||||
%{_bindir}/mediastream
|
||||
%{_libdir}/libmediastreamer_base.so.3*
|
||||
%{_libdir}/libmediastreamer_voip.so.3*
|
||||
%{_datadir}/images
|
||||
|
||||
%files mediastreamer-devel
|
||||
%doc doc/mediastreamer/html
|
||||
%{_includedir}/mediastreamer2
|
||||
%{_libdir}/libmediastreamer_base.so
|
||||
%{_libdir}/libmediastreamer_voip.so
|
||||
%{_libdir}/pkgconfig/mediastreamer.pc
|
||||
|
||||
%changelog
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-33
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri May 10 2019 Alexey Kurov <nucleo@fedoraproject.org> - 3.6.1-32
|
||||
- disabled upnp on i686 and armv7hl
|
||||
|
||||
* Sun Feb 17 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 3.6.1-31
|
||||
- Rebuild for readline 8.0
|
||||
|
||||
* Tue Feb 05 2019 Björn Esser <besser82@fedoraproject.org> - 3.6.1-30
|
||||
- rebuilt (libvpx)
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-29
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Aug 23 2018 Nicolas Chauvet <kwizart@gmail.com> - 3.6.1-28
|
||||
- Rebuilt for glew 2.1.0
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-27
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sun May 27 2018 Alexey Kurov <nucleo@fedoraproject.org> - 3.6.1-26
|
||||
- apply upnp patch for F29+
|
||||
|
||||
* Sun May 27 2018 Alexey Kurov <nucleo@fedoraproject.org> - 3.6.1-25
|
||||
- fix upnp FTBFS (rhbz #1582911)
|
||||
|
||||
* Fri Apr 13 2018 Nicolas Chauvet <kwizart@gmail.com> - 3.6.1-24
|
||||
- Rebuilt for libupnp 1.8x
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-23
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Feb 2 2018 Tom Callaway <spot@fedoraproject.org> - 3.6.1-22
|
||||
- again.
|
||||
|
||||
* Fri Jan 26 2018 Tom Callaway <spot@fedoraproject.org> - 3.6.1-21
|
||||
- rebuild for new libvpx
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-19
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-18
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Thu Jan 12 2017 Igor Gnatenko <ignatenko@redhat.com> - 3.6.1-17
|
||||
- Rebuild for readline 7.x
|
||||
|
||||
* Tue Jan 10 2017 Orion Poplawski <orion@cora.nwra.com> - 3.6.1-16
|
||||
- Rebuild for glew 2.0.0
|
||||
|
||||
* Fri Jul 22 2016 Tom Callaway <spot@fedoraproject.org> - 3.6.1-15
|
||||
- rebuild for libvpx 1.6.0
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 3.6.1-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Jan 15 2016 Adam Jackson <ajax@redhat.com> 3.6.1-13
|
||||
- --disable-strict to work around libsoup deprecation warnings
|
||||
|
||||
* Thu Jan 14 2016 Adam Jackson <ajax@redhat.com> - 3.6.1-12
|
||||
- Rebuild for glew 1.13
|
||||
|
||||
* Tue Dec 1 2015 Tom Callaway <spot@fedoraproject.org> - 3.6.1-11
|
||||
- rebuild for libvpx 1.5.0
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.1-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 3.6.1-9
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Mon Apr 6 2015 Tom Callaway <spot@fedoraproject.org> - 3.6.1-8
|
||||
- rebuild for libvpx 1.4.0
|
||||
|
||||
* Thu Jan 29 2015 Peter Robinson <pbrobinson@fedoraproject.org> 3.6.1-7
|
||||
- Add speexdsp-devel as a dep to fix FTBFS
|
||||
|
||||
* Fri Nov 14 2014 Tom Callaway <spot@fedoraproject.org> - 3.6.1-6
|
||||
- rebuild for new libsrtp
|
||||
|
||||
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.6.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Mon Nov 18 2013 Dave Airlie <airlied@redhat.com> - 3.6.1-3
|
||||
- rebuilt for GLEW 1.10
|
||||
|
||||
* Sat Jul 27 2013 Alexey Kurov <nucleo@fedoraproject.org> - 3.6.1-2
|
||||
- use /etc/ssl/certs/ca-bundle.crt root_ca
|
||||
- fix armv7hl compilation
|
||||
|
||||
* Sun Jul 7 2013 Alexey Kurov <nucleo@fedoraproject.org> - 3.6.1-1
|
||||
- linphone-3.6.1
|
||||
|
||||
* Fri Apr 26 2013 Jon Ciesla <limburgher@gmail.com> - 3.5.2-8
|
||||
- Drop desktop vendor tag.
|
||||
|
||||
* Sat Mar 23 2013 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-7
|
||||
- autoreconf in %%prep (#926078)
|
||||
|
||||
* Thu Feb 14 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.2-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
||||
|
||||
* Mon Dec 31 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-5
|
||||
- add -mediastreamer and -mediastreamer-devel subpackages
|
||||
|
||||
* Thu Jul 19 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.2-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Mon Mar 5 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-3
|
||||
- drop regression patch
|
||||
|
||||
* Mon Feb 27 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-2
|
||||
- install docs in -devel
|
||||
- update glib-2.31 patch
|
||||
- revert commit causing regression in 3.5.2
|
||||
|
||||
* Wed Feb 22 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.2-1
|
||||
- linphone-3.5.2
|
||||
|
||||
* Sun Feb 19 2012 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.1-1
|
||||
- linphone-3.5.1
|
||||
- BR: libsoup-devel
|
||||
- Requires: ortp >= 1:0.18.0
|
||||
|
||||
* Fri Jan 13 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.5.0-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
||||
|
||||
* Tue Dec 27 2011 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.0-2
|
||||
- enable spandsp
|
||||
|
||||
* Mon Dec 26 2011 Alexey Kurov <nucleo@fedoraproject.org> - 3.5.0-1
|
||||
- linphone-3.5.0
|
||||
- add BR: libnotify-devel
|
||||
- disable spandsp (#691039)
|
||||
|
||||
* Tue Dec 06 2011 Adam Jackson <ajax@redhat.com> - 3.4.3-2
|
||||
- Rebuild for new libpng
|
||||
|
||||
* Fri Sep 2 2011 Alexey Kurov <nucleo@fedoraproject.org> - 3.4.3-1
|
||||
- linphone-3.4.3
|
||||
- BR: openssl-devel libsamplerate-devel gettext
|
||||
- BR: pulseaudio-libs-devel jack-audio-connection-kit-devel
|
||||
- drop 3.2.1 patches
|
||||
|
||||
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.2.1-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
||||
|
||||
* Wed Mar 17 2010 Jesse Keating <jkeating@redhat.com> - 3.2.1-2
|
||||
- Apply patches from bug 555510 to update linphone
|
||||
- Drop the doc/mediastreamer dir from devel package
|
||||
|
||||
* Mon Mar 01 2010 Adam Jackson <ajax@redhat.com> 2.1.1-5
|
||||
- Rebuild for libortp.so.7
|
||||
|
||||
* Sat Jul 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
||||
|
||||
* Fri Mar 13 2009 Ralf Corsépius <corsepiu@fedoraproject.org> - 2.1.1-3
|
||||
- Re-base patches to fix rebuild breakdowns.
|
||||
- Fix various autotool source file bugs.
|
||||
- Use pre-built autotool-generated files.
|
||||
|
||||
* Wed Feb 25 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.1.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
||||
|
||||
* Thu Feb 14 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.1-1
|
||||
- Update to 2.1.1
|
||||
|
||||
* Fri Feb 1 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.0-1
|
||||
- Update to 2.1.0
|
||||
|
||||
* Wed Aug 29 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.7.1-4
|
||||
- Update license tag.
|
||||
|
||||
* Wed Aug 29 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.7.1-3
|
||||
- Update license tag.
|
||||
|
||||
* Mon May 14 2007 Jeffrey C. Ollie <jeff@ocjtech.us> - 1.7.1-2
|
||||
- Add patch for compiling against external GSM library.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user