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