diff --git a/.gitmodules b/.gitmodules
index 2119266b8..1e1d0f7c0 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -54,7 +54,7 @@
url = git://git.linphone.org/polarssl.git
[submodule "submodules/externals/opus"]
path = submodules/externals/opus
- url = http://git.opus-codec.org/opus.git
+ url = git://git.opus-codec.org/opus.git
[submodule "submodules/externals/libxml2"]
path = submodules/externals/libxml2
url = git://git.gnome.org/libxml2
diff --git a/Classes/ContactDetailsTableViewController.m b/Classes/ContactDetailsTableViewController.m
index 51deecea9..2556f7dd7 100644
--- a/Classes/ContactDetailsTableViewController.m
+++ b/Classes/ContactDetailsTableViewController.m
@@ -533,7 +533,8 @@ static const ContactSections_e contactSections[ContactSections_MAX] = {ContactSe
Entry *entry = [sectionDict objectAtIndex:[indexPath row]];
NSString *value = @"";
- NSString *label = @"";
+ // default label is our app name
+ NSString *label = [ContactDetailsTableViewController localizeLabel:[labelArray objectAtIndex:0]];
if(contactSections[[indexPath section]] == ContactSections_Number) {
ABMultiValueRef lMap = ABRecordCopyValue(contact, kABPersonPhoneProperty);
diff --git a/Classes/ContactsViewController.m b/Classes/ContactsViewController.m
index e52695c24..621f3c13f 100644
--- a/Classes/ContactsViewController.m
+++ b/Classes/ContactsViewController.m
@@ -153,6 +153,7 @@ static UICompositeViewDescription *compositeDescription = nil;
CGRect subViewFrame= self.view.frame;
// let the toolBar be visible
subViewFrame.origin.y += self.toolBar.frame.size.height;
+ subViewFrame.size.height -= self.toolBar.frame.size.height;
self.tableController = [[[ContactsTableViewController alloc] init] autorelease];
self.tableView = [[[UITableView alloc] init] autorelease];
@@ -161,7 +162,14 @@ static UICompositeViewDescription *compositeDescription = nil;
self.tableView.frame = subViewFrame;
self.tableView.dataSource = self.tableController;
- self.tableView.delegate = self.tableController;
+ self.tableView.delegate = self.tableController;
+
+ self.tableView.autoresizingMask = UIViewAutoresizingFlexibleHeight |
+ UIViewAutoresizingFlexibleWidth |
+ UIViewAutoresizingFlexibleTopMargin |
+ UIViewAutoresizingFlexibleBottomMargin |
+ UIViewAutoresizingFlexibleLeftMargin |
+ UIViewAutoresizingFlexibleRightMargin;
[self.view addSubview:tableView];
[self update];
@@ -318,7 +326,7 @@ static UICompositeViewDescription *compositeDescription = nil;
- (void)viewDidUnload {
-[self setToolBar:nil];
-[super viewDidUnload];
+ [self setToolBar:nil];
+ [super viewDidUnload];
}
@end
diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m
index 03e5fe394..c2db65be7 100644
--- a/Classes/LinphoneAppDelegate.m
+++ b/Classes/LinphoneAppDelegate.m
@@ -230,6 +230,7 @@
if (linphone_core_get_calls(lc)==NULL){ //if there are calls, obviously our TCP socket shall be working
linphone_core_set_network_reachable(lc, FALSE);
[LinphoneManager instance].connectivity=none; /*force connectivity to be discovered again*/
+ [[LinphoneManager instance] refreshRegisters];
if(loc_key != nil) {
if([loc_key isEqualToString:@"IM_MSG"]) {
[[PhoneMainView instance] addInhibitedEvent:kLinphoneTextReceived];
diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m
index 5903d8acf..616e2c6fe 100644
--- a/Classes/LinphoneCoreSettingsStore.m
+++ b/Classes/LinphoneCoreSettingsStore.m
@@ -278,11 +278,23 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
return [[changedDict valueForKey:key] boolValue];
}
+- (void)alertAccountError:(NSString*)error {
+ UIAlertView* alertview = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Error", nil)
+ message:error
+ delegate:nil
+ cancelButtonTitle:NSLocalizedString(@"OK", nil)
+ otherButtonTitles: nil];
+ [alertview show];
+ [alertview release];
+}
+
- (void)synchronizeAccount {
LinphoneCore *lc = [LinphoneManager getLc];
LpConfig* conf = linphone_core_get_config(lc);
LinphoneManager* lLinphoneMgr = [LinphoneManager instance];
LinphoneProxyConfig* proxyCfg = NULL;
+ NSString* error = nil;
+
/* unregister before modifying any settings */
{
linphone_core_get_default_proxy(lc, &proxyCfg);
@@ -340,13 +352,10 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
bool isOutboundProxy = [self boolForKey:@"outbound_proxy_preference"];
BOOL use_avpf = [self boolForKey:@"avpf_preference"];
- //clear auth info list
- linphone_core_clear_all_auth_info(lc);
- //clear existing proxy config
- linphone_core_clear_proxy_config(lc);
-
if (username && [username length] >0 && domain && [domain length]>0) {
- NSString* proxyAddress = [self stringForKey:@"proxy_preference"];
+ LinphoneAuthInfo *info = NULL;
+
+ NSString* proxyAddress = [self stringForKey:@"proxy_preference"];
if ((!proxyAddress || [proxyAddress length] <1 ) && domain) {
proxyAddress = [NSString stringWithFormat:@"sip:%@",domain] ;
} else {
@@ -378,18 +387,17 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
const char* ha1 = [accountHa1 cStringUsingEncoding:[NSString defaultCStringEncoding]];
// configure proxy entries
- linphone_proxy_config_set_identity(proxyCfg, identity);
- linphone_proxy_config_set_server_addr(proxyCfg, proxy);
- linphone_proxy_config_enable_register(proxyCfg, true);
+ if( linphone_proxy_config_set_identity(proxyCfg, identity) == -1 ) { error = NSLocalizedString(@"Invalid username or domain",nil); goto bad_proxy; }
+ if( linphone_proxy_config_set_server_addr(proxyCfg, proxy) == -1 ) { error = NSLocalizedString(@"Invalid proxy address", nil); goto bad_proxy; }
+
+ linphone_proxy_config_enable_register(proxyCfg, true);
linphone_proxy_config_enable_avpf(proxyCfg, use_avpf);
// add username password
LinphoneAddress *from = linphone_address_new(identity);
- LinphoneAuthInfo *info;
if (from != 0){
info=linphone_auth_info_new(linphone_address_get_username(from),NULL,password,ha1,NULL,linphone_proxy_config_get_domain(proxyCfg));
- linphone_core_add_auth_info(lc,info);
linphone_address_destroy(from);
}
@@ -422,13 +430,27 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args);
lp_config_set_int(conf, LINPHONERC_APPLICATION_KEY, "pushnotification_preference", pushnotification);
[[LinphoneManager instance] addPushTokenToProxyConfig:proxyCfg];
-
+
+ // We reached here: the new settings are correct, so replace the previous ones.
+ linphone_core_clear_proxy_config(lc);
+ linphone_core_clear_all_auth_info(lc);
+
+ // add proxy and auth info
linphone_core_add_proxy_config(lc,proxyCfg);
- //set to default proxy
linphone_core_set_default_proxy(lc,proxyCfg);
-
- linphone_address_destroy(linphoneAddress);
- ms_free(proxy);
+ if( info )
+ linphone_core_add_auth_info(lc,info);
+
+ bad_proxy:
+ if( linphoneAddress)
+ linphone_address_destroy(linphoneAddress);
+ if( proxy)
+ ms_free(proxy);
+ if( info )
+ linphone_auth_info_destroy(info);
+ if( error != nil ){
+ [self alertAccountError:error];
+ }
}
[[[LinphoneManager instance] fastAddressBook] reload];
}
diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m
index 3a5927891..a02a9774d 100644
--- a/Classes/LinphoneManager.m
+++ b/Classes/LinphoneManager.m
@@ -643,8 +643,13 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char
}
}
+ // we keep the speaker auto-enabled state in this static so that we don't
+ // force-enable it on ICE re-invite if the user disabled it.
+ static BOOL speaker_already_enabled = FALSE;
+
// Disable speaker when no more call
if ((state == LinphoneCallEnd || state == LinphoneCallError)) {
+ speaker_already_enabled = FALSE;
if(linphone_core_get_calls_nb(theLinphoneCore) == 0) {
[self setSpeakerEnabled:FALSE];
[self removeCTCallCenterCb];
@@ -695,8 +700,9 @@ static void linphone_iphone_display_status(struct _LinphoneCore * lc, const char
state == LinphoneCallOutgoingInit ||
state == LinphoneCallConnected ||
state == LinphoneCallStreamsRunning) {
- if (linphone_call_params_video_enabled(linphone_call_get_current_params(call))) {
+ if (linphone_call_params_video_enabled(linphone_call_get_current_params(call)) && !speaker_already_enabled) {
[self setSpeakerEnabled:TRUE];
+ speaker_already_enabled = TRUE;
}
}
if (state == LinphoneCallConnected && !mCallCenter) {
diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m
index 61ac13dbf..0446280bd 100644
--- a/Classes/LinphoneUI/UICallCell.m
+++ b/Classes/LinphoneUI/UICallCell.m
@@ -147,7 +147,7 @@
options:nil];
if ([arrayOfViews count] >= 1) {
- [self.contentView addSubview:[arrayOfViews objectAtIndex:0]];
+ [self addSubview:[arrayOfViews objectAtIndex:0]];
}
// Set selected+over background: IB lack !
[pauseButton setImage:[UIImage imageNamed:@"call_state_pause_over.png"]
@@ -343,6 +343,7 @@
#pragma mark - Animation Functions
- (void)startBlinkAnimation:(NSString *)animationID target:(UIView *)target {
+ if( [[LinphoneManager instance] lpConfigBoolForKey:@"animations_preference"]){
CABasicAnimation *blink = [CABasicAnimation animationWithKeyPath:@"opacity"];
blink.duration = 1.0;
blink.fromValue = [NSNumber numberWithDouble:0.0f];
@@ -351,6 +352,9 @@
blink.autoreverses = TRUE;
blink.repeatCount = HUGE_VALF;
[target.layer addAnimation:blink forKey:animationID];
+ } else {
+ [target setAlpha:1.0f];
+ }
}
- (BOOL)isBlinkAnimationRunning:(NSString *)animationID target:(UIView *)target {
@@ -358,7 +362,9 @@
}
- (void)stopBlinkAnimation:(NSString *)animationID target:(UIView *)target {
+ if( [self isBlinkAnimationRunning:animationID target:target] ){
[target.layer removeAnimationForKey:animationID];
+ }
[target setAlpha:0.0f];
}
diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m
index 7fe696aef..55521d1af 100644
--- a/Classes/LinphoneUI/UIChatCell.m
+++ b/Classes/LinphoneUI/UIChatCell.m
@@ -114,7 +114,7 @@
// Message
if(url) {
[chatContentLabel setText:@""];
- } else {
+ } else if (text) {
NSString *message = [NSString stringWithUTF8String:text];
// shorten long messages
if([message length] > 50)
diff --git a/Classes/LinphoneUI/UIChatRoomCell.m b/Classes/LinphoneUI/UIChatRoomCell.m
index f2d3f4b74..eea11e183 100644
--- a/Classes/LinphoneUI/UIChatRoomCell.m
+++ b/Classes/LinphoneUI/UIChatRoomCell.m
@@ -110,9 +110,9 @@ static UIFont *CELL_FONT = nil;
[LinphoneLogger logc:LinphoneLoggerWarning format:"Cannot update chat room cell: null chat"];
return;
}
- const char*url = linphone_chat_message_get_external_body_url(chat);
- const char*text = linphone_chat_message_get_text(chat);
- BOOL is_external = url && (strstr(url, "http") == url);
+ const char* url = linphone_chat_message_get_external_body_url(chat);
+ const char* text = linphone_chat_message_get_text(chat);
+ BOOL is_external = url && (strstr(url, "http") == url);
NSString* localImage = [LinphoneManager getMessageAppDataForKey:@"localimage" inMessage:chat];
@@ -151,14 +151,18 @@ static UIFont *CELL_FONT = nil;
} else {
// simple text message
[messageText setHidden:FALSE];
- /* We need to use an attributed string here so that data detector don't mess
- * with the text style. See http://stackoverflow.com/a/20669356 */
- NSAttributedString* attr_text = [[NSAttributedString alloc]
- initWithString:[NSString stringWithUTF8String:text]
- attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17.0],
- NSForegroundColorAttributeName:[UIColor darkGrayColor]}];
- messageText.attributedText = attr_text;
- [attr_text release];
+ if (text ){
+ /* We need to use an attributed string here so that data detector don't mess
+ * with the text style. See http://stackoverflow.com/a/20669356 */
+ NSAttributedString* attr_text = [[NSAttributedString alloc]
+ initWithString:[NSString stringWithUTF8String:text]
+ attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:17.0],
+ NSForegroundColorAttributeName:[UIColor darkGrayColor]}];
+ messageText.attributedText = attr_text;
+ [attr_text release];
+ } else {
+ messageText.text = @"";
+ }
[messageImageView setImage:nil];
[messageImageView setHidden:TRUE];
diff --git a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj
index 22312f246..e45af12bf 100755
--- a/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj
+++ b/Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj
@@ -223,7 +223,7 @@
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0450;
+ LastUpgradeCheck = 0510;
};
buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "NinePatch" */;
compatibilityVersion = "Xcode 3.2";
diff --git a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj
index 2785ba644..5cc078b9c 100755
--- a/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj
+++ b/Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj
@@ -317,7 +317,7 @@
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0450;
+ LastUpgradeCheck = 0510;
};
buildConfigurationList = 1DEB91B108733DA50010E9CD /* Build configuration list for PBXProject "XMLRPC" */;
compatibilityVersion = "Xcode 3.2";
diff --git a/linphone-Info.plist b/linphone-Info.plist
index 8c7ffad31..42923db82 100644
--- a/linphone-Info.plist
+++ b/linphone-Info.plist
@@ -59,7 +59,7 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 3.5.104
+ 3.7
CFBundleURLTypes
@@ -100,7 +100,7 @@
CFBundleVersion
- 2.1.2
+ 2.2
NSMainNibFile
LinphoneApp
NSMainNibFile~ipad
diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj
index d48d714a6..4873280e9 100755
--- a/linphone.xcodeproj/project.pbxproj
+++ b/linphone.xcodeproj/project.pbxproj
@@ -10,7 +10,6 @@
045B5CB318D72E9A0088350C /* libbzrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 045B5CB218D72E9A0088350C /* libbzrtp.a */; };
15017E701773578400784ACB /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15017E6F1773578400784ACB /* libxml2.a */; };
15017E71177357C500784ACB /* libxml2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 15017E6F1773578400784ACB /* libxml2.a */; };
- 1560821D18EEF23F00765332 /* libwels.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1560821C18EEF23F00765332 /* libwels.a */; };
1560821F18EEF26100765332 /* libmsopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 1560821E18EEF26100765332 /* libmsopenh264.a */; };
1599105316F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; };
1599105416F746B2007BF52B /* route_bluetooth_off_default_landscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */; };
@@ -118,6 +117,8 @@
224567C2107B968500F10948 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 224567C1107B968500F10948 /* AVFoundation.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
2245F78A1201D38000C4179D /* AboutViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A81B111C44E100B04932 /* AboutViewController.xib */; };
2248E90E12F7E4CF00220D9C /* UIDigitButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 2248E90D12F7E4CF00220D9C /* UIDigitButton.m */; };
+ 22509042196BD902007863F6 /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22509041196BD902007863F6 /* libopenh264.a */; };
+ 22509043196BD902007863F6 /* libopenh264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22509041196BD902007863F6 /* libopenh264.a */; };
225CB2FA11ABB76400628906 /* linphone-banner.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2F911ABB76400628906 /* linphone-banner.png */; };
226183AD1472527D0037138E /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */; };
226183AE1472527D0037138E /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AB1472527D0037138E /* libsrtp.a */; };
@@ -1499,7 +1500,6 @@
/* Begin PBXFileReference section */
045B5CB218D72E9A0088350C /* libbzrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libbzrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libbzrtp.a"; sourceTree = ""; };
15017E6F1773578400784ACB /* libxml2.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libxml2.a; path = "liblinphone-sdk/apple-darwin/lib/libxml2.a"; sourceTree = ""; };
- 1560821C18EEF23F00765332 /* libwels.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libwels.a; path = "liblinphone-sdk/apple-darwin/lib/libwels.a"; sourceTree = ""; };
1560821E18EEF26100765332 /* libmsopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsopenh264.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsopenh264.a"; sourceTree = ""; };
1599104316F746B2007BF52B /* route_bluetooth_off_default_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_default_landscape.png; path = Resources/route_bluetooth_off_default_landscape.png; sourceTree = ""; };
1599104416F746B2007BF52B /* route_bluetooth_off_disabled_landscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = route_bluetooth_off_disabled_landscape.png; path = Resources/route_bluetooth_off_disabled_landscape.png; sourceTree = ""; };
@@ -1575,6 +1575,7 @@
224567C1107B968500F10948 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; };
2248E90C12F7E4CF00220D9C /* UIDigitButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDigitButton.h; sourceTree = ""; };
2248E90D12F7E4CF00220D9C /* UIDigitButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDigitButton.m; sourceTree = ""; };
+ 22509041196BD902007863F6 /* libopenh264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libopenh264.a; path = "liblinphone-sdk/apple-darwin/lib/libopenh264.a"; sourceTree = ""; };
2258633C11410BAC00C5A737 /* README */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = README; sourceTree = ""; };
225CB2F911ABB76400628906 /* linphone-banner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "linphone-banner.png"; path = "liblinphone-sdk/apple-darwin/share/pixmaps/linphone/linphone-banner.png"; sourceTree = ""; };
226183AA1472527D0037138E /* 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 = ""; };
@@ -2388,7 +2389,7 @@
buildActionMask = 2147483647;
files = (
1560821F18EEF26100765332 /* libmsopenh264.a in Frameworks */,
- 1560821D18EEF23F00765332 /* libwels.a in Frameworks */,
+ 22509042196BD902007863F6 /* libopenh264.a in Frameworks */,
15017E701773578400784ACB /* libxml2.a in Frameworks */,
22AF73C21754C0D100BE8398 /* libopus.a in Frameworks */,
57B0E360173C010400A476B8 /* libpolarssl.a in Frameworks */,
@@ -2486,6 +2487,7 @@
22D8F177147548E2008C97DB /* libortp.a in Frameworks */,
22D8F17F147548E2008C97DB /* libsrtp.a in Frameworks */,
22D8F16E147548E2008C97DB /* libspeex.a in Frameworks */,
+ 22509043196BD902007863F6 /* libopenh264.a in Frameworks */,
22D8F16F147548E2008C97DB /* libspeexdsp.a in Frameworks */,
22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */,
223CA7E816D9256E00EF1BEC /* libantlr3c.a in Frameworks */,
@@ -2791,6 +2793,7 @@
29B97323FDCFA39411CA2CEA /* Frameworks */ = {
isa = PBXGroup;
children = (
+ 22509041196BD902007863F6 /* libopenh264.a */,
223CA7E416D9255800EF1BEC /* libantlr3c.a */,
22276E8013C73D3100210156 /* libavcodec.a */,
22276E8113C73D3100210156 /* libavutil.a */,
@@ -2822,7 +2825,6 @@
22276E8213C73D3100210156 /* libswscale.a */,
D30BF33216A427BC00AF0026 /* libtunnel.a */,
7066FC0B13E830E400EFC6DC /* libvpx.a */,
- 1560821C18EEF23F00765332 /* libwels.a */,
22AA8AFB13D7125500B30535 /* libx264.a */,
15017E6F1773578400784ACB /* libxml2.a */,
344ABDEF14850AE9007420B6 /* libc++.1.dylib */,
@@ -5424,9 +5426,9 @@
);
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
HEADER_SEARCH_PATHS = (
- "liblinphone-sdk/apple-darwin/include",
- Classes/Utils/NinePatch/,
- Classes/Utils/XMLRPC/,
+ "$(SRCROOT)/liblinphone-sdk/apple-darwin/include",
+ "$(SRCROOT)/Classes/Utils/NinePatch/",
+ "$(SRCROOT)/Classes/Utils/XMLRPC/",
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
@@ -5434,6 +5436,7 @@
"$(BUILT_PRODUCTS_DIR)",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
+ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
@@ -5486,15 +5489,14 @@
GCC_PREFIX_HEADER = linphone_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
VIDEO_ENABLED,
- HAVE_OPENH264,
HAVE_SILK,
HAVE_SSL,
);
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
HEADER_SEARCH_PATHS = (
- "liblinphone-sdk/apple-darwin/include",
- Classes/Utils/NinePatch/,
- Classes/Utils/XMLRPC/,
+ "$(SRCROOT)/liblinphone-sdk/apple-darwin/include",
+ "$(SRCROOT)/Classes/Utils/NinePatch/",
+ "$(SRCROOT)/Classes/Utils/XMLRPC/",
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
@@ -5502,6 +5504,7 @@
"$(BUILT_PRODUCTS_DIR)",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
+ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
@@ -5518,6 +5521,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = "iPhone Developer";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
@@ -5542,12 +5546,16 @@
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
+<<<<<<< HEAD
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
+=======
+>>>>>>> 862a6dee1b28a62ff81181eed799e487b901dd01
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
+ PROVISIONING_PROFILE = "";
SKIP_INSTALL = NO;
};
name = Debug;
@@ -5557,6 +5565,7 @@
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_IDENTITY = "iPhone Developer";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
@@ -5581,12 +5590,16 @@
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
+<<<<<<< HEAD
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
+=======
+>>>>>>> 862a6dee1b28a62ff81181eed799e487b901dd01
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
+ PROVISIONING_PROFILE = "";
SKIP_INSTALL = NO;
};
name = Release;
@@ -5597,6 +5610,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "iPhone Developer";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
@@ -5621,12 +5635,16 @@
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
+<<<<<<< HEAD
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
+=======
+>>>>>>> 862a6dee1b28a62ff81181eed799e487b901dd01
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
+ PROVISIONING_PROFILE = "";
SKIP_INSTALL = NO;
};
name = Distribution;
@@ -5637,6 +5655,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CODE_SIGN_ENTITLEMENTS = "";
CODE_SIGN_IDENTITY = "iPhone Developer";
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
COMPRESS_PNG_FILES = NO;
COPY_PHASE_STRIP = NO;
FRAMEWORK_SEARCH_PATHS = "";
@@ -5661,12 +5680,16 @@
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
+<<<<<<< HEAD
"$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
+=======
+>>>>>>> 862a6dee1b28a62ff81181eed799e487b901dd01
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
OTHER_LDFLAGS = "-ObjC";
PRODUCT_NAME = "linphone-no-gpl-thirdparties";
+ PROVISIONING_PROFILE = "";
SKIP_INSTALL = NO;
};
name = DistributionAdhoc;
@@ -5711,15 +5734,14 @@
GCC_PREFIX_HEADER = linphone_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
VIDEO_ENABLED,
- HAVE_X264,
HAVE_SILK,
HAVE_SSL,
);
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
HEADER_SEARCH_PATHS = (
- "liblinphone-sdk/apple-darwin/include",
- Classes/Utils/NinePatch/,
- Classes/Utils/XMLRPC/,
+ "$(SRCROOT)/liblinphone-sdk/apple-darwin/include",
+ "$(SRCROOT)/Classes/Utils/NinePatch/",
+ "$(SRCROOT)/Classes/Utils/XMLRPC/",
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
@@ -5727,6 +5749,7 @@
"$(BUILT_PRODUCTS_DIR)",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
+ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
@@ -5779,15 +5802,14 @@
GCC_PREFIX_HEADER = linphone_Prefix.pch;
GCC_PREPROCESSOR_DEFINITIONS = (
VIDEO_ENABLED,
- HAVE_X264,
HAVE_SILK,
HAVE_SSL,
);
GCC_TREAT_WARNINGS_AS_ERRORS = NO;
HEADER_SEARCH_PATHS = (
- "liblinphone-sdk/apple-darwin/include",
- Classes/Utils/NinePatch/,
- Classes/Utils/XMLRPC/,
+ "$(SRCROOT)/liblinphone-sdk/apple-darwin/include",
+ "$(SRCROOT)/Classes/Utils/NinePatch/",
+ "$(SRCROOT)/Classes/Utils/XMLRPC/",
);
INFOPLIST_FILE = "linphone-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 6.0;
@@ -5795,6 +5817,7 @@
"$(BUILT_PRODUCTS_DIR)",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins",
"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib",
+ "$(PROJECT_DIR)/liblinphone-sdk/apple-darwin/lib",
);
LINK_WITH_STANDARD_LIBRARIES = YES;
ORDER_FILE = "";
diff --git a/submodules/belle-sip b/submodules/belle-sip
index 292c86922..46c40fd48 160000
--- a/submodules/belle-sip
+++ b/submodules/belle-sip
@@ -1 +1 @@
-Subproject commit 292c86922290ba88e52dc0b6eb8e780a04a60492
+Subproject commit 46c40fd4809dd8d46a6568fa1245150711ec27fd
diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk
index 1999059ba..8a8b45c1b 100644
--- a/submodules/build/builder-iphone-os.mk
+++ b/submodules/build/builder-iphone-os.mk
@@ -327,14 +327,12 @@ delivery-sdk: multi-arch
-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.pbxuser \
-x liblinphone-tutorials/hello-world/hello-world.xcodeproj/*.mode1v3
-delivery:
- cd $(BUILDER_SRC_DIR)/../ \
+.PHONY delivery:
+ cd $(BUILDER_SRC_DIR)/../../ \
&& zip -r $(BUILDER_SRC_DIR)/linphone-iphone.zip \
- liblinphone-sdk linphone-iphone linphone/pixmaps/red.png \
- linphone/pixmaps/green.png linphone/share/ringback.wav \
- linphone/share/rings/oldphone-mono.wav \
+ linphone-iphone \
-x linphone-iphone/build\* \
- -x \*.git\*
+ --exclude linphone-iphone/.git\* --exclude \*.[od] --exclude \*.so.\* --exclude \*.a --exclude linphone-iphone/liblinphone-sdk/apple-darwin/\* --exclude \*.lo
ipa:
cd $(BUILDER_SRC_DIR)/../ \
diff --git a/submodules/build/builders.d/openh264-permissive.patch b/submodules/build/builders.d/openh264-permissive.patch
index 859db1ee1..bff18b6ce 100644
--- a/submodules/build/builders.d/openh264-permissive.patch
+++ b/submodules/build/builders.d/openh264-permissive.patch
@@ -4,19 +4,6 @@ Date: Tue Apr 15 15:19:37 2014 +0200
permissive mode: allow reference frames to be used even if there were lost slices.
-diff --git a/codec/decoder/core/src/decoder_core.cpp b/codec/decoder/core/src/decoder_core.cpp
-index c19f501..a14e971 100644
---- a/codec/decoder/core/src/decoder_core.cpp
-+++ b/codec/decoder/core/src/decoder_core.cpp
-@@ -58,7 +58,7 @@ static inline int32_t DecodeFrameConstruction (PWelsDecoderContext pCtx, uint8_t
- WelsLog (pCtx, WELS_LOG_WARNING,
- "DecodeFrameConstruction():::iTotalNumMbRec:%d, total_num_mb_sps:%d, cur_layer_mb_width:%d, cur_layer_mb_height:%d --\n",
- pCtx->iTotalNumMbRec, kiTotalNumMbInCurLayer, pCurDq->iMbWidth, pCurDq->iMbHeight);
-- return -1;
-+ //return -1;
- }
- #ifdef NO_WAITING_AU
- pCtx->iTotalNumMbRec = 0;
diff --git a/codec/decoder/core/src/manage_dec_ref.cpp b/codec/decoder/core/src/manage_dec_ref.cpp
index dcf61ca..5582ec9 100644
--- a/codec/decoder/core/src/manage_dec_ref.cpp
diff --git a/submodules/build/builders.d/openh264.mk b/submodules/build/builders.d/openh264.mk
index b229d2899..88b03249c 100644
--- a/submodules/build/builders.d/openh264.mk
+++ b/submodules/build/builders.d/openh264.mk
@@ -46,7 +46,7 @@ update-openh264: patch-openh264
build-openh264: update-openh264
cd $(BUILDER_BUILD_DIR)/$(openh264_dir) \
- && make libraries OS=ios ARCH=$(ARCH) PREFIX=$(prefix)\
+ && make CC="xcrun clang" CXX="xcrun clang++" libraries OS=ios ARCH=$(ARCH) PREFIX=$(prefix)\
&& make install OS=ios ARCH=$(ARCH) PREFIX=$(prefix)
clean-openh264:
diff --git a/submodules/externals/openh264 b/submodules/externals/openh264
index b2f7191fa..bdb7d758c 160000
--- a/submodules/externals/openh264
+++ b/submodules/externals/openh264
@@ -1 +1 @@
-Subproject commit b2f7191fa7e213f5b63b8e31936b962bae6adc2f
+Subproject commit bdb7d758c1edce3c42c7fdc203328aae28f08008
diff --git a/submodules/linphone b/submodules/linphone
index de1852357..7f4afe295 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit de18523576bf1bc69e781ab0ac7a27295e0f3dbd
+Subproject commit 7f4afe2954c1f92df5ca57e2a14e44e152e2b244
diff --git a/submodules/msopenh264 b/submodules/msopenh264
index c871fcf27..ae2270dca 160000
--- a/submodules/msopenh264
+++ b/submodules/msopenh264
@@ -1 +1 @@
-Subproject commit c871fcf27d125fb0a5f3c2f15595f59290b2e047
+Subproject commit ae2270dcaaabb0cc5980783fc5fb6ac5365ee03f