From ee3b842abc6ca9c0470e2ddf5b08fe7f93bdee30 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Thu, 3 Jul 2014 15:47:10 +0200 Subject: [PATCH 01/19] Fix contact address label in contact details view for when it is unknown. --- Classes/ContactDetailsTableViewController.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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); From ac10eddeb439d10f41960ef3d0c81a726f40658f Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Thu, 3 Jul 2014 16:49:48 +0200 Subject: [PATCH 02/19] Update linphone for monocore iOS --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index de1852357..34682b3f5 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit de18523576bf1bc69e781ab0ac7a27295e0f3dbd +Subproject commit 34682b3f59094e0d45fbe7e216da9704a7e0ff42 From 92defb9ca327c7a9e8f8bfa0f1bf2525ca3dd819 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Fri, 4 Jul 2014 10:59:49 +0200 Subject: [PATCH 03/19] Null check --- Classes/LinphoneUI/UIChatCell.m | 2 +- Classes/LinphoneUI/UIChatRoomCell.m | 26 +++++++++++++++----------- 2 files changed, 16 insertions(+), 12 deletions(-) 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]; From ea5bb01d709db0ddd8c77e4044ae92637e6ee886 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Fri, 4 Jul 2014 12:30:44 +0200 Subject: [PATCH 04/19] Handle bad proxy configuration with error messages --- Classes/LinphoneCoreSettingsStore.m | 54 ++++++++++++++++++++--------- 1 file changed, 38 insertions(+), 16 deletions(-) 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]; } From 966f8dc9a29d88960d84235a590f7e9b51891884 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Fri, 4 Jul 2014 12:31:17 +0200 Subject: [PATCH 05/19] Don't re-enable the speaker in video if the user disabled it. This can happen when there's an ICE reinvite. --- Classes/LinphoneManager.m | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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) { From 12fc7dcf6b6335ca5b9eb3ef5f8255367a06ceee Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Fri, 4 Jul 2014 12:51:30 +0200 Subject: [PATCH 06/19] Don't animate the UICall cell when no animation is wanted --- Classes/LinphoneUI/UICallCell.m | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m index 61ac13dbf..c6d97473a 100644 --- a/Classes/LinphoneUI/UICallCell.m +++ b/Classes/LinphoneUI/UICallCell.m @@ -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]; } From 1f257de73b77a3c0d53f39c4240bd138bc3c17e8 Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Sun, 6 Jul 2014 23:53:11 +0200 Subject: [PATCH 07/19] update linphone submodule (fixes compilation problem) --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index 34682b3f5..f0106e285 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 34682b3f59094e0d45fbe7e216da9704a7e0ff42 +Subproject commit f0106e285caa1e0a0bccfde559b027723031d398 From a0f724ceabf9a08c47042ea4e31b92b59044c6fe Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Fri, 4 Jul 2014 14:51:11 +0200 Subject: [PATCH 08/19] Dont bother me with subproject updates, thanks --- Classes/Utils/NinePatch/NinePatch.xcodeproj/project.pbxproj | 2 +- Classes/Utils/XMLRPC/XMLRPC.xcodeproj/project.pbxproj | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) 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"; From 204f46b124a8b28ed96ec160a3f262b0b507deb9 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 10:05:42 +0200 Subject: [PATCH 09/19] Update linphone and belle-sip --- submodules/belle-sip | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 5450869240fed2acbc775ad847bb6501d0b3bcc5 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 10:31:10 +0200 Subject: [PATCH 10/19] Bump version for next release --- linphone-Info.plist | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 From c8d293fded411e32bbc0e875d29632b1b064711a Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 11:43:30 +0200 Subject: [PATCH 11/19] Fix contact list size --- Classes/ContactsViewController.m | 1 + 1 file changed, 1 insertion(+) diff --git a/Classes/ContactsViewController.m b/Classes/ContactsViewController.m index e52695c24..d091d65bc 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]; From 242feeecdcf865b6377f77bc66ff98d25050acce Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 12:15:45 +0200 Subject: [PATCH 12/19] OpenH264 update --- .../build/builders.d/openh264-permissive.patch | 13 ------------- submodules/externals/openh264 | 2 +- submodules/msopenh264 | 2 +- 3 files changed, 2 insertions(+), 15 deletions(-) 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/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/msopenh264 b/submodules/msopenh264 index c871fcf27..ae2270dca 160000 --- a/submodules/msopenh264 +++ b/submodules/msopenh264 @@ -1 +1 @@ -Subproject commit c871fcf27d125fb0a5f3c2f15595f59290b2e047 +Subproject commit ae2270dcaaabb0cc5980783fc5fb6ac5365ee03f From 1fec7d8a5c3a7763351661657177503874e1f7d6 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 12:17:48 +0200 Subject: [PATCH 13/19] Fix Call cell discrepancies on iOS6. This is a strange fix, because no inset seems to be set but the content view is 10 px smaller --- Classes/LinphoneUI/UICallCell.m | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Classes/LinphoneUI/UICallCell.m b/Classes/LinphoneUI/UICallCell.m index c6d97473a..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"] From 19ba5d5ddfd7a20cb3e3c7b026f71eb09df88913 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 16:15:15 +0200 Subject: [PATCH 14/19] Fix the contact view in landscape for ipad --- Classes/ContactsViewController.m | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Classes/ContactsViewController.m b/Classes/ContactsViewController.m index d091d65bc..621f3c13f 100644 --- a/Classes/ContactsViewController.m +++ b/Classes/ContactsViewController.m @@ -162,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]; @@ -319,7 +326,7 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)viewDidUnload { -[self setToolBar:nil]; -[super viewDidUnload]; + [self setToolBar:nil]; + [super viewDidUnload]; } @end From 1920b25152268abb7b3bcf51c1f46313bc912b95 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Mon, 7 Jul 2014 16:50:27 +0200 Subject: [PATCH 15/19] Update linphone for git version generation --- submodules/linphone | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/submodules/linphone b/submodules/linphone index f0106e285..7f4afe295 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f0106e285caa1e0a0bccfde559b027723031d398 +Subproject commit 7f4afe2954c1f92df5ca57e2a14e44e152e2b244 From dc6c16e38944f6b7a31a3f1fbebcddc7db9ecf57 Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Mon, 7 Jul 2014 17:31:52 +0200 Subject: [PATCH 16/19] switch from http:// from git:// for opus submodule --- .gitmodules | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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 From 7478d291de004d34debe8beab666b46df585ae6f Mon Sep 17 00:00:00 2001 From: Jehan Monnier Date: Tue, 8 Jul 2014 10:03:21 +0200 Subject: [PATCH 17/19] fix build issue with openh264 --- linphone.xcodeproj/project.pbxproj | 50 +++++++++++++++++-------- submodules/build/builders.d/openh264.mk | 2 +- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index bc62406d8..35aa6dba2 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 */; }; @@ -116,6 +115,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 */; }; @@ -1503,7 +1504,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 = ""; }; @@ -1579,6 +1579,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 = ""; }; @@ -2392,7 +2393,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 */, @@ -2495,6 +2496,7 @@ 22D8F17F147548E2008C97DB /* libsrtp.a in Frameworks */, 22C39D5E192354250008E1B6 /* libbzrtp.a in Frameworks */, 22D8F16E147548E2008C97DB /* libspeex.a in Frameworks */, + 22509043196BD902007863F6 /* libopenh264.a in Frameworks */, 22D8F16F147548E2008C97DB /* libspeexdsp.a in Frameworks */, D30BF33316A427BC00AF0026 /* libtunnel.a in Frameworks */, 22D8F15B147548E2008C97DB /* libvpx.a in Frameworks */, @@ -2799,6 +2801,7 @@ 29B97323FDCFA39411CA2CEA /* Frameworks */ = { isa = PBXGroup; children = ( + 22509041196BD902007863F6 /* libopenh264.a */, 223CA7E416D9255800EF1BEC /* libantlr3c.a */, 22276E8013C73D3100210156 /* libavcodec.a */, 22276E8113C73D3100210156 /* libavutil.a */, @@ -2830,7 +2833,6 @@ 22276E8213C73D3100210156 /* libswscale.a */, D30BF33216A427BC00AF0026 /* libtunnel.a */, 7066FC0B13E830E400EFC6DC /* libvpx.a */, - 1560821C18EEF23F00765332 /* libwels.a */, 22AA8AFB13D7125500B30535 /* libx264.a */, 15017E6F1773578400784ACB /* libxml2.a */, 344ABDEF14850AE9007420B6 /* libc++.1.dylib */, @@ -5432,9 +5434,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; @@ -5442,6 +5444,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 = ""; @@ -5500,9 +5503,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; @@ -5510,6 +5513,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 = ""; @@ -5526,6 +5530,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 = ""; @@ -5550,11 +5555,13 @@ "$(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 = ""; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "linphone-no-gpl-thirdparties"; + PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; }; name = Debug; @@ -5564,6 +5571,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 = ""; @@ -5587,11 +5595,13 @@ "$(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 = ""; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "linphone-no-gpl-thirdparties"; + PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; }; name = Release; @@ -5602,6 +5612,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 = ""; @@ -5625,11 +5636,13 @@ "$(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 = ""; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "linphone-no-gpl-thirdparties"; + PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; }; name = Distribution; @@ -5640,6 +5653,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 = ""; @@ -5663,11 +5677,13 @@ "$(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 = ""; OTHER_LDFLAGS = "-ObjC"; PRODUCT_NAME = "linphone-no-gpl-thirdparties"; + PROVISIONING_PROFILE = ""; SKIP_INSTALL = NO; }; name = DistributionAdhoc; @@ -5718,9 +5734,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; @@ -5728,6 +5744,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 = ""; @@ -5786,9 +5803,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; @@ -5796,6 +5813,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/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: From 84efdb1a7b32cf5ef4e439b5c89934525e48a568 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Tue, 8 Jul 2014 10:49:58 +0200 Subject: [PATCH 18/19] Compile without h264 on distribution and release targets --- linphone.xcodeproj/project.pbxproj | 3 --- 1 file changed, 3 deletions(-) diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 35aa6dba2..9a045321d 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -5497,7 +5497,6 @@ GCC_PREFIX_HEADER = linphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( VIDEO_ENABLED, - HAVE_OPENH264, HAVE_SILK, HAVE_SSL, ); @@ -5728,7 +5727,6 @@ GCC_PREFIX_HEADER = linphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( VIDEO_ENABLED, - HAVE_X264, HAVE_SILK, HAVE_SSL, ); @@ -5797,7 +5795,6 @@ GCC_PREFIX_HEADER = linphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( VIDEO_ENABLED, - HAVE_X264, HAVE_SILK, HAVE_SSL, ); From 862a6dee1b28a62ff81181eed799e487b901dd01 Mon Sep 17 00:00:00 2001 From: Guillaume BIENKOWSKI Date: Tue, 8 Jul 2014 11:49:37 +0200 Subject: [PATCH 19/19] Fix no network on push received --- Classes/LinphoneAppDelegate.m | 1 + 1 file changed, 1 insertion(+) 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];