Compare commits
73 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 |
7
.gitignore
vendored
7
.gitignore
vendored
@ -1 +1,6 @@
|
|||||||
linphone-2.1.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,41 +0,0 @@
|
|||||||
From da74486ae265d7736032e4e51602d54449de11b0 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jeffrey C. Ollie <jeff@ocjtech.us>
|
|
||||||
Date: Tue, 17 Apr 2007 15:27:06 -0500
|
|
||||||
Subject: [PATCH] Move nowebcam image to subdir.
|
|
||||||
|
|
||||||
---
|
|
||||||
mediastreamer2/src/Makefile.am | 2 +-
|
|
||||||
mediastreamer2/src/nowebcam.c | 4 ++--
|
|
||||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/mediastreamer2/src/Makefile.am b/mediastreamer2/src/Makefile.am
|
|
||||||
index 9c9050c..8717329 100644
|
|
||||||
--- a/mediastreamer2/src/Makefile.am
|
|
||||||
+++ b/mediastreamer2/src/Makefile.am
|
|
||||||
@@ -121,7 +121,7 @@ if BUILD_VIDEO
|
|
||||||
AM_CFLAGS+=$(VIDEO_CFLAGS)
|
|
||||||
endif
|
|
||||||
|
|
||||||
-imgdir=$(datadir)/images/
|
|
||||||
+imgdir=$(datadir)/images/linphone/
|
|
||||||
|
|
||||||
img_DATA=nowebcamCIF.jpg
|
|
||||||
|
|
||||||
diff --git a/mediastreamer2/src/nowebcam.c b/mediastreamer2/src/nowebcam.c
|
|
||||||
index 1c694f9..f8eaaf9 100644
|
|
||||||
--- a/mediastreamer2/src/nowebcam.c
|
|
||||||
+++ b/mediastreamer2/src/nowebcam.c
|
|
||||||
@@ -85,8 +85,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.5.3.8
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
diff --git a/mediastreamer2/src/ice.c b/mediastreamer2/src/ice.c
|
|
||||||
index c4296c0..615c7ab 100644
|
|
||||||
--- a/mediastreamer2/src/ice.c
|
|
||||||
+++ b/mediastreamer2/src/ice.c
|
|
||||||
@@ -25,6 +25,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
||||||
#include <netdb.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifndef NI_MAXHOST
|
|
||||||
+#define NI_MAXHOST 1025
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#include "mediastreamer2/ice.h"
|
|
||||||
#include "mediastreamer2/mscommon.h"
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
diff --git a/configure.in b/configure.in
|
|
||||||
index 3cb7bf7..307679b 100644
|
|
||||||
--- a/configure.in
|
|
||||||
+++ b/configure.in
|
|
||||||
@@ -275,7 +275,6 @@ AC_ARG_ENABLE(strict,
|
|
||||||
|
|
||||||
if test "$GCC$strictness" = "yesyes" ; then
|
|
||||||
STRICT_OPTIONS="-Wall -Wp,-D_FORTIFY_SOURCE=2"
|
|
||||||
- STRICT_OPTIONS="$STRICT_OPTIONS -Werror"
|
|
||||||
CFLAGS="$CFLAGS -fno-strict-aliasing"
|
|
||||||
fi
|
|
||||||
|
|
||||||
diff --git a/mediastreamer2/configure.ac b/mediastreamer2/configure.ac
|
|
||||||
index f663b56..18c1e30 100644
|
|
||||||
--- a/mediastreamer2/configure.ac
|
|
||||||
+++ b/mediastreamer2/configure.ac
|
|
||||||
@@ -109,10 +109,6 @@ if test x$ac_cv_c_bigendian = xyes ; then
|
|
||||||
CFLAGS="$CFLAGS -D_BIGENDIAN "
|
|
||||||
fi
|
|
||||||
|
|
||||||
-if test $GCC = yes && test $wall_werror = yes; then
|
|
||||||
- CFLAGS="$CFLAGS -Werror "
|
|
||||||
-fi
|
|
||||||
-
|
|
||||||
macosx_found=no
|
|
||||||
|
|
||||||
dnl add thread flags
|
|
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;
|
||||||
|
}
|
||||||
|
}
|
384
linphone.spec
384
linphone.spec
@ -1,43 +1,63 @@
|
|||||||
Name: linphone
|
Name: linphone
|
||||||
Version: 2.1.1
|
Version: 3.6.1
|
||||||
Release: 1%{?dist}
|
Release: 33%{?dist}
|
||||||
Summary: Phone anywhere in the whole world by using the Internet
|
Summary: Phone anywhere in the whole world by using the Internet
|
||||||
|
|
||||||
Group: Applications/Communications
|
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
URL: http://www.linphone.org/
|
URL: http://www.linphone.org/
|
||||||
Source0: http://download.savannah.nongnu.org/releases/linphone/2.1.x/sources/%{name}-%{version}.tar.gz
|
|
||||||
Patch0: linphone-2.1.0-imagedir.patch
|
|
||||||
Patch1: linphone-2.1.0-ni_maxhost_hack.patch
|
|
||||||
Patch2: linphone-2.1.0-no_werror.patch
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
||||||
|
|
||||||
BuildRequires: libosip2-devel >= 3.1.0
|
Source0: http://download.savannah.gnu.org/releases/linphone/3.7.x/sources/%{name}-%{version}.tar.gz
|
||||||
BuildRequires: libeXosip2-devel >= 3.1.0
|
Patch0: linphone-3.6.1-rootca.patch
|
||||||
BuildRequires: ortp-devel >= 0.14.2
|
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: readline-devel
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
|
|
||||||
BuildRequires: gtk2-devel
|
BuildRequires: libnotify-devel
|
||||||
|
BuildRequires: gtk2-devel >= 2.16
|
||||||
BuildRequires: alsa-lib-devel
|
BuildRequires: alsa-lib-devel
|
||||||
|
|
||||||
|
BuildRequires: opus-devel
|
||||||
BuildRequires: speex-devel >= 1.2
|
BuildRequires: speex-devel >= 1.2
|
||||||
|
BuildRequires: speexdsp-devel >= 1.2
|
||||||
|
BuildRequires: spandsp-devel
|
||||||
BuildRequires: gsm-devel
|
BuildRequires: gsm-devel
|
||||||
|
|
||||||
BuildRequires: desktop-file-utils
|
BuildRequires: desktop-file-utils
|
||||||
|
|
||||||
BuildRequires: perl(XML::Parser)
|
BuildRequires: perl(XML::Parser)
|
||||||
|
|
||||||
BuildRequires: docbook-utils
|
BuildRequires: libglade2-devel
|
||||||
|
|
||||||
BuildRequires: automake
|
|
||||||
BuildRequires: autoconf
|
|
||||||
BuildRequires: libtool
|
|
||||||
BuildRequires: intltool
|
BuildRequires: intltool
|
||||||
BuildRequires: gettext
|
BuildRequires: doxygen
|
||||||
|
|
||||||
#BuildRequires: popt-devel
|
BuildRequires: libtool
|
||||||
|
|
||||||
|
BuildRequires: ortp-devel >= 1:0.22.0
|
||||||
|
Requires: ortp%{?_isa} >= 1:0.22.0
|
||||||
|
|
||||||
%description
|
%description
|
||||||
Linphone is mostly sip compliant. It works successfully with these
|
Linphone is mostly sip compliant. It works successfully with these
|
||||||
@ -57,102 +77,318 @@ Linphone may work also with other sip phones, but this has not been tested yet.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development libraries for linphone
|
Summary: Development libraries for linphone
|
||||||
Group: Development/Libraries
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: %{name} = %{version}-%{release} glib2-devel
|
Requires: linphone-mediastreamer-devel%{?_isa} = %{version}-%{release}
|
||||||
|
Requires: glib2-devel%{?_isa}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Libraries and headers required to develop software with linphone.
|
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
|
%prep
|
||||||
%setup0 -q
|
%setup0 -q
|
||||||
%patch0 -p1
|
%patch0 -p1 -b .rootca
|
||||||
%patch1 -p1
|
%ifarch %{arm}
|
||||||
%patch2 -p1
|
%patch1 -p1 -b .arm
|
||||||
|
%endif
|
||||||
|
%patch2 -p1 -b .theora-fix
|
||||||
|
%if 0%{?fedora} > 28
|
||||||
|
%patch3 -p2 -b .upnp-fix
|
||||||
|
%endif
|
||||||
|
|
||||||
|
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
|
||||||
|
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
|
||||||
|
|
||||||
#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
|
|
||||||
#done
|
|
||||||
#popd
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
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 \
|
%configure --disable-static \
|
||||||
--disable-rpath \
|
--enable-glx \
|
||||||
--enable-console_ui=yes \
|
--disable-ffmpeg \
|
||||||
--enable-gtk_ui=yes \
|
--disable-rpath \
|
||||||
--enable-ipv6 \
|
--enable-console_ui=yes \
|
||||||
--enable-truespeech \
|
--enable-gtk_ui=yes \
|
||||||
--disable-video \
|
--enable-ipv6 \
|
||||||
--enable-alsa \
|
--enable-truespeech \
|
||||||
--enable-strict \
|
--enable-alsa \
|
||||||
--enable-external-ortp
|
--disable-strict \
|
||||||
|
--enable-nonstandard-gsm \
|
||||||
|
--enable-rsvp \
|
||||||
|
--enable-ssl \
|
||||||
|
--enable-zrtp \
|
||||||
|
%ifarch i686 armv7hl
|
||||||
|
--disable-upnp \
|
||||||
|
%endif
|
||||||
|
--enable-external-ortp
|
||||||
|
|
||||||
make %{?_smp_mflags}
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
make install DESTDIR=$RPM_BUILD_ROOT
|
make install DESTDIR=$RPM_BUILD_ROOT
|
||||||
install -p -m 0644 pixmaps/linphone2.png $RPM_BUILD_ROOT%{_datadir}/pixmaps
|
|
||||||
%find_lang %{name}
|
%find_lang %{name}
|
||||||
rm $RPM_BUILD_ROOT%{_datadir}/gnome/apps/Internet/linphone.desktop
|
%find_lang mediastreamer
|
||||||
desktop-file-install --vendor=fedora \
|
|
||||||
|
desktop-file-install \
|
||||||
--delete-original \
|
--delete-original \
|
||||||
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
--dir $RPM_BUILD_ROOT%{_datadir}/applications \
|
||||||
--remove-category Application \
|
--remove-category Application \
|
||||||
--add-category Telephony \
|
--add-category Telephony \
|
||||||
--add-category GTK \
|
--add-category GTK \
|
||||||
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
|
||||||
rm -f %{buildroot}%{_libdir}/*.la
|
|
||||||
|
|
||||||
%clean
|
rm -f $RPM_BUILD_ROOT%{_libdir}/*.la
|
||||||
rm -rf $RPM_BUILD_ROOT
|
|
||||||
|
|
||||||
%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
|
%files -f %{name}.lang
|
||||||
%defattr(-,root,root)
|
|
||||||
%doc AUTHORS ChangeLog COPYING NEWS README TODO
|
%doc AUTHORS ChangeLog COPYING NEWS README TODO
|
||||||
%{_bindir}/*
|
%{_bindir}/linphone
|
||||||
%{_libdir}/liblinphone.so.*
|
%{_bindir}/linphonec
|
||||||
%{_libdir}/libmediastreamer.so.*
|
%{_bindir}/linphonecsh
|
||||||
%{_libexecdir}/*
|
%{_bindir}/lpc2xml_test
|
||||||
|
%{_bindir}/xml2lpc_test
|
||||||
|
%{_libdir}/liblinphone.so.5*
|
||||||
|
%{_libdir}/liblpc2xml.so.0*
|
||||||
|
%{_libdir}/libxml2lpc.so.0*
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
%lang(cs) %{_mandir}/cs/man1/*
|
%lang(cs) %{_mandir}/cs/man1/*
|
||||||
%{_datadir}/applications/*%{name}.desktop
|
%{_datadir}/applications/*%{name}.desktop
|
||||||
%{_datadir}/gnome/help/linphone
|
%{_datadir}/gnome/help/linphone
|
||||||
%{_datadir}/pixmaps/linphone
|
%{_datadir}/pixmaps/linphone
|
||||||
%{_datadir}/pixmaps/linphone2.png
|
|
||||||
%{_datadir}/sounds/linphone
|
%{_datadir}/sounds/linphone
|
||||||
%{_datadir}/images/linphone
|
%{_datadir}/linphone
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%doc doc/linphone/html
|
||||||
%{_includedir}/linphone
|
%{_includedir}/linphone
|
||||||
%{_includedir}/mediastreamer2
|
|
||||||
%{_libdir}/liblinphone.so
|
%{_libdir}/liblinphone.so
|
||||||
%{_libdir}/libmediastreamer.so
|
%{_libdir}/liblpc2xml.so
|
||||||
%{_libdir}/pkgconfig/*
|
%{_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
|
%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
|
* Thu Feb 14 2008 Jeffrey C. Ollie <jeff@ocjtech.us> - 2.1.1-1
|
||||||
- Update to 2.1.1
|
- Update to 2.1.1
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user