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