From dcd82abac0e25d9ba320531d92e0de6bbfa242a5 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Tue, 13 Sep 2011 15:24:12 +0200 Subject: [PATCH 01/10] updated repository --- submodules/libilbc-rfc3951 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/libilbc-rfc3951 b/submodules/libilbc-rfc3951 index 8af11e23e..af32518af 160000 --- a/submodules/libilbc-rfc3951 +++ b/submodules/libilbc-rfc3951 @@ -1 +1 @@ -Subproject commit 8af11e23e482c98a40e5661c16974b297a0d0396 +Subproject commit af32518af41f97caee07070234a3475409b9a27d From 43f7b8e728d351108a790a9e0854724e71fc90cf Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Wed, 5 Oct 2011 09:06:41 +0200 Subject: [PATCH 02/10] Add SRTP_CFLAGS to mk --- submodules/build/builder-iphone-os.mk | 1 + 1 file changed, 1 insertion(+) diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index dfe132a06..a07964a8f 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -38,6 +38,7 @@ linphone_configure_controls= --disable-video \ --with-gsm=$(prefix) \ LIBZRTPCPP_CFLAGS="-I$(prefix)/include" \ LIBZRTPCPP_LIBS="-L$(prefix)/lib -lzrtpcpp -lcrypto" \ + SRTP_CFLAGS="-I$(prefix)/include" \ SRTP_LIBS="-L$(prefix)/lib -lsrtp -lcrypto" \ SPEEX_CFLAGS="-I$(prefix)/include" \ SPEEXDSP_CFLAGS="-I$(prefix)/include" \ From 95d7808e58d7ef5c235ac9f3456517e254851dd0 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 14 Oct 2011 17:25:02 +0200 Subject: [PATCH 03/10] update osip refference --- submodules/externals/osip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/externals/osip b/submodules/externals/osip index 7dbd4b443..9e8c64cff 160000 --- a/submodules/externals/osip +++ b/submodules/externals/osip @@ -1 +1 @@ -Subproject commit 7dbd4b443eed178480b76498173e7bffc7e73d00 +Subproject commit 9e8c64cff496d2794fe352a6a3907e0e36988931 From 04a9435c2aa2e3fdea63f6e227861fc7507ec5c9 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Thu, 20 Oct 2011 10:20:33 +0200 Subject: [PATCH 04/10] update linphone/ms2 with silk --- linphone.xcodeproj/project.pbxproj | 2 - submodules/build/builders.d/silk.mk | 13 +- .../liblinphone.xcodeproj/project.pbxproj | 194 +++--------------- submodules/linphone | 2 +- 4 files changed, 40 insertions(+), 171 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index d8240f0ba..db84d1971 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -406,7 +406,6 @@ 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 = ""; }; - F0A486DB14050008009EC0BE /* libstdc++.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = "libstdc++.dylib"; path = "usr/lib/gcc/arm-apple-darwin10/4.0.1/libstdc++.dylib"; sourceTree = SDKROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -796,7 +795,6 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( - F0A486DB14050008009EC0BE /* libstdc++.dylib */, F0A486D71404FE53009EC0BE /* libsrtp.a */, 2214783B1386A2030020F8B8 /* Localizable.strings */, 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */, diff --git a/submodules/build/builders.d/silk.mk b/submodules/build/builders.d/silk.mk index 5e848ab79..348fcbb54 100644 --- a/submodules/build/builders.d/silk.mk +++ b/submodules/build/builders.d/silk.mk @@ -23,13 +23,12 @@ SILK_BUILD_DIR?=$(BUILDER_BUILD_DIR)/externals/silk ifneq (,$(findstring i386,$(host))) - make_options := TARGET_MTUNE=i386 TARGET_ARCH=i386 -endif -ifneq (,$(findstring armv6,$(host))) - make_options := TARGET_ARCH="-arch armv6" + 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 TARGET_ARCH="armv7 -mno-thumb" + make_options := USE_NEON=yes endif $(SILK_BUILD_DIR)/Makefile: @@ -39,12 +38,12 @@ $(SILK_BUILD_DIR)/Makefile: && 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 SILK_SDK_SRC_v1.0.8/SILK_SDK_SRC_ARM_v1.0.8 silk \ + && 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 all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ $(make_options) ADDED_DEFINES+=IPHONE \ + && make all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ CXX="$$CXX" CC="$$CC -mno-thumb -falign-functions=4" 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 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 2e20db1a8..e1c5e06cd 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -7,10 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 2203126F139F61990049A2ED /* ioscapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D15AB3139F505400C7713A /* ioscapture.m */; }; - 2203127213A247B50049A2ED /* iosdisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = 2203127013A247B40049A2ED /* iosdisplay.h */; }; - 2203127313A247B50049A2ED /* iosdisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = 2203127113A247B40049A2ED /* iosdisplay.m */; }; - 2203127613A249F70049A2ED /* filter-template.c in Sources */ = {isa = PBXBuildFile; fileRef = 2203127413A249F70049A2ED /* filter-template.c */; }; 220ED19A13A8F87700AC21E0 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19713A8F87700AC21E0 /* libspeexdsp.a */; }; 220ED19B13A8F87700AC21E0 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19813A8F87700AC21E0 /* libspeex.a */; }; 220ED19C13A8F87700AC21E0 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19913A8F87700AC21E0 /* libortp.a */; }; @@ -20,18 +16,9 @@ 220ED1A313A903BF00AC21E0 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A213A903BF00AC21E0 /* libgsm.a */; }; 220ED1A713A9040700AC21E0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */; }; 220ED1A913A9041800AC21E0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A813A9041800AC21E0 /* AVFoundation.framework */; }; - 220ED1AC13A9062600AC21E0 /* nowebcam.h in Headers */ = {isa = PBXBuildFile; fileRef = 220ED1AA13A9062500AC21E0 /* nowebcam.h */; }; - 220ED1AD13A9062600AC21E0 /* nowebcam.c in Sources */ = {isa = PBXBuildFile; fileRef = 220ED1AB13A9062500AC21E0 /* nowebcam.c */; }; - 221F589C13AB4FC500D603C9 /* msvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F589B13AB4FC500D603C9 /* msvideo.c */; }; 221F58A013AB50F800D603C9 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 221F589F13AB50F800D603C9 /* CoreMedia.framework */; }; - 221F58A213AB6F8100D603C9 /* pixconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A113AB6F8000D603C9 /* pixconv.c */; }; 221F58A413AB708C00D603C9 /* alldescs.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F58A313AB708C00D603C9 /* alldescs.h */; }; 221F58A813AB716400D603C9 /* tonedetector.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A513AB716300D603C9 /* tonedetector.c */; }; - 221F58A913AB716400D603C9 /* jpegwriter.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A613AB716300D603C9 /* jpegwriter.c */; }; - 221F58AA13AB716400D603C9 /* h264dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A713AB716300D603C9 /* h264dec.c */; }; - 221F58AC13AB71A400D603C9 /* sizeconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58AB13AB71A400D603C9 /* sizeconv.c */; }; - 221F58AE13ABA42800D603C9 /* scaler.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58AD13ABA42800D603C9 /* scaler.c */; }; - 221F58E413AF44B300D603C9 /* scaler.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F58E313AF44B300D603C9 /* scaler.h */; }; 222CA63211F6CF7600621220 /* allfilters.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BE11F6CF7600621220 /* allfilters.h */; }; 222CA63311F6CF7600621220 /* dsptools.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BF11F6CF7600621220 /* dsptools.h */; }; 222CA63411F6CF7600621220 /* dtmfgen.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5C011F6CF7600621220 /* dtmfgen.h */; }; @@ -69,8 +56,6 @@ 222CA65811F6CF7600621220 /* dtmfgen.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5E811F6CF7600621220 /* dtmfgen.c */; }; 222CA65B11F6CF7600621220 /* equalizer.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5EB11F6CF7600621220 /* equalizer.c */; }; 222CA65C11F6CF7600621220 /* eventqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5EC11F6CF7600621220 /* eventqueue.c */; }; - 222CA65D11F6CF7600621220 /* extdisplay.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5ED11F6CF7600621220 /* extdisplay.c */; }; - 222CA65E11F6CF7600621220 /* ffmpeg-priv.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */; }; 222CA65F11F6CF7600621220 /* g711common.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5EF11F6CF7600621220 /* g711common.h */; }; 222CA66011F6CF7600621220 /* gsm.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5F011F6CF7600621220 /* gsm.c */; }; 222CA66211F6CF7600621220 /* ice.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5F211F6CF7600621220 /* ice.c */; }; @@ -139,7 +124,6 @@ 222CA71711F6CF9F00621220 /* scheduler.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6CF11F6CF9F00621220 /* scheduler.c */; }; 222CA71811F6CF9F00621220 /* scheduler.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6D011F6CF9F00621220 /* scheduler.h */; }; 222CA71911F6CF9F00621220 /* sessionset.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D111F6CF9F00621220 /* sessionset.c */; }; - 222CA71A11F6CF9F00621220 /* srtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D211F6CF9F00621220 /* srtp.c */; }; 222CA71B11F6CF9F00621220 /* str_utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D311F6CF9F00621220 /* str_utils.c */; }; 222CA71C11F6CF9F00621220 /* stun.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D411F6CF9F00621220 /* stun.c */; }; 222CA71D11F6CF9F00621220 /* stun_udp.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D511F6CF9F00621220 /* stun_udp.c */; }; @@ -173,20 +157,17 @@ 222CA78511F6CFB100621220 /* sipsetup.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA76311F6CFB100621220 /* sipsetup.c */; }; 222CA78611F6CFB100621220 /* sipsetup.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA76411F6CFB100621220 /* sipsetup.h */; }; 2252935B12F6CA4700DD9BFB /* ec-calibrator.c in Sources */ = {isa = PBXBuildFile; fileRef = 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */; }; - 2258C44113A9377B0087A596 /* swscale.h in Headers */ = {isa = PBXBuildFile; fileRef = 2258C44013A9377B0087A596 /* swscale.h */; }; - 2258C44513A945520087A596 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44213A945520087A596 /* libswscale.a */; }; - 2258C44613A945520087A596 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44313A945520087A596 /* libavutil.a */; }; - 2258C44713A945520087A596 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44413A945520087A596 /* libavcodec.a */; }; - 2258C44B13A946890087A596 /* videostream.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44813A946890087A596 /* videostream.c */; }; - 2258C44C13A946890087A596 /* videoenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44913A946890087A596 /* videoenc.c */; }; - 2258C44D13A946890087A596 /* videodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44A13A946890087A596 /* videodec.c */; }; + 225AA2DC144F077700BA809B /* silk_dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2DA144F077600BA809B /* silk_dec.c */; }; + 225AA2DD144F077700BA809B /* silk_enc.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2DB144F077700BA809B /* silk_enc.c */; }; + 225AA2DF144F0AA800BA809B /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225AA2DE144F0AA800BA809B /* libSKP_SILK_SDK.a */; }; + 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E0144F1C6600BA809B /* bitratedriver.c */; }; + 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E2144F1E3400BA809B /* qosanalyzer.c */; }; + 225AA2E5144F2E0200BA809B /* msprivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 225AA2E4144F2E0200BA809B /* msprivate.h */; }; 225D355A124B1FF60008581C /* linphonecall.c in Sources */ = {isa = PBXBuildFile; fileRef = 225D3559124B1FF60008581C /* linphonecall.c */; }; 229A614D13DDFE3500090183 /* g722_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614913DDFE3500090183 /* g722_decode.c */; }; 229A614E13DDFE3500090183 /* g722_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614A13DDFE3500090183 /* g722_encode.c */; }; 229A614F13DDFE3500090183 /* g722.h in Headers */ = {isa = PBXBuildFile; fileRef = 229A614B13DDFE3500090183 /* g722.h */; }; 229A615013DDFE3500090183 /* msg722.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614C13DDFE3500090183 /* msg722.c */; }; - 229A615313DEE8A500090183 /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 229A615113DEE8A400090183 /* libx264.a */; }; - 229A615413DEE8A500090183 /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 229A615213DEE8A400090183 /* libmsx264.a */; }; 229B9D5913043EAB00EFCD1C /* linphonecore_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */; }; 22A10B5611F84E2D00373793 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B4F11F84E2D00373793 /* config.h */; }; 22A10B5711F84E2D00373793 /* gsm.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5011F84E2D00373793 /* gsm.h */; }; @@ -208,18 +189,10 @@ 22DD21B413A8E3310018ECD4 /* mediastreamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22DD21AD13A8E3310018ECD4 /* mediastreamViewController.m */; }; 22FC56A813CB69FB002FD0F1 /* qualityindicator.c in Sources */ = {isa = PBXBuildFile; fileRef = 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */; }; 22FC56AA13CB6A4F002FD0F1 /* bitratecontrol.c in Sources */ = {isa = PBXBuildFile; fileRef = 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */; }; - 7014533813FA7AEA00A01D86 /* opengles_display.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533513FA7AEA00A01D86 /* opengles_display.c */; }; - 7014533913FA7AEA00A01D86 /* opengles_display.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533613FA7AEA00A01D86 /* opengles_display.h */; }; - 7014533A13FA7AEA00A01D86 /* shaders.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533713FA7AEA00A01D86 /* shaders.c */; }; 7014533C13FA7ECA00A01D86 /* zrtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533B13FA7ECA00A01D86 /* zrtp.h */; }; 7014533E13FA841E00A01D86 /* zrtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533D13FA841E00A01D86 /* zrtp.c */; }; - 7066FC0713E82A3600EFC6DC /* vp8.c in Sources */ = {isa = PBXBuildFile; fileRef = 7066FC0613E82A3600EFC6DC /* vp8.c */; }; - 7066FC0A13E830B800EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0913E830B800EFC6DC /* libvpx.a */; }; 70E542EE13E147C7002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */; }; 70E542F113E147CE002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F013E147CE002BA2C0 /* QuartzCore.framework */; }; - 70E542FA13E14816002BA2C0 /* shaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F613E14816002BA2C0 /* shaders.h */; }; - 70E542FC13E14816002BA2C0 /* yuv2rgb.fs.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */; }; - 70E542FD13E14816002BA2C0 /* yuv2rgb.vs.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */; }; AA747D9F0F9514B9006C5449 /* liblinphone_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */; }; AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; /* End PBXBuildFile section */ @@ -235,9 +208,6 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 2203127013A247B40049A2ED /* iosdisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iosdisplay.h; sourceTree = ""; }; - 2203127113A247B40049A2ED /* iosdisplay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iosdisplay.m; sourceTree = ""; }; - 2203127413A249F70049A2ED /* filter-template.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "filter-template.c"; sourceTree = ""; }; 220ED19713A8F87700AC21E0 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; 220ED19813A8F87700AC21E0 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; 220ED19913A8F87700AC21E0 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; @@ -247,20 +217,11 @@ 220ED1A413A903E100AC21E0 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 220ED1A813A9041800AC21E0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; - 220ED1AA13A9062500AC21E0 /* nowebcam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nowebcam.h; sourceTree = ""; }; - 220ED1AB13A9062500AC21E0 /* nowebcam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nowebcam.c; sourceTree = ""; }; 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; - 221F589B13AB4FC500D603C9 /* msvideo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msvideo.c; sourceTree = ""; }; 221F589D13AB503F00D603C9 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; 221F589F13AB50F800D603C9 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; - 221F58A113AB6F8000D603C9 /* pixconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pixconv.c; sourceTree = ""; }; 221F58A313AB708C00D603C9 /* alldescs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = alldescs.h; path = build/iphone/alldescs.h; sourceTree = ""; }; 221F58A513AB716300D603C9 /* tonedetector.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tonedetector.c; sourceTree = ""; }; - 221F58A613AB716300D603C9 /* jpegwriter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = jpegwriter.c; sourceTree = ""; }; - 221F58A713AB716300D603C9 /* h264dec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = h264dec.c; sourceTree = ""; }; - 221F58AB13AB71A400D603C9 /* sizeconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sizeconv.c; sourceTree = ""; }; - 221F58AD13ABA42800D603C9 /* scaler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scaler.c; sourceTree = ""; }; - 221F58E313AF44B300D603C9 /* scaler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scaler.h; sourceTree = ""; }; 222CA5B911F6CF7600621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA5BA11F6CF7600621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; 222CA5BB11F6CF7600621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; @@ -305,8 +266,6 @@ 222CA5E811F6CF7600621220 /* dtmfgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dtmfgen.c; sourceTree = ""; }; 222CA5EB11F6CF7600621220 /* equalizer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = equalizer.c; sourceTree = ""; }; 222CA5EC11F6CF7600621220 /* eventqueue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = eventqueue.c; sourceTree = ""; }; - 222CA5ED11F6CF7600621220 /* extdisplay.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = extdisplay.c; sourceTree = ""; }; - 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ffmpeg-priv.h"; sourceTree = ""; }; 222CA5EF11F6CF7600621220 /* g711common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = g711common.h; sourceTree = ""; }; 222CA5F011F6CF7600621220 /* gsm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gsm.c; sourceTree = ""; }; 222CA5F211F6CF7600621220 /* ice.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ice.c; sourceTree = ""; }; @@ -387,7 +346,6 @@ 222CA6CF11F6CF9F00621220 /* scheduler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scheduler.c; sourceTree = ""; }; 222CA6D011F6CF9F00621220 /* scheduler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scheduler.h; sourceTree = ""; }; 222CA6D111F6CF9F00621220 /* sessionset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sessionset.c; sourceTree = ""; }; - 222CA6D211F6CF9F00621220 /* srtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = srtp.c; sourceTree = ""; }; 222CA6D311F6CF9F00621220 /* str_utils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = str_utils.c; sourceTree = ""; }; 222CA6D411F6CF9F00621220 /* stun.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stun.c; sourceTree = ""; }; 222CA6D511F6CF9F00621220 /* stun_udp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = stun_udp.c; sourceTree = ""; }; @@ -428,20 +386,17 @@ 222CA76311F6CFB100621220 /* sipsetup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sipsetup.c; sourceTree = ""; }; 222CA76411F6CFB100621220 /* sipsetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sipsetup.h; sourceTree = ""; }; 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ec-calibrator.c"; path = "linphone/coreapi/ec-calibrator.c"; sourceTree = SOURCE_ROOT; }; - 2258C44013A9377B0087A596 /* swscale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swscale.h; sourceTree = ""; }; - 2258C44213A945520087A596 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; - 2258C44313A945520087A596 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; - 2258C44413A945520087A596 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; - 2258C44813A946890087A596 /* videostream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videostream.c; sourceTree = ""; }; - 2258C44913A946890087A596 /* videoenc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videoenc.c; sourceTree = ""; }; - 2258C44A13A946890087A596 /* videodec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videodec.c; sourceTree = ""; }; + 225AA2DA144F077600BA809B /* silk_dec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = silk_dec.c; sourceTree = ""; }; + 225AA2DB144F077700BA809B /* silk_enc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = silk_enc.c; sourceTree = ""; }; + 225AA2DE144F0AA800BA809B /* 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 = ""; }; + 225AA2E0144F1C6600BA809B /* bitratedriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratedriver.c; sourceTree = ""; }; + 225AA2E2144F1E3400BA809B /* qosanalyzer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qosanalyzer.c; sourceTree = ""; }; + 225AA2E4144F2E0200BA809B /* msprivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msprivate.h; sourceTree = ""; }; 225D3559124B1FF60008581C /* linphonecall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linphonecall.c; sourceTree = ""; }; 229A614913DDFE3500090183 /* g722_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_decode.c; sourceTree = ""; }; 229A614A13DDFE3500090183 /* g722_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_encode.c; sourceTree = ""; }; 229A614B13DDFE3500090183 /* g722.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = g722.h; sourceTree = ""; }; 229A614C13DDFE3500090183 /* msg722.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msg722.c; sourceTree = ""; }; - 229A615113DEE8A400090183 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = "../liblinphone-sdk/apple-darwin/lib/libx264.a"; sourceTree = ""; }; - 229A615213DEE8A400090183 /* libmsx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsx264.a; path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsx264.a"; sourceTree = ""; }; 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphonecore_utils.h; sourceTree = ""; }; 22A10B4F11F84E2D00373793 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 22A10B5011F84E2D00373793 /* gsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gsm.h; sourceTree = ""; }; @@ -452,8 +407,6 @@ 22A10B5511F84E2D00373793 /* unproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unproto.h; sourceTree = ""; }; 22A10EE711F8920F00373793 /* mswebcam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mswebcam.c; path = linphone/mediastreamer2/src/mswebcam.c; sourceTree = SOURCE_ROOT; }; 22B5106813AFD37B00CD87DA /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = nowebcamCIF.jpg; path = src/nowebcamCIF.jpg; sourceTree = ""; }; - 22D15AB3139F505400C7713A /* ioscapture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ioscapture.m; sourceTree = ""; }; - 22D15AB5139F579D00C7713A /* qtcapture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = qtcapture.m; sourceTree = ""; }; 22DD19BE13A8D7FA0018ECD4 /* mediastream.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mediastream.app; sourceTree = BUILT_PRODUCTS_DIR; }; 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; @@ -469,18 +422,10 @@ 22DD21AD13A8E3310018ECD4 /* mediastreamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = mediastreamViewController.m; sourceTree = ""; }; 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qualityindicator.c; sourceTree = ""; }; 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratecontrol.c; sourceTree = ""; }; - 7014533513FA7AEA00A01D86 /* opengles_display.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opengles_display.c; sourceTree = ""; }; - 7014533613FA7AEA00A01D86 /* opengles_display.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opengles_display.h; sourceTree = ""; }; - 7014533713FA7AEA00A01D86 /* shaders.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shaders.c; sourceTree = ""; }; 7014533B13FA7ECA00A01D86 /* zrtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zrtp.h; sourceTree = ""; }; 7014533D13FA841E00A01D86 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; - 7066FC0613E82A3600EFC6DC /* vp8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vp8.c; sourceTree = ""; }; - 7066FC0913E830B800EFC6DC /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; 70E542F013E147CE002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; - 70E542F613E14816002BA2C0 /* shaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shaders.h; sourceTree = ""; }; - 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yuv2rgb.fs.h; sourceTree = ""; }; - 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yuv2rgb.vs.h; sourceTree = ""; }; AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = liblinphone_Prefix.pch; sourceTree = SOURCE_ROOT; }; AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D2AAC07E0554694100DB518D /* liblinphone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblinphone.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -491,15 +436,10 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7066FC0A13E830B800EFC6DC /* libvpx.a in Frameworks */, + 225AA2DF144F0AA800BA809B /* libSKP_SILK_SDK.a in Frameworks */, 70E542F113E147CE002BA2C0 /* QuartzCore.framework in Frameworks */, 70E542EE13E147C7002BA2C0 /* OpenGLES.framework in Frameworks */, - 229A615313DEE8A500090183 /* libx264.a in Frameworks */, - 229A615413DEE8A500090183 /* libmsx264.a in Frameworks */, 221F58A013AB50F800D603C9 /* CoreMedia.framework in Frameworks */, - 2258C44513A945520087A596 /* libswscale.a in Frameworks */, - 2258C44613A945520087A596 /* libavutil.a in Frameworks */, - 2258C44713A945520087A596 /* libavcodec.a in Frameworks */, 220ED1A913A9041800AC21E0 /* AVFoundation.framework in Frameworks */, 220ED1A713A9040700AC21E0 /* AudioToolbox.framework in Frameworks */, 220ED1A313A903BF00AC21E0 /* libgsm.a in Frameworks */, @@ -537,17 +477,12 @@ 0867D691FE84028FC02AAC07 /* liblinphone */ = { isa = PBXGroup; children = ( - 7066FC0913E830B800EFC6DC /* libvpx.a */, + 225AA2DE144F0AA800BA809B /* libSKP_SILK_SDK.a */, 70E542F013E147CE002BA2C0 /* QuartzCore.framework */, 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */, - 229A615113DEE8A400090183 /* libx264.a */, - 229A615213DEE8A400090183 /* libmsx264.a */, 221F589F13AB50F800D603C9 /* CoreMedia.framework */, 221F589D13AB503F00D603C9 /* CoreVideo.framework */, 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */, - 2258C44213A945520087A596 /* libswscale.a */, - 2258C44313A945520087A596 /* libavutil.a */, - 2258C44413A945520087A596 /* libavcodec.a */, 220ED1A813A9041800AC21E0 /* AVFoundation.framework */, 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */, 220ED1A413A903E100AC21E0 /* AudioUnit.framework */, @@ -670,34 +605,18 @@ 222CA5DC11F6CF7600621220 /* src */ = { isa = PBXGroup; children = ( - 7014533513FA7AEA00A01D86 /* opengles_display.c */, - 7014533613FA7AEA00A01D86 /* opengles_display.h */, - 7014533713FA7AEA00A01D86 /* shaders.c */, - 7066FC0613E82A3600EFC6DC /* vp8.c */, - 70E542F613E14816002BA2C0 /* shaders.h */, - 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */, - 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */, + 225AA2E4144F2E0200BA809B /* msprivate.h */, + 225AA2E2144F1E3400BA809B /* qosanalyzer.c */, + 225AA2E0144F1C6600BA809B /* bitratedriver.c */, + 225AA2DA144F077600BA809B /* silk_dec.c */, + 225AA2DB144F077700BA809B /* silk_enc.c */, 229A614913DDFE3500090183 /* g722_decode.c */, 229A614A13DDFE3500090183 /* g722_encode.c */, 229A614B13DDFE3500090183 /* g722.h */, 229A614C13DDFE3500090183 /* msg722.c */, 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */, 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */, - 221F58AD13ABA42800D603C9 /* scaler.c */, - 221F58AB13AB71A400D603C9 /* sizeconv.c */, 221F58A513AB716300D603C9 /* tonedetector.c */, - 221F58A613AB716300D603C9 /* jpegwriter.c */, - 221F58A713AB716300D603C9 /* h264dec.c */, - 221F58A113AB6F8000D603C9 /* pixconv.c */, - 221F589B13AB4FC500D603C9 /* msvideo.c */, - 2258C44813A946890087A596 /* videostream.c */, - 2258C44913A946890087A596 /* videoenc.c */, - 2258C44A13A946890087A596 /* videodec.c */, - 2258C44013A9377B0087A596 /* swscale.h */, - 220ED1AA13A9062500AC21E0 /* nowebcam.h */, - 220ED1AB13A9062500AC21E0 /* nowebcam.c */, - 22D15AB5139F579D00C7713A /* qtcapture.m */, - 22D15AB3139F505400C7713A /* ioscapture.m */, 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, 222CA5DD11F6CF7600621220 /* .gitignore */, 222CA5DE11F6CF7600621220 /* _kiss_fft_guts.h */, @@ -709,8 +628,6 @@ 222CA5E811F6CF7600621220 /* dtmfgen.c */, 222CA5EB11F6CF7600621220 /* equalizer.c */, 222CA5EC11F6CF7600621220 /* eventqueue.c */, - 222CA5ED11F6CF7600621220 /* extdisplay.c */, - 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */, 222CA5EF11F6CF7600621220 /* g711common.h */, 222CA5F011F6CF7600621220 /* gsm.c */, 222CA5F211F6CF7600621220 /* ice.c */, @@ -744,10 +661,6 @@ 222CA62311F6CF7600621220 /* ulaw.c */, 222CA62411F6CF7600621220 /* vfw-missing.h */, 222CA62911F6CF7600621220 /* void.c */, - 2203127013A247B40049A2ED /* iosdisplay.h */, - 2203127113A247B40049A2ED /* iosdisplay.m */, - 2203127413A249F70049A2ED /* filter-template.c */, - 221F58E313AF44B300D603C9 /* scaler.h */, ); path = src; sourceTree = ""; @@ -819,7 +732,6 @@ 222CA6CF11F6CF9F00621220 /* scheduler.c */, 222CA6D011F6CF9F00621220 /* scheduler.h */, 222CA6D111F6CF9F00621220 /* sessionset.c */, - 222CA6D211F6CF9F00621220 /* srtp.c */, 222CA6D311F6CF9F00621220 /* str_utils.c */, 222CA6D411F6CF9F00621220 /* stun.c */, 222CA6D511F6CF9F00621220 /* stun_udp.c */, @@ -982,7 +894,6 @@ 222CA64C11F6CF7600621220 /* rfc3984.h in Headers */, 222CA64D11F6CF7600621220 /* waveheader.h in Headers */, 222CA64E11F6CF7600621220 /* _kiss_fft_guts.h in Headers */, - 222CA65E11F6CF7600621220 /* ffmpeg-priv.h in Headers */, 222CA65F11F6CF7600621220 /* g711common.h in Headers */, 222CA66511F6CF7600621220 /* kiss_fft.h in Headers */, 222CA66711F6CF7600621220 /* kiss_fftr.h in Headers */, @@ -1024,17 +935,10 @@ 22A10B5A11F84E2D00373793 /* toast.h in Headers */, 22A10B5B11F84E2D00373793 /* unproto.h in Headers */, 229B9D5913043EAB00EFCD1C /* linphonecore_utils.h in Headers */, - 2203127213A247B50049A2ED /* iosdisplay.h in Headers */, - 220ED1AC13A9062600AC21E0 /* nowebcam.h in Headers */, - 2258C44113A9377B0087A596 /* swscale.h in Headers */, 221F58A413AB708C00D603C9 /* alldescs.h in Headers */, - 221F58E413AF44B300D603C9 /* scaler.h in Headers */, 229A614F13DDFE3500090183 /* g722.h in Headers */, - 70E542FA13E14816002BA2C0 /* shaders.h in Headers */, - 70E542FC13E14816002BA2C0 /* yuv2rgb.fs.h in Headers */, - 70E542FD13E14816002BA2C0 /* yuv2rgb.vs.h in Headers */, - 7014533913FA7AEA00A01D86 /* opengles_display.h in Headers */, 7014533C13FA7ECA00A01D86 /* zrtp.h in Headers */, + 225AA2E5144F2E0200BA809B /* msprivate.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1141,7 +1045,6 @@ 222CA65811F6CF7600621220 /* dtmfgen.c in Sources */, 222CA65B11F6CF7600621220 /* equalizer.c in Sources */, 222CA65C11F6CF7600621220 /* eventqueue.c in Sources */, - 222CA65D11F6CF7600621220 /* extdisplay.c in Sources */, 222CA66011F6CF7600621220 /* gsm.c in Sources */, 222CA66211F6CF7600621220 /* ice.c in Sources */, 222CA66311F6CF7600621220 /* itc.c in Sources */, @@ -1185,7 +1088,6 @@ 222CA71511F6CF9F00621220 /* rtptimer.c in Sources */, 222CA71711F6CF9F00621220 /* scheduler.c in Sources */, 222CA71911F6CF9F00621220 /* sessionset.c in Sources */, - 222CA71A11F6CF9F00621220 /* srtp.c in Sources */, 222CA71B11F6CF9F00621220 /* str_utils.c in Sources */, 222CA71C11F6CF9F00621220 /* stun.c in Sources */, 222CA71D11F6CF9F00621220 /* stun_udp.c in Sources */, @@ -1212,29 +1114,17 @@ 22A10EE811F8920F00373793 /* mswebcam.c in Sources */, 225D355A124B1FF60008581C /* linphonecall.c in Sources */, 2252935B12F6CA4700DD9BFB /* ec-calibrator.c in Sources */, - 2203126F139F61990049A2ED /* ioscapture.m in Sources */, - 2203127313A247B50049A2ED /* iosdisplay.m in Sources */, - 2203127613A249F70049A2ED /* filter-template.c in Sources */, - 220ED1AD13A9062600AC21E0 /* nowebcam.c in Sources */, - 2258C44B13A946890087A596 /* videostream.c in Sources */, - 2258C44C13A946890087A596 /* videoenc.c in Sources */, - 2258C44D13A946890087A596 /* videodec.c in Sources */, - 221F589C13AB4FC500D603C9 /* msvideo.c in Sources */, - 221F58A213AB6F8100D603C9 /* pixconv.c in Sources */, 221F58A813AB716400D603C9 /* tonedetector.c in Sources */, - 221F58A913AB716400D603C9 /* jpegwriter.c in Sources */, - 221F58AA13AB716400D603C9 /* h264dec.c in Sources */, - 221F58AC13AB71A400D603C9 /* sizeconv.c in Sources */, - 221F58AE13ABA42800D603C9 /* scaler.c in Sources */, 22FC56A813CB69FB002FD0F1 /* qualityindicator.c in Sources */, 22FC56AA13CB6A4F002FD0F1 /* bitratecontrol.c in Sources */, 229A614D13DDFE3500090183 /* g722_decode.c in Sources */, 229A614E13DDFE3500090183 /* g722_encode.c in Sources */, 229A615013DDFE3500090183 /* msg722.c in Sources */, - 7066FC0713E82A3600EFC6DC /* vp8.c in Sources */, - 7014533813FA7AEA00A01D86 /* opengles_display.c in Sources */, - 7014533A13FA7AEA00A01D86 /* shaders.c in Sources */, 7014533E13FA841E00A01D86 /* zrtp.c in Sources */, + 225AA2DC144F077700BA809B /* silk_dec.c in Sources */, + 225AA2DD144F077700BA809B /* silk_enc.c in Sources */, + 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */, + 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1303,12 +1193,9 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - __IOSIOUNIT_ENABLED__, + "PACKAGE_DATA_DIR=\\\"\\\"", HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1322,7 +1209,7 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include", + "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = linphone; @@ -1352,12 +1239,9 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - __IOSIOUNIT_ENABLED__, + "PACKAGE_DATA_DIR=\\\"\\\"", HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1371,7 +1255,7 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include", + "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = linphone; @@ -1527,12 +1411,9 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - __IOSIOUNIT_ENABLED__, + "PACKAGE_DATA_DIR=\\\"\\\"", HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1546,7 +1427,7 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include", + "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; PRODUCT_NAME = linphone; @@ -1563,6 +1444,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( + HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1579,10 +1461,6 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, - HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -1612,6 +1490,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( + HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1628,10 +1507,6 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, - HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -1658,6 +1533,7 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( + HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1674,10 +1550,6 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, - VIDEO_ENABLED, - HAVE_LIBAVCODEC_AVCODEC_H, - HAVE_LIBSWSCALE_SWSCALE_H, - HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; diff --git a/submodules/linphone b/submodules/linphone index ba992227d..973953df0 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit ba992227d5ec5521e4fb33a724067560fff24e65 +Subproject commit 973953df07d1c435bd738024400e0ab4603a4fba From 1984838e1b8015978a7b45f12887beed37530c49 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 21 Oct 2011 16:05:43 +0200 Subject: [PATCH 05/10] add silk support --- Classes/LinphoneUI/LinphoneManager.m | 2 + Settings.bundle/Root.plist | 20 ++++++++++ linphone.xcodeproj/project.pbxproj | 12 ++++++ submodules/build/builder-iphone-os.mk | 6 +-- submodules/build/builders.d/silk.mk | 2 +- .../liblinphone.xcodeproj/project.pbxproj | 38 +++++++++++++++---- submodules/linphone | 2 +- 7 files changed, 70 insertions(+), 12 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 5da9509be..a4fd70a2c 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -507,6 +507,8 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach { ms_message("SPEEX codecs deactivated"); } + [self configurePayloadType:"SILK" fromPrefKey:@"silk_24k_preference" withRate:24000]; + [self configurePayloadType:"SILK" fromPrefKey:@"silk_16k_preference" withRate:16000]; [self configurePayloadType:"AMR" fromPrefKey:@"amr_8k_preference" withRate:8000]; [self configurePayloadType:"GSM" fromPrefKey:@"gsm_8k_preference" withRate:8000]; [self configurePayloadType:"iLBC" fromPrefKey:@"ilbc_preference" withRate:8000]; diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist index 7715921d9..1975daac3 100644 --- a/Settings.bundle/Root.plist +++ b/Settings.bundle/Root.plist @@ -98,6 +98,26 @@ Type PSGroupSpecifier + + DefaultValue + + Key + silk_24k_preference + Title + Silk 24Khz + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + speex_16k_preference + Title + Silk 16Khz + Type + PSToggleSwitchSpecifier + DefaultValue diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index db84d1971..73c66fb1b 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1047,6 +1047,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; @@ -1114,6 +1118,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_ENTITLEMENTS = untitled.plist; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = NO; @@ -1182,6 +1190,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); CODE_SIGN_ENTITLEMENTS = untitled.plist; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = NO; diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 729fc4c44..3925cd2fe 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -92,13 +92,13 @@ 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 $(LINPHONE_BUILD_DIR)/Makefile +.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-silk $(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-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-silk 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-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-silk #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure diff --git a/submodules/build/builders.d/silk.mk b/submodules/build/builders.d/silk.mk index 348fcbb54..1ea9e7d03 100644 --- a/submodules/build/builders.d/silk.mk +++ b/submodules/build/builders.d/silk.mk @@ -43,7 +43,7 @@ $(SILK_BUILD_DIR)/Makefile: build-silk: $(SILK_BUILD_DIR)/Makefile cd $(SILK_BUILD_DIR) && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ - && make all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ CXX="$$CXX" CC="$$CC -mno-thumb -falign-functions=4" LD="$$LD" $(make_options) ADDED_DEFINES+=IPHONE \ + && make 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 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index e1c5e06cd..8eca5e9de 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -97,7 +97,6 @@ 222CA6FB11F6CF9F00621220 /* rtpsession.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6AE11F6CF9F00621220 /* rtpsession.h */; }; 222CA6FC11F6CF9F00621220 /* rtpsignaltable.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */; }; 222CA6FD11F6CF9F00621220 /* sessionset.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B011F6CF9F00621220 /* sessionset.h */; }; - 222CA6FE11F6CF9F00621220 /* srtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B111F6CF9F00621220 /* srtp.h */; }; 222CA6FF11F6CF9F00621220 /* str_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B211F6CF9F00621220 /* str_utils.h */; }; 222CA70011F6CF9F00621220 /* stun.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B311F6CF9F00621220 /* stun.h */; }; 222CA70111F6CF9F00621220 /* stun_udp.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B411F6CF9F00621220 /* stun_udp.h */; }; @@ -163,6 +162,7 @@ 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E0144F1C6600BA809B /* bitratedriver.c */; }; 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E2144F1E3400BA809B /* qosanalyzer.c */; }; 225AA2E5144F2E0200BA809B /* msprivate.h in Headers */ = {isa = PBXBuildFile; fileRef = 225AA2E4144F2E0200BA809B /* msprivate.h */; }; + 225AA2FD1451A95400BA809B /* conference.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2FC1451A95400BA809B /* conference.c */; }; 225D355A124B1FF60008581C /* linphonecall.c in Sources */ = {isa = PBXBuildFile; fileRef = 225D3559124B1FF60008581C /* linphonecall.c */; }; 229A614D13DDFE3500090183 /* g722_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614913DDFE3500090183 /* g722_decode.c */; }; 229A614E13DDFE3500090183 /* g722_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614A13DDFE3500090183 /* g722_encode.c */; }; @@ -315,7 +315,6 @@ 222CA6AE11F6CF9F00621220 /* rtpsession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsession.h; sourceTree = ""; }; 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsignaltable.h; sourceTree = ""; }; 222CA6B011F6CF9F00621220 /* sessionset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sessionset.h; sourceTree = ""; }; - 222CA6B111F6CF9F00621220 /* srtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srtp.h; sourceTree = ""; }; 222CA6B211F6CF9F00621220 /* str_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = str_utils.h; sourceTree = ""; }; 222CA6B311F6CF9F00621220 /* stun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun.h; sourceTree = ""; }; 222CA6B411F6CF9F00621220 /* stun_udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun_udp.h; sourceTree = ""; }; @@ -392,6 +391,7 @@ 225AA2E0144F1C6600BA809B /* bitratedriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratedriver.c; sourceTree = ""; }; 225AA2E2144F1E3400BA809B /* qosanalyzer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qosanalyzer.c; sourceTree = ""; }; 225AA2E4144F2E0200BA809B /* msprivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = msprivate.h; sourceTree = ""; }; + 225AA2FC1451A95400BA809B /* conference.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = conference.c; sourceTree = ""; }; 225D3559124B1FF60008581C /* linphonecall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linphonecall.c; sourceTree = ""; }; 229A614913DDFE3500090183 /* g722_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_decode.c; sourceTree = ""; }; 229A614A13DDFE3500090183 /* g722_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_encode.c; sourceTree = ""; }; @@ -693,7 +693,6 @@ 222CA6AE11F6CF9F00621220 /* rtpsession.h */, 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */, 222CA6B011F6CF9F00621220 /* sessionset.h */, - 222CA6B111F6CF9F00621220 /* srtp.h */, 222CA6B211F6CF9F00621220 /* str_utils.h */, 222CA6B311F6CF9F00621220 /* stun.h */, 222CA6B411F6CF9F00621220 /* stun_udp.h */, @@ -746,6 +745,7 @@ 222CA72D11F6CFB100621220 /* coreapi */ = { isa = PBXGroup; children = ( + 225AA2FC1451A95400BA809B /* conference.c */, 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */, 225D3559124B1FF60008581C /* linphonecall.c */, 22A10EE711F8920F00373793 /* mswebcam.c */, @@ -909,7 +909,6 @@ 222CA6FB11F6CF9F00621220 /* rtpsession.h in Headers */, 222CA6FC11F6CF9F00621220 /* rtpsignaltable.h in Headers */, 222CA6FD11F6CF9F00621220 /* sessionset.h in Headers */, - 222CA6FE11F6CF9F00621220 /* srtp.h in Headers */, 222CA6FF11F6CF9F00621220 /* str_utils.h in Headers */, 222CA70011F6CF9F00621220 /* stun.h in Headers */, 222CA70111F6CF9F00621220 /* stun_udp.h in Headers */, @@ -1125,6 +1124,7 @@ 225AA2DD144F077700BA809B /* silk_enc.c in Sources */, 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */, 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */, + 225AA2FD1451A95400BA809B /* conference.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1170,7 +1170,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); COPY_PHASE_STRIP = NO; DSTROOT = /tmp/liblinphone.dst; GCC_DYNAMIC_NO_PIC = NO; @@ -1212,6 +1215,7 @@ "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; }; name = Debug; @@ -1220,7 +1224,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); DSTROOT = /tmp/liblinphone.dst; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -1258,6 +1265,7 @@ "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; }; name = Release; @@ -1392,7 +1400,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); DSTROOT = /tmp/liblinphone.dst; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; @@ -1430,6 +1441,7 @@ "../liblinphone-sdk/apple-darwin/include/silk", ); INSTALL_PATH = /usr/local/lib; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; }; name = DistributionAdhoc; @@ -1438,6 +1450,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1483,6 +1499,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1527,6 +1547,10 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ARCHS = ( + "$(ARCHS_STANDARD_32_BIT)", + armv6, + ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; diff --git a/submodules/linphone b/submodules/linphone index 973953df0..64a23f9b6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 973953df07d1c435bd738024400e0ab4603a4fba +Subproject commit 64a23f9b67cab8aa0f4cac22211722d1fa9e3716 From e24291827d10f7f366de8eeec1670172c7dfaa9a Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 21 Oct 2011 18:25:41 +0200 Subject: [PATCH 06/10] load silk plugin (still some bugs) --- Classes/LinphoneUI/LinphoneManager.m | 7 ++++++- linphone.xcodeproj/project.pbxproj | 21 +++++++++++++++------ submodules/linphone | 2 +- 3 files changed, 22 insertions(+), 8 deletions(-) diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index a4fd70a2c..97b715318 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -35,6 +35,9 @@ extern void libmsilbc_init(); #ifdef HAVE_AMR extern void libmsamr_init(); #endif +#if defined (HAVE_SILK) +extern void libmssilk_init(); +#endif @implementation LinphoneManager @synthesize callDelegate; @synthesize registrationDelegate; @@ -681,7 +684,9 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } libmsilbc_init(); - +#if defined (HAVE_SILK) + libmssilk_init(); +#endif #ifdef HAVE_AMR libmsamr_init(); //load amr plugin if present from the liblinphone sdk #endif /* diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 73c66fb1b..57a14a547 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -1048,7 +1048,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", + armv7, armv6, ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -1058,7 +1058,10 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, @@ -1119,7 +1122,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", + armv7, armv6, ); CODE_SIGN_ENTITLEMENTS = untitled.plist; @@ -1130,7 +1133,10 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, @@ -1191,7 +1197,7 @@ buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", + armv7, armv6, ); CODE_SIGN_ENTITLEMENTS = untitled.plist; @@ -1202,7 +1208,10 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvm.clang.1_0; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, diff --git a/submodules/linphone b/submodules/linphone index 64a23f9b6..a85f334c6 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 64a23f9b67cab8aa0f4cac22211722d1fa9e3716 +Subproject commit a85f334c663037f53f534907e1c357866f636cfe From db47f93693c6ced93f0729f6790fd0bbab4cfb69 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Fri, 21 Oct 2011 23:11:29 +0200 Subject: [PATCH 07/10] fix for silk --- Settings.bundle/Root.plist | 2 +- linphone.xcodeproj/project.pbxproj | 10 +++++++--- submodules/build/builder-iphone-os.mk | 1 + submodules/build/builders.d/silk.mk | 2 +- submodules/liblinphone.xcodeproj/project.pbxproj | 3 +++ submodules/linphone | 2 +- 6 files changed, 14 insertions(+), 6 deletions(-) diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist index 1975daac3..bcefa25a7 100644 --- a/Settings.bundle/Root.plist +++ b/Settings.bundle/Root.plist @@ -112,7 +112,7 @@ DefaultValue Key - speex_16k_preference + silk_16k_preference Title Silk 16Khz Type diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 57a14a547..0e72bd0ae 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -47,6 +47,7 @@ 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 */; }; @@ -281,6 +282,7 @@ 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 = ""; }; @@ -413,6 +415,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 225AA31E14520E5400BA809B /* libSKP_SILK_SDK.a in Frameworks */, 22E5B0AF133B5EA20044EA25 /* libssl.a in Frameworks */, 22E5B0B0133B5EA20044EA25 /* libcrypto.a in Frameworks */, 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, @@ -795,6 +798,7 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( + 225AA31D14520E5400BA809B /* libSKP_SILK_SDK.a */, F0A486D71404FE53009EC0BE /* libsrtp.a */, 2214783B1386A2030020F8B8 /* Localizable.strings */, 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */, @@ -1062,7 +1066,7 @@ IN_LINPHONE, HAVE_SILK, ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -1137,7 +1141,7 @@ IN_LINPHONE, HAVE_SILK, ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, @@ -1212,7 +1216,7 @@ IN_LINPHONE, HAVE_SILK, ); - GCC_VERSION = com.apple.compilers.llvm.clang.1_0; + GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, submodules/linphone/mediastreamer2/include, diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 3925cd2fe..e5a5ef29f 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -43,6 +43,7 @@ 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 diff --git a/submodules/build/builders.d/silk.mk b/submodules/build/builders.d/silk.mk index 1ea9e7d03..8bc9599fd 100644 --- a/submodules/build/builders.d/silk.mk +++ b/submodules/build/builders.d/silk.mk @@ -43,7 +43,7 @@ $(SILK_BUILD_DIR)/Makefile: build-silk: $(SILK_BUILD_DIR)/Makefile cd $(SILK_BUILD_DIR) && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ - && make all TOOLCHAIN_PREFIX=$$SDK_BIN_PATH/ CXX="$$CXX" CC="$$CC -mno-thumb -g" LD="$$LD" $(make_options) ADDED_DEFINES+=IPHONE \ + && 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 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 8eca5e9de..317aeea8b 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -1217,6 +1217,7 @@ INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; + USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; }; name = Debug; }; @@ -1267,6 +1268,7 @@ INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; + USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; }; name = Release; }; @@ -1443,6 +1445,7 @@ INSTALL_PATH = /usr/local/lib; IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; + USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; }; name = DistributionAdhoc; }; diff --git a/submodules/linphone b/submodules/linphone index a85f334c6..388ef155a 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit a85f334c663037f53f534907e1c357866f636cfe +Subproject commit 388ef155ae078d2423cb7d8fddb7529be000bc52 From 9b32774f31c5d1e3ffd61e5df621b79ec4945a81 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Fri, 21 Oct 2011 09:50:42 +0200 Subject: [PATCH 08/10] Set max_calls value to 1 --- linphonerc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/linphonerc b/linphonerc index 7738b6a8b..6f894b055 100644 --- a/linphonerc +++ b/linphonerc @@ -31,4 +31,4 @@ echocancellation=0 [misc] history_max_size=30 - +max_calls=1 From 44d5e1db8c04d1d8a64bb326dcb88a9c6901811f Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Fri, 21 Oct 2011 09:51:48 +0200 Subject: [PATCH 09/10] Define sound interruption handler in objc. Used to pause sip call. --- Classes/LinphoneUI/LinphoneManager.h | 3 ++- Classes/LinphoneUI/LinphoneManager.m | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index 2ed3b0184..1acaebc93 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -18,6 +18,7 @@ */ #import +#import #import #include "linphonecore.h" #import "LogView.h" @@ -28,7 +29,7 @@ typedef enum _Connectivity { ,none } Connectivity; @class FastAddressBook; -@interface LinphoneManager : NSObject { +@interface LinphoneManager : NSObject { @private SCNetworkReachabilityContext proxyReachabilityContext; SCNetworkReachabilityRef proxyReachability; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 97b715318..546aa78dd 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -726,6 +726,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach //init audio session AVAudioSession *audioSession = [AVAudioSession sharedInstance]; BOOL bAudioInputAvailable= [audioSession inputIsAvailable]; + [audioSession setDelegate:self]; if(!bAudioInputAvailable){ UIAlertView* error = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"No microphone",nil) @@ -780,4 +781,20 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach mLogView = view; } +-(void) beginInterruption { + LinphoneCall* c = linphone_core_get_current_call(theLinphoneCore); + ms_message("Sound interruption detected!"); + if (c) { + linphone_core_pause_call(theLinphoneCore, c); + } +} + +-(void) endInterruption { + const MSList* c = linphone_core_get_calls(theLinphoneCore); + ms_message("Sound interruption ended!"); + if (c) { + linphone_core_resume_call(theLinphoneCore, (LinphoneCall*) c->data); + } +} + @end From fc530ed0578510addc280770e092b4cb2b8f7947 Mon Sep 17 00:00:00 2001 From: Pierre-Eric Pelloux-Prayer Date: Mon, 24 Oct 2011 11:28:49 +0200 Subject: [PATCH 10/10] Pause SIP call when audio is interrupted by OS (on incoming GSM call for instance) The SIP call is automatically resumed when audio is available. --- Classes/AdvancedPhoneViewController.m | 8 + Classes/IncallViewController.h | 2 + Classes/IncallViewController.m | 7 + Classes/IncallViewController.xib | 994 +++++++++++------------ Classes/LinphoneUI/LinphoneManager.m | 8 +- Classes/LinphoneUI/LinphoneUIDelegates.h | 1 + Classes/LinphoneUI/UILinphone.h | 1 + Classes/LinphoneUI/UIPauseResumeButton.h | 28 + Classes/LinphoneUI/UIPauseResumeButton.m | 69 ++ Classes/PhoneViewController.m | 4 + 10 files changed, 596 insertions(+), 526 deletions(-) create mode 100644 Classes/LinphoneUI/UIPauseResumeButton.h create mode 100644 Classes/LinphoneUI/UIPauseResumeButton.m diff --git a/Classes/AdvancedPhoneViewController.m b/Classes/AdvancedPhoneViewController.m index 40801743b..9f5c3f633 100644 --- a/Classes/AdvancedPhoneViewController.m +++ b/Classes/AdvancedPhoneViewController.m @@ -51,6 +51,8 @@ } -(void) displayIncallFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName { + [self presentModalViewController:mIncallViewController animated:true]; + [super displayIncallFromUI:viewCtrl forUser:username withDisplayName:displayName]; @@ -65,6 +67,12 @@ [mIncallViewController displayStatus:message]; } +-(void) updateUIFromLinphoneState:(UIViewController*) viewCtrl { + [super updateUIFromLinphoneState:viewCtrl]; + + [mIncallViewController updateUIFromLinphoneState:viewCtrl]; +} + - (void)dealloc { [mIncallViewController release]; [super dealloc]; diff --git a/Classes/IncallViewController.h b/Classes/IncallViewController.h index 51d0869f9..fd783733e 100644 --- a/Classes/IncallViewController.h +++ b/Classes/IncallViewController.h @@ -35,6 +35,7 @@ UIHangUpButton* endCtrl; UIButton* dialer; UIMuteButton* mute; + UIPauseResumeButton* pause; UISpeakerButton* speaker; UIButton* contacts; @@ -74,6 +75,7 @@ @property (nonatomic, retain) IBOutlet UIButton* endCtrl; @property (nonatomic, retain) IBOutlet UIButton* dialer; @property (nonatomic, retain) IBOutlet UIButton* mute; +@property (nonatomic, retain) IBOutlet UIButton* pause; @property (nonatomic, retain) IBOutlet UIButton* speaker; @property (nonatomic, retain) IBOutlet UIButton* contacts; diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index ba06c0292..c3a7464e9 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -35,6 +35,7 @@ @synthesize endCtrl; @synthesize close; @synthesize mute; +@synthesize pause; @synthesize dialer; @synthesize speaker; @synthesize contacts; @@ -70,6 +71,7 @@ [super viewDidLoad]; //Controls [mute initWithOnImage:[UIImage imageNamed:@"mic_muted.png"] offImage:[UIImage imageNamed:@"mic_active.png"] ]; + [pause initWithOnImage:[UIImage imageNamed:@"resumecall.png"] offImage:[UIImage imageNamed:@"pausecall.png"] ]; [speaker initWithOnImage:[UIImage imageNamed:@"Speaker-32-on.png"] offImage:[UIImage imageNamed:@"Speaker-32-off.png"] ]; @@ -127,6 +129,11 @@ [callDuration stop]; [self dismissModalViewControllerAnimated:true]; } +-(void) updateUIFromLinphoneState:(UIViewController *)viewCtrl { + [mute reset]; + [pause reset]; +} + - (IBAction)doAction:(id)sender { if (sender == dialer) { diff --git a/Classes/IncallViewController.xib b/Classes/IncallViewController.xib index 74b79c19f..a2b4e804e 100644 --- a/Classes/IncallViewController.xib +++ b/Classes/IncallViewController.xib @@ -2,30 +2,29 @@ 784 - 10J567 - 823 - 1038.35 - 462.00 + 11C74 + 1938 + 1138.23 + 567.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 132 + 933 - + YES - + IBUIViewController + IBUIButton + IBUIView + IBUILabel + IBProxyObject YES com.apple.InterfaceBuilder.IBCocoaTouchPlugin - YES - - YES - - - YES - + PluginDependencyRecalculationVersion + YES @@ -48,6 +47,8 @@ 292 {320, 55} + + NO YES NO @@ -61,12 +62,23 @@ 1 17 1 + + 1 + 17 + + + Helvetica + 17 + 16 + 292 {{31, 63}, {61, 21}} + + NO YES NO @@ -76,12 +88,16 @@ 1 10 + + 292 {{239, 63}, {65, 21}} + + NO YES NO @@ -91,12 +107,16 @@ 1 10 + + 292 {{31, 347}, {258, 21}} + + NO YES NO @@ -106,27 +126,26 @@ 1 10 + + - + - 292 + -2147483356 YES - - + + 292 - {{0, 61}, {82, 52}} - + {{30, 258}, {80, 65}} + + + NO NO IBCocoaTouchFramework 0 0 - - Helvetica-Bold - 15 - 16 - 3 MQA @@ -139,109 +158,326 @@ 3 MC41AA - - NSImage - mic_active.png - - - - NSImage - mic_muted.png - - - - - - 292 - {{6, 261}, {258, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - + NSImage stopcall-red.png + + Helvetica-Bold + Helvetica + 2 + 15 + + + Helvetica-Bold + 15 + 16 + - - + + 292 - {{92, 121}, {82, 52}} - + {{170, 266}, {72, 37}} + + + NO NO IBCocoaTouchFramework 0 0 - + 1 + close 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - NSImage - contact-orange.png - + + - - + + 292 - {{93, 61}, {82, 52}} - + {{90, 184}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - + 1 + 0 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - NSImage - dialer-orange.png - + + - - + + 292 - {{181, 61}, {82, 52}} - + {{0, 9}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - + 1 + 1 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - NSImage - Speaker-32-off.png + + + + + + 292 + {{90, 9}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 2 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + 292 + {{180, 9}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 3 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{0, 69}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 4 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{90, 69}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 5 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{180, 69}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 6 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{0, 124}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 7 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{90, 124}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 8 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{180, 124}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + 9 + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{0, 184}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + * + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + + + + + 292 + {{180, 184}, {82, 52}} + + + + NO + NO + IBCocoaTouchFramework + 0 + 0 + 1 + # + + + 1 + MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + + {{25, 110}, {270, 317}} + + 3 MSAwAA @@ -253,293 +489,173 @@ NO IBCocoaTouchFramework - + - -2147483356 + 292 YES - - + + 292 - {{30, 258}, {80, 65}} - + {{0, 61}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - + + NSImage + mic_active.png + + + + NSImage + mic_muted.png + + + + - - + + 292 - {{170, 266}, {72, 37}} - + {{0, 121}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - - 1 - close 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + NSImage + pausecall.png + + + + + - - + + 292 - {{90, 184}, {82, 52}} - + {{6, 261}, {258, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - 1 - 0 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + + - - + + 292 - {{0, 9}, {82, 52}} - + {{90, 115}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - - 1 - 1 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + contact-orange.png + + + - - + + 292 - {{90, 9}, {82, 52}} - + {{93, 61}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - - 1 - 2 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + dialer-orange.png + + + - - + + 292 - {{180, 9}, {82, 52}} - + {{181, 61}, {82, 52}} + + + NO NO IBCocoaTouchFramework 0 0 - - 1 - 3 1 MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - 292 - {{0, 69}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 4 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA + + NSImage + Speaker-32-off.png - - - - - 292 - {{90, 69}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 5 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{180, 69}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 6 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{0, 124}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 7 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{90, 124}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 8 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{180, 124}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - 9 - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{0, 184}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - * - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - - - - - 292 - {{180, 184}, {82, 52}} - - NO - NO - IBCocoaTouchFramework - 0 - 0 - - 1 - # - - - 1 - MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA - - + + {{25, 110}, {270, 317}} + + 3 MSAwAA @@ -550,8 +666,10 @@ IBCocoaTouchFramework - {320, 460} + {{0, 20}, {320, 460}} + + 1 MC44MDAwMDAwMTE5IDAuODAwMDAwMDExOSAwLjgwMDAwMDAxMTkAA @@ -561,6 +679,7 @@ + 1 1 IBCocoaTouchFramework @@ -778,6 +897,23 @@ 99 + + + pause + + + + 105 + + + + doAction: + + + 7 + + 103 + doAction: @@ -796,22 +932,15 @@ 101 - - - doAction: - - - 7 - - 103 - YES 0 - + + YES + @@ -841,10 +970,10 @@ YES - + @@ -875,8 +1004,9 @@ - + + controls @@ -1024,6 +1154,12 @@ status + + 104 + + + pauseresume + @@ -1031,8 +1167,12 @@ YES -1.CustomClassName + -1.IBPluginDependency -2.CustomClassName + -2.IBPluginDependency 10.IBPluginDependency + 104.CustomClassName + 104.IBPluginDependency 11.IBPluginDependency 12.CustomClassName 12.IBPluginDependency @@ -1044,7 +1184,6 @@ 17.IBPluginDependency 18.CustomClassName 18.IBPluginDependency - 2.IBEditorWindowLastContentRect 2.IBPluginDependency 26.IBPluginDependency 27.IBPluginDependency @@ -1081,9 +1220,13 @@ YES IncallViewController + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIResponder com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIPauseResumeButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIDuration com.apple.InterfaceBuilder.IBCocoaTouchPlugin UISpeakerButton @@ -1094,7 +1237,6 @@ com.apple.InterfaceBuilder.IBCocoaTouchPlugin UIHangUpButton com.apple.InterfaceBuilder.IBCocoaTouchPlugin - {{14, 634}, {320, 480}} com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -1132,20 +1274,16 @@ YES - - YES - + YES - - YES - + - 103 + 105 @@ -1183,6 +1321,7 @@ nine one padSubView + pause peerName peerNumber seven @@ -1211,6 +1350,7 @@ UIButton UIButton UIView + UIButton UILabel UILabel UIButton @@ -1242,6 +1382,7 @@ nine one padSubView + pause peerName peerNumber seven @@ -1315,6 +1456,10 @@ padSubView UIView + + pause + UIButton + peerName UILabel @@ -1359,7 +1504,7 @@ IBProjectSource - Classes/IncallViewController.h + ./Classes/IncallViewController.h @@ -1367,7 +1512,7 @@ UIButton IBProjectSource - Classes/LinphoneUI/UIDigitButton.h + ./Classes/UIDigitButton.h @@ -1375,7 +1520,7 @@ UILabel IBProjectSource - Classes/LinphoneUI/UIDuration.h + ./Classes/UIDuration.h @@ -1383,7 +1528,7 @@ UIButton IBProjectSource - Classes/LinphoneUI/UIHangUpButton.h + ./Classes/UIHangUpButton.h @@ -1391,7 +1536,15 @@ UIToggleButton IBProjectSource - Classes/LinphoneUI/UIMuteButton.h + ./Classes/UIMuteButton.h + + + + UIPauseResumeButton + UIToggleButton + + IBProjectSource + ./Classes/UIPauseResumeButton.h @@ -1399,223 +1552,15 @@ UIToggleButton IBProjectSource - Classes/LinphoneUI/UISpeakerButton.h + ./Classes/UISpeakerButton.h UIToggleButton UIButton - - mActionHandler - id - - - mActionHandler - - mActionHandler - id - - IBProjectSource - Classes/LinphoneUI/UIToggleButton.h - - - - - YES - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSError.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSFileManager.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueCoding.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyValueObserving.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSKeyedArchiver.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSObject.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSRunLoop.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSThread.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURL.h - - - - NSObject - - IBFrameworkSource - Foundation.framework/Headers/NSURLConnection.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIAccessibility.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UINibLoading.h - - - - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UIResponder.h - - - - UIButton - UIControl - - IBFrameworkSource - UIKit.framework/Headers/UIButton.h - - - - UIControl - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIControl.h - - - - UILabel - UIView - - IBFrameworkSource - UIKit.framework/Headers/UILabel.h - - - - UIResponder - NSObject - - - - UISearchBar - UIView - - IBFrameworkSource - UIKit.framework/Headers/UISearchBar.h - - - - UISearchDisplayController - NSObject - - IBFrameworkSource - UIKit.framework/Headers/UISearchDisplayController.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UIPrintFormatter.h - - - - UIView - - IBFrameworkSource - UIKit.framework/Headers/UITextField.h - - - - UIView - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIView.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UINavigationController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UIPopoverController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UISplitViewController.h - - - - UIViewController - - IBFrameworkSource - UIKit.framework/Headers/UITabBarController.h - - - - UIViewController - UIResponder - - IBFrameworkSource - UIKit.framework/Headers/UIViewController.h + ./Classes/UIToggleButton.h @@ -1628,14 +1573,13 @@ com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS - + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 YES - ../linphone.xcodeproj 3 YES @@ -1646,6 +1590,7 @@ dialer-orange.png mic_active.png mic_muted.png + pausecall.png stopcall-red.png @@ -1653,11 +1598,12 @@ {32, 32} {25, 23} {25, 24} - {32, 32} - {32, 32} + {20, 20} + {20, 20} + {25, 23} {62, 54} - 132 + 933 diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 546aa78dd..af401c7a0 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -790,11 +790,15 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } -(void) endInterruption { - const MSList* c = linphone_core_get_calls(theLinphoneCore); ms_message("Sound interruption ended!"); + const MSList* c = linphone_core_get_calls(theLinphoneCore); + if (c) { + ms_message("Auto resuming call"); linphone_core_resume_call(theLinphoneCore, (LinphoneCall*) c->data); - } + } + + [callDelegate updateUIFromLinphoneState:mCurrentViewController]; } @end diff --git a/Classes/LinphoneUI/LinphoneUIDelegates.h b/Classes/LinphoneUI/LinphoneUIDelegates.h index f1e97c906..081139167 100644 --- a/Classes/LinphoneUI/LinphoneUIDelegates.h +++ b/Classes/LinphoneUI/LinphoneUIDelegates.h @@ -25,6 +25,7 @@ -(void) displayCallInProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; -(void) displayIncomingCallNotigicationFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; -(void) displayIncallFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; +-(void) updateUIFromLinphoneState:(UIViewController*) viewCtrl; //status reporting -(void) displayStatus:(NSString*) message; @end diff --git a/Classes/LinphoneUI/UILinphone.h b/Classes/LinphoneUI/UILinphone.h index dae985a8b..49938a8f7 100644 --- a/Classes/LinphoneUI/UILinphone.h +++ b/Classes/LinphoneUI/UILinphone.h @@ -26,3 +26,4 @@ #import "UIDuration.h" #import "UIEraseButton.h" #import "LinphoneUIDelegates.h" +#import "UIPauseResumeButton.h" diff --git a/Classes/LinphoneUI/UIPauseResumeButton.h b/Classes/LinphoneUI/UIPauseResumeButton.h new file mode 100644 index 000000000..fe5a80e30 --- /dev/null +++ b/Classes/LinphoneUI/UIPauseResumeButton.h @@ -0,0 +1,28 @@ +/* UIMuteButton.h + * + * Copyright (C) 2011 Belledonne Comunications, 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. + */ + +#import +#import "UIToggleButton.h" + + +@interface UIPauseResumeButton : UIToggleButton { + +} + +@end diff --git a/Classes/LinphoneUI/UIPauseResumeButton.m b/Classes/LinphoneUI/UIPauseResumeButton.m new file mode 100644 index 000000000..9cd47f8ac --- /dev/null +++ b/Classes/LinphoneUI/UIPauseResumeButton.m @@ -0,0 +1,69 @@ +/* UIMuteButton.m + * + * Copyright (C) 2011 Belledonne Comunications, 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. + */ +#import "UIPauseResumeButton.h" +#include "LinphoneManager.h" + + +@implementation UIPauseResumeButton + + + +-(void) onOn { + LinphoneCall* c = linphone_core_get_current_call([LinphoneManager getLc]); + if (c) { + linphone_core_pause_call([LinphoneManager getLc], c); + } +} +-(void) onOff { + const MSList* c = linphone_core_get_calls([LinphoneManager getLc]); + if (c) { + linphone_core_resume_call([LinphoneManager getLc], (LinphoneCall*) c->data); + } +} +-(bool) isInitialStateOn { + @try { + const MSList* c = linphone_core_get_calls([LinphoneManager getLc]); + + if (c) { + return linphone_call_get_state((LinphoneCall*)c->data) == LinphoneCallPaused; + } else { + + return false; + } + } @catch(NSException* e) { + //not ready yet + return false; + } + +} + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code. +} +*/ + +- (void)dealloc { + [super dealloc]; +} + + +@end diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 0580b1f20..6b49a18f0 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -234,6 +234,10 @@ [status setText:message]; } +-(void) updateUIFromLinphoneState:(UIViewController*) viewCtrl { + [mute reset]; +} + -(void) displayIncomingCallNotigicationFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName {