diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m
index c57488173..83b755e1c 100644
--- a/Classes/LinphoneUI/LinphoneManager.m
+++ b/Classes/LinphoneUI/LinphoneManager.m
@@ -511,6 +511,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach
[self configurePayloadType:"iLBC" fromPrefKey:@"ilbc_preference" withRate:8000];
[self configurePayloadType:"PCMU" fromPrefKey:@"pcmu_preference" withRate:8000];
[self configurePayloadType:"PCMA" fromPrefKey:@"pcma_preference" withRate:8000];
+ [self configurePayloadType:"G722" fromPrefKey:@"g722_preference" withRate:8000];
//get video codecs from linphonerc
const MSList *videoCodecs=linphone_core_get_video_codecs(theLinphoneCore);
diff --git a/Settings.bundle/audio.plist b/Settings.bundle/audio.plist
index 33d5f5ce2..49c321430 100644
--- a/Settings.bundle/audio.plist
+++ b/Settings.bundle/audio.plist
@@ -20,6 +20,26 @@
Type
PSToggleSwitchSpecifier
+
+ DefaultValue
+
+ Key
+ speex_8k_preference
+ Title
+ Speex 8Khz
+ Type
+ PSToggleSwitchSpecifier
+
+
+ DefaultValue
+
+ Key
+ g722_preference
+ Title
+ G722
+ Type
+ PSToggleSwitchSpecifier
+
DefaultValue
diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj
index d3259db2b..e6c5aac46 100644
--- a/submodules/liblinphone.xcodeproj/project.pbxproj
+++ b/submodules/liblinphone.xcodeproj/project.pbxproj
@@ -181,6 +181,12 @@
2258C44C13A946890087A596 /* videoenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44913A946890087A596 /* videoenc.c */; };
2258C44D13A946890087A596 /* videodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44A13A946890087A596 /* videodec.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 */; };
+ 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 */; };
@@ -243,7 +249,6 @@
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 = ""; };
- 22276E7F13C4637100210156 /* msandroidvideo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = msandroidvideo.cpp; path = "../../../../../../workspace-iphone-port/linphone-iphone-tunnel/submodules/linphone/mediastreamer2/src/msandroidvideo.cpp"; 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 = ""; };
@@ -419,6 +424,12 @@
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 = ""; };
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 = ""; };
@@ -456,6 +467,8 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 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 */,
@@ -497,6 +510,8 @@
0867D691FE84028FC02AAC07 /* liblinphone */ = {
isa = PBXGroup;
children = (
+ 229A615113DEE8A400090183 /* libx264.a */,
+ 229A615213DEE8A400090183 /* libmsx264.a */,
221F589F13AB50F800D603C9 /* CoreMedia.framework */,
221F589D13AB503F00D603C9 /* CoreVideo.framework */,
221F589913AB4EEE00D603C9 /* CoreFoundation.framework */,
@@ -625,9 +640,12 @@
222CA5DC11F6CF7600621220 /* src */ = {
isa = PBXGroup;
children = (
+ 229A614913DDFE3500090183 /* g722_decode.c */,
+ 229A614A13DDFE3500090183 /* g722_encode.c */,
+ 229A614B13DDFE3500090183 /* g722.h */,
+ 229A614C13DDFE3500090183 /* msg722.c */,
22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */,
22FC56A713CB69FA002FD0F1 /* qualityindicator.c */,
- 22276E7F13C4637100210156 /* msandroidvideo.cpp */,
221F58AD13ABA42800D603C9 /* scaler.c */,
221F58AB13AB71A400D603C9 /* sizeconv.c */,
221F58A513AB716300D603C9 /* tonedetector.c */,
@@ -972,6 +990,7 @@
2258C44113A9377B0087A596 /* swscale.h in Headers */,
221F58A413AB708C00D603C9 /* alldescs.h in Headers */,
221F58E413AF44B300D603C9 /* scaler.h in Headers */,
+ 229A614F13DDFE3500090183 /* g722.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1165,6 +1184,9 @@
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 */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -1420,6 +1442,7 @@
VIDEO_ENABLED,
HAVE_LIBAVCODEC_AVCODEC_H,
HAVE_LIBSWSCALE_SWSCALE_H,
+ HAVE_X264,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvmgcc42;
@@ -1428,6 +1451,7 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib\"",
+ "\"$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
);
PRODUCT_NAME = "$(TARGET_NAME)";
WRAPPER_EXTENSION = app;
@@ -1463,6 +1487,7 @@
VIDEO_ENABLED,
HAVE_LIBAVCODEC_AVCODEC_H,
HAVE_LIBSWSCALE_SWSCALE_H,
+ HAVE_X264,
);
GCC_SYMBOLS_PRIVATE_EXTERN = NO;
GCC_VERSION = com.apple.compilers.llvmgcc42;
@@ -1471,6 +1496,7 @@
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib\"",
+ "\"$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"",
);
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
PRODUCT_NAME = "$(TARGET_NAME)";