diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m
index 377144a3b..c50bc9652 100644
--- a/Classes/LinphoneAppDelegate.m
+++ b/Classes/LinphoneAppDelegate.m
@@ -66,6 +66,10 @@
@"NO", @"enable_first_login_view_preference", //
#ifdef HAVE_AMR
@"YES",@"amr_8k_preference", // enable amr by default if compiled with
+#endif
+#ifdef HAVE_SILK
+ @"YES",@"silk_16k_preference", // enable amr by default if compiled with
+ @"YES",@"silk_24k_preference", // enable amr by default if compiled with
#endif
//@"+33",@"countrycode_preference",
nil];
diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist
index bcefa25a7..7715921d9 100644
--- a/Settings.bundle/Root.plist
+++ b/Settings.bundle/Root.plist
@@ -98,26 +98,6 @@
Type
PSGroupSpecifier
-
- DefaultValue
-
- Key
- silk_24k_preference
- Title
- Silk 24Khz
- Type
- PSToggleSwitchSpecifier
-
-
- DefaultValue
-
- Key
- silk_16k_preference
- Title
- Silk 16Khz
- Type
- PSToggleSwitchSpecifier
-
DefaultValue
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index 0e72bd0ae..fe4a6f189 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -33,7 +33,7 @@
22226C1D11819B34000CA27B /* history-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 22226C1C11819B34000CA27B /* history-orange.png */; };
222A483412F7176F0075F07F /* IncallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 222A483112F7176F0075F07F /* IncallViewController.xib */; };
223148E41178A08200637D6A /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E31178A08200637D6A /* libilbc.a */; };
- 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E51178A09900637D6A /* libmsilbc.a */; };
+ 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E51178A09900637D6A /* libmsilbc.a */; settings = {ATTRIBUTES = (Weak, ); }; };
2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; };
223963171393CFAF001DE689 /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = 223963161393CFAF001DE689 /* FastAddressBook.m */; };
2242D91610D66BF300E9963F /* in_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91410D66BF300E9963F /* in_call.png */; };
@@ -47,7 +47,6 @@
2245F78A1201D38000C4179D /* MoreViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A81B111C44E100B04932 /* MoreViewController.xib */; };
2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; };
2248E99F12F801C200220D9C /* LinphoneManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E99E12F801C200220D9C /* LinphoneManager.m */; };
- 225AA31E14520E5400BA809B /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225AA31D14520E5400BA809B /* libSKP_SILK_SDK.a */; };
225CB2EA11ABB51000628906 /* clavier-01-106px.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2E811ABB51000628906 /* clavier-01-106px.png */; };
225CB2EB11ABB51000628906 /* clavier-01-108px.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2E911ABB51000628906 /* clavier-01-108px.png */; };
225CB2EE11ABB65D00628906 /* clavier-01-160px.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2ED11ABB65D00628906 /* clavier-01-160px.png */; };
@@ -87,6 +86,7 @@
288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */ = {isa = PBXBuildFile; fileRef = 70571E1913FABCB000CDD3C2 /* rootca.pem */; };
F0A486D91404FE53009EC0BE /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0A486D71404FE53009EC0BE /* libsrtp.a */; };
+ F0DDBA23145AE3F6000ABF7F /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0DDBA22145AE3F6000ABF7F /* libmssilk.a */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -282,7 +282,6 @@
2248E99D12F801C200220D9C /* LinphoneManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LinphoneManager.h; sourceTree = ""; };
2248E99E12F801C200220D9C /* LinphoneManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LinphoneManager.m; sourceTree = ""; };
2258633C11410BAC00C5A737 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; };
- 225AA31D14520E5400BA809B /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; };
225CB2E811ABB51000628906 /* clavier-01-106px.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "clavier-01-106px.png"; path = "Resources/clavier-01-106px.png"; sourceTree = ""; };
225CB2E911ABB51000628906 /* clavier-01-108px.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "clavier-01-108px.png"; path = "Resources/clavier-01-108px.png"; sourceTree = ""; };
225CB2ED11ABB65D00628906 /* clavier-01-160px.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "clavier-01-160px.png"; path = "Resources/clavier-01-160px.png"; sourceTree = ""; };
@@ -408,6 +407,8 @@
70571E1913FABCB000CDD3C2 /* rootca.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rootca.pem; path = Resources/rootca.pem; sourceTree = ""; };
8D1107310486CEB800E47090 /* linphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "linphone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; };
F0A486D71404FE53009EC0BE /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; };
+ F0DDBA22145AE3F6000ABF7F /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; };
+ F0DDBA24145AE46C000ABF7F /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -415,7 +416,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 225AA31E14520E5400BA809B /* libSKP_SILK_SDK.a in Frameworks */,
+ F0DDBA23145AE3F6000ABF7F /* libmssilk.a in Frameworks */,
22E5B0AF133B5EA20044EA25 /* libssl.a in Frameworks */,
22E5B0B0133B5EA20044EA25 /* libcrypto.a in Frameworks */,
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */,
@@ -798,7 +799,8 @@
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
- 225AA31D14520E5400BA809B /* libSKP_SILK_SDK.a */,
+ F0DDBA24145AE46C000ABF7F /* libmssilk.a */,
+ F0DDBA22145AE3F6000ABF7F /* libmssilk.a */,
F0A486D71404FE53009EC0BE /* libsrtp.a */,
2214783B1386A2030020F8B8 /* Localizable.strings */,
22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */,
@@ -1054,6 +1056,7 @@
ARCHS = (
armv7,
armv6,
+ i386,
);
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COPY_PHASE_STRIP = NO;
@@ -1128,6 +1131,7 @@
ARCHS = (
armv7,
armv6,
+ i386,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
@@ -1203,6 +1207,7 @@
ARCHS = (
armv7,
armv6,
+ i386,
);
CODE_SIGN_ENTITLEMENTS = untitled.plist;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";
diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk
index 04ba96837..9fe55de5b 100644
--- a/submodules/build/builder-iphone-os.mk
+++ b/submodules/build/builder-iphone-os.mk
@@ -43,7 +43,6 @@ linphone_configure_controls= --disable-video \
SPEEX_LIBS="-L$(prefix)/lib -lspeexdsp -lspeex " \
OPENSSL_CFLAGS="-I$(prefix)/include" \
OPENSSL_LIBS="-L$(prefix)/lib -lssl -lcrypto"
- MSSILK_CFLAGS="-I$(prefix)/include/silk"
ifeq ($(enable_zrtp),yes)
linphone_configure_controls+= --with-srtp=$(prefix) --enable-zrtp=yes --disable-tests
endif
@@ -82,7 +81,7 @@ endif
prefix?=$(BUILDER_SRC_DIR)/../liblinphone-sdk/$(host)
-all: build-linphone build-msilbc build-msamr
+.NOTPARALLEL all: build-linphone build-msilbc build-msamr build-mssilk
clean-makefile: clean-makefile-linphone
clean: clean-linphone
@@ -93,17 +92,17 @@ init:
veryclean: veryclean-linphone
rm -rf $(BUILDER_BUILD_DIR)
-.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-silk $(LINPHONE_BUILD_DIR)/Makefile
+.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm $(LINPHONE_BUILD_DIR)/Makefile
cd $(LINPHONE_BUILD_DIR) && export PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make newdate && make && make install
-clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-silk
+clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk
cd $(LINPHONE_BUILD_DIR) && make clean
-veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-silk
+veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk
#-cd $(LINPHONE_BUILD_DIR) && make distclean
-cd $(LINPHONE_SRC_DIR) && rm -f configure
-clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr
+clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-mssilk
cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile
diff --git a/submodules/build/builders.d/mssilk.mk b/submodules/build/builders.d/mssilk.mk
new file mode 100644
index 000000000..ff1616db3
--- /dev/null
+++ b/submodules/build/builders.d/mssilk.mk
@@ -0,0 +1,53 @@
+############################################################################
+# mssilk.mk
+# Copyright (C) 2011 Belledonne Communications,Grenoble France
+#
+############################################################################
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+############################################################################
+mssilk_dir?=mssilk
+
+ifneq (,$(findstring arm,$(host)))
+ MSSILK_CONFIGURE_OPTION := --with-silk-flavour=ARM
+endif
+
+$(BUILDER_SRC_DIR)/$(mssilk_dir)/configure:
+ echo -e "\033[01;32m Running autogen for mssilk in $(BUILDER_SRC_DIR)/$(mssilk_dir) \033[0m"
+ cd $(BUILDER_SRC_DIR)/$(mssilk_dir) && ./autogen.sh
+
+$(BUILDER_BUILD_DIR)/$(mssilk_dir)/Makefile: $(BUILDER_SRC_DIR)/$(mssilk_dir)/configure
+ echo -e "\033[01;32m Running configure in $(BUILDER_BUILD_DIR)/$(mssilk_dir) \033[0m"
+ mkdir -p $(BUILDER_BUILD_DIR)/$(mssilk_dir)
+ cd $(BUILDER_BUILD_DIR)/$(mssilk_dir)/ \
+ && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \
+ $(BUILDER_SRC_DIR)/$(mssilk_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} \
+ $(MSSILK_CONFIGURE_OPTION) --enable-static
+
+
+build-mssilk: $(BUILDER_BUILD_DIR)/$(mssilk_dir)/Makefile
+ echo -e "\033[01;32m building silk \033[0m"
+ cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make -j1 && make install
+
+clean-mssilk:
+ cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && make clean
+
+veryclean-mssilk:
+ -cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && make distclean
+ rm -f $(BUILDER_SRC_DIR)/$(mssilk_dir)/configure
+
+clean-makefile-mssilk:
+ cd $(BUILDER_BUILD_DIR)/$(mssilk_dir) && rm -f Makefile
diff --git a/submodules/build/builders.d/silk.mk b/submodules/build/builders.d/silk.mk
deleted file mode 100644
index 8bc9599fd..000000000
--- a/submodules/build/builders.d/silk.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-############################################################################
-# silk.mk
-# Copyright (C) 2011 Belledonne Communications,Grenoble France
-#
-############################################################################
-#
-# This program is free software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-############################################################################
-
-SILK_BUILD_DIR?=$(BUILDER_BUILD_DIR)/externals/silk
-
-ifneq (,$(findstring i386,$(host)))
- src := SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_FIX_v1.0.8
-else
- src := SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8
-endif
-ifneq (,$(findstring armv7,$(host)))
- make_options := USE_NEON=yes
-endif
-
-$(SILK_BUILD_DIR)/Makefile:
- mkdir -p $(BUILDER_BUILD_DIR)/externals \
- && cd $(BUILDER_BUILD_DIR)/externals \
- && rm -rf silk \
- && wget http://developer.skype.com/silk/SILK_SDK_SRC_v1.0.8.zip \
- && unzip SILK_SDK_SRC_v1.0.8.zip \
- && rm -f SILK_SDK_SRC_v1.0.8.zip \
- && mv ${src} silk \
- && rm -rf SILK_SDK_SRC_v1.0.8
-
-build-silk: $(SILK_BUILD_DIR)/Makefile
- cd $(SILK_BUILD_DIR) && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \
- && make -j1 all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ CXX="$$CXX" CC="$$CC -mno-thumb -g" LD="$$LD" $(make_options) ADDED_DEFINES+=IPHONE \
- && mkdir -p $(prefix)/include/silk \
- && cp -f $(SILK_BUILD_DIR)/interface/* $(prefix)/include/silk \
- && cp -f lib*.a $(prefix)/lib
-
-clean-silk:
- cd $(SILK_BUILD_DIR) && make clean
-
-clean-makefile-silk:
-
-veryclean-silk:
- rm -rf $(SILK_BUILD_DIR)
-
diff --git a/submodules/linphone b/submodules/linphone
index 388ef155a..9720942c6 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit 388ef155ae078d2423cb7d8fddb7529be000bc52
+Subproject commit 9720942c63319dae94425e4543c4b7d5edb885be