diff --git a/Classes/Base.lproj/ContactsListView.xib b/Classes/Base.lproj/ContactsListView.xib index 253f65937..ce7f9c3c8 100644 --- a/Classes/Base.lproj/ContactsListView.xib +++ b/Classes/Base.lproj/ContactsListView.xib @@ -142,6 +142,7 @@ + @@ -161,6 +162,7 @@ + diff --git a/Classes/Base.lproj/HistoryListView.xib b/Classes/Base.lproj/HistoryListView.xib index fc1299356..84392e4bf 100644 --- a/Classes/Base.lproj/HistoryListView.xib +++ b/Classes/Base.lproj/HistoryListView.xib @@ -114,6 +114,7 @@ + diff --git a/Classes/ChatsListTableView.m b/Classes/ChatsListTableView.m index aefaa1ce1..864197026 100644 --- a/Classes/ChatsListTableView.m +++ b/Classes/ChatsListTableView.m @@ -81,10 +81,13 @@ static int sorted_history_comparison(LinphoneChatRoom *to_insert, LinphoneChatRo // store last message in user data LinphoneChatRoom *chat_room = iter->data; MSList *history = linphone_chat_room_get_history(iter->data, 1); - LinphoneChatMessage *last_msg = history ? history->data : NULL; + LinphoneChatMessage *last_msg = NULL; + if (history) { + last_msg = linphone_chat_message_ref(history->data); + ms_list_free(history); + } linphone_chat_room_set_user_data(chat_room, last_msg); sorted = ms_list_insert_sorted(sorted, chat_room, (MSCompareFunc)sorted_history_comparison); - iter = iter->next; } return sorted; diff --git a/Classes/LinphoneCoreSettingsStore.m b/Classes/LinphoneCoreSettingsStore.m index b1d6d1d62..9dc26fa06 100644 --- a/Classes/LinphoneCoreSettingsStore.m +++ b/Classes/LinphoneCoreSettingsStore.m @@ -445,9 +445,6 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); proxy = linphone_address_as_string_uri_only(proxy_addr); } - // use proxy as route if outbound_proxy is enabled - route = isOutboundProxy ? proxy : NULL; - // possible valid config detected, try to modify current proxy or create new one if none existing linphone_core_get_default_proxy(lc, &proxyCfg); if (proxyCfg == NULL) { @@ -473,6 +470,8 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); error = NSLocalizedString(@"Invalid username or domain", nil); goto bad_proxy; } + // use proxy as route if outbound_proxy is enabled + route = isOutboundProxy ? proxy : NULL; if (linphone_proxy_config_set_server_addr(proxyCfg, proxy) == -1) { error = NSLocalizedString(@"Invalid proxy address", nil); goto bad_proxy; @@ -500,12 +499,23 @@ extern void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); linphone_proxy_config_set_expires(proxyCfg, expire); // setup auth info - LinphoneAddress *from = linphone_address_new(identity); - if (from != 0) { - const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; - info = linphone_auth_info_new(linphone_address_get_username(from), userid_str, password, ha1, NULL, - linphone_proxy_config_get_domain(proxyCfg)); - linphone_address_destroy(from); + if (linphone_core_get_auth_info_list(lc)) { + info = linphone_auth_info_clone(linphone_core_get_auth_info_list(lc)->data); + linphone_auth_info_set_username(info, username.UTF8String); + if (password) { + linphone_auth_info_set_passwd(info, password); + linphone_auth_info_set_ha1(info, NULL); + } + linphone_auth_info_set_domain(info, linphone_proxy_config_get_domain(proxyCfg)); + } else { + LinphoneAddress *from = linphone_address_new(identity); + if (from) { + const char *userid_str = (userID != nil) ? [userID UTF8String] : NULL; + info = linphone_auth_info_new( + linphone_address_get_username(from), userid_str, password ? password : NULL, password ? NULL : ha1, + linphone_proxy_config_get_realm(proxyCfg), linphone_proxy_config_get_domain(proxyCfg)); + linphone_address_destroy(from); + } } // We reached here without hitting the goto: the new settings are correct, so replace the previous ones. diff --git a/Classes/LinphoneManager.m b/Classes/LinphoneManager.m index fe99c0cec..c17753366 100644 --- a/Classes/LinphoneManager.m +++ b/Classes/LinphoneManager.m @@ -42,6 +42,8 @@ #import #import "Utils.h" +#import "Utils/DTFoundation/DTAlertView.h" +#import "PhoneMainView.h" #define LINPHONE_LOGS_MAX_ENTRY 5000 @@ -860,6 +862,51 @@ static void linphone_iphone_registration_state(LinphoneCore *lc, LinphoneProxyCo [(__bridge LinphoneManager *)linphone_core_get_user_data(lc) onRegister:lc cfg:cfg state:state message:message]; } +#pragma mark - Auth info Function + +static void linphone_iphone_popup_password_request(LinphoneCore *lc, const char *realm, const char *username, + const char *domain) { + // let the wizard handle its own errors + if ([PhoneMainView.instance currentView] != WizardViewController.compositeViewDescription) { + static DTAlertView *alertView = nil; + + // avoid having multiple popups + if ([alertView isVisible]) { + [alertView dismissWithClickedButtonIndex:0 animated:NO]; + } + + alertView = [[DTAlertView alloc] + initWithTitle:NSLocalizedString(@"Authentication needed.", nil) + message:[NSString stringWithFormat:NSLocalizedString(@"Registration failed because authentication is " + @"missing or invalid for %s@%s.\nYou can " + @"provide password again, or check your " + @"account configuration in the settings.", + nil), + username, realm]]; + alertView.alertViewStyle = UIAlertViewStyleSecureTextInput; + [alertView addCancelButtonWithTitle:NSLocalizedString(@"Cancel", nil) block:nil]; + __weak UITextField *passwordField = [alertView textFieldAtIndex:0]; + + [alertView addButtonWithTitle:NSLocalizedString(@"Continue", nil) + block:^{ + LinphoneAuthInfo *info = (LinphoneAuthInfo *)linphone_core_find_auth_info( + [LinphoneManager getLc], realm, username, domain); + if (info) { + linphone_auth_info_set_passwd(info, passwordField.text.UTF8String); + linphone_auth_info_set_ha1(info, NULL); + linphone_proxy_config_refresh_register( + linphone_core_get_default_proxy_config([LinphoneManager getLc])); + } else { + LOGE(@"Could not find auth info associated with %s@%s, going to settings!", + username, domain); + [[PhoneMainView instance] + changeCurrentView:[SettingsViewController compositeViewDescription]]; + } + }]; + [alertView show]; + } +} + #pragma mark - Text Received Functions - (void)onMessageReceived:(LinphoneCore *)lc room:(LinphoneChatRoom *)room message:(LinphoneChatMessage *)msg { @@ -1210,7 +1257,7 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, .registration_state_changed = linphone_iphone_registration_state, .notify_presence_received = NULL, .new_subscription_requested = NULL, - .auth_info_requested = NULL, + .auth_info_requested = linphone_iphone_popup_password_request, .display_status = linphone_iphone_display_status, .display_message = linphone_iphone_log_user_info, .display_warning = linphone_iphone_log_user_warning, @@ -1249,10 +1296,10 @@ static LinphoneCoreVTable linphonec_vtable = {.show = NULL, const char *lRootCa = [[LinphoneManager bundleFile:@"rootca.pem"] cStringUsingEncoding:[NSString defaultCStringEncoding]]; - linphone_core_set_user_agent(theLinphoneCore, - [[[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleDisplayName"] - stringByAppendingString:@"Iphone"] UTF8String], - LINPHONE_IOS_VERSION); + NSString *device = [NSString + stringWithFormat:@"%@_%@_iOS%@", [NSBundle.mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"], + [LinphoneUtils deviceName], UIDevice.currentDevice.systemVersion]; + linphone_core_set_user_agent(theLinphoneCore, device.UTF8String, LINPHONE_IOS_VERSION); _contactSipField = [self lpConfigStringForKey:@"contact_im_type_value" withDefault:@"SIP"]; diff --git a/Classes/LinphoneUI/UICheckBoxTVTableViewController.h b/Classes/LinphoneUI/UICheckBoxTVTableViewController.h index 7fec2f82d..07d9155a7 100644 --- a/Classes/LinphoneUI/UICheckBoxTVTableViewController.h +++ b/Classes/LinphoneUI/UICheckBoxTVTableViewController.h @@ -11,9 +11,13 @@ @interface UICheckBoxTVTableViewController : UITableViewController @property(nonatomic, readonly) NSMutableArray *selectedItems; +@property(weak, nonatomic) IBOutlet UIButton *deleteButton; +@property(weak, nonatomic) IBOutlet UIButton *editButton; - (void)loadData; - (void)accessoryForCell:(UITableViewCell *)cell atPath:(NSIndexPath *)indexPath; - (void)removeSelection; +- (IBAction)onSelectionToggle:(id)sender; + @end diff --git a/Classes/LinphoneUI/UICheckBoxTVTableViewController.m b/Classes/LinphoneUI/UICheckBoxTVTableViewController.m index 8e953fef1..3a1ed9df8 100644 --- a/Classes/LinphoneUI/UICheckBoxTVTableViewController.m +++ b/Classes/LinphoneUI/UICheckBoxTVTableViewController.m @@ -69,12 +69,13 @@ [checkBoxButton setImage:image forState:UIControlStateNormal]; [checkBoxButton setFrame:CGRectMake(0, 0, 19, 19)]; [checkBoxButton setBackgroundColor:[UIColor clearColor]]; - + checkBoxButton.userInteractionEnabled = NO; cell.accessoryView = checkBoxButton; } else { cell.accessoryView = nil; cell.accessoryType = UITableViewCellAccessoryNone; } + _deleteButton.enabled = (_selectedItems.count != 0); } - (void)setEditing:(BOOL)editing animated:(BOOL)animated { @@ -102,4 +103,11 @@ [_selectedItems removeAllObjects]; } +- (void)onSelectionToggle:(id)sender { + if (_selectedItems.count == 0) { + [self table] + } else { + } +} + @end diff --git a/Classes/SettingsView.m b/Classes/SettingsView.m index aa98ad868..14458fdd5 100644 --- a/Classes/SettingsView.m +++ b/Classes/SettingsView.m @@ -787,8 +787,7 @@ static UICompositeViewDescription *compositeDescription = nil; - (void)emailAttachments:(NSArray *)attachments { NSString *error = nil; #if TARGET_IPHONE_SIMULATOR - error = - NSLocalizedString(@"Cannot send emails on the Simulator. To test this feature, please use a real device.", nil); + error = @"Cannot send emails on the Simulator. To test this feature, please use a real device."; #else if ([MFMailComposeViewController canSendMail] == NO) { error = NSLocalizedString( @@ -808,12 +807,11 @@ static UICompositeViewDescription *compositeDescription = nil; MFMailComposeViewController *picker = [[MFMailComposeViewController alloc] init]; picker.mailComposeDelegate = self; - [picker setSubject:NSLocalizedString(@"Linphone iOS Logs", nil)]; + [picker setSubject:@"Linphone iOS Logs"]; [picker setToRecipients:[NSArray arrayWithObjects:@"linphone-iphone@belledonne-communications.com", nil]]; - [picker setMessageBody:NSLocalizedString(@"Here are information about an issue I had on my device.\nI was " - @"doing ...\nI expected Linphone to ...\nInstead, I got an " - @"unexpected result: ...", - nil) + [picker setMessageBody:@"Here are information about an issue I had on my device.\nI was " + @"doing ...\nI expected Linphone to ...\nInstead, I got an " + @"unexpected result: ..." isHTML:NO]; for (NSArray *attachment in attachments) { if ([[NSFileManager defaultManager] fileExistsAtPath:attachment[0]]) { diff --git a/Classes/Utils/GrowingTextView/HPGrowingTextView.m b/Classes/Utils/GrowingTextView/HPGrowingTextView.m index f8c143f9c..ba747064c 100755 --- a/Classes/Utils/GrowingTextView/HPGrowingTextView.m +++ b/Classes/Utils/GrowingTextView/HPGrowingTextView.m @@ -366,13 +366,11 @@ CGRect size = [textToMeasure boundingRectWithSize:CGSizeMake(CGRectGetWidth(frame), MAXFLOAT) options:NSStringDrawingUsesLineFragmentOrigin context:nil]; - - return CGRectGetHeight(size) + fudgeFactor.height; - } - else - { - return self.internalTextView.contentSize.height; - } + + return ceil(CGRectGetHeight(size) + fudgeFactor.height); + } else { + return self.internalTextView.contentSize.height; + } #else return self.internalTextView.contentSize.height; #endif diff --git a/Classes/Utils/Utils.h b/Classes/Utils/Utils.h index 513bcb2de..c576079ce 100644 --- a/Classes/Utils/Utils.h +++ b/Classes/Utils/Utils.h @@ -36,6 +36,7 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args); + (void)buttonFixStates:(UIButton*)button; + (void)buttonMultiViewAddAttributes:(NSMutableDictionary*)attributes button:(UIButton*)button; + (void)buttonMultiViewApplyAttributes:(NSDictionary*)attributes button:(UIButton*)button; ++ (NSString *)deviceName; + (NSString *)timeToString:(time_t)time withStyle:(NSDateFormatterStyle)style; diff --git a/Classes/Utils/Utils.m b/Classes/Utils/Utils.m index cddd607eb..2b901290e 100644 --- a/Classes/Utils/Utils.m +++ b/Classes/Utils/Utils.m @@ -19,6 +19,7 @@ #import #import +#import #import "Utils.h" #import "linphone/linphonecore.h" @@ -33,13 +34,14 @@ va_start(args, format); NSString *str = [[NSString alloc] initWithFormat:format arguments:args]; int filesize = 20; + const char *filename = strchr(file, '/') ? strrchr(file, '/') + 1 : file; if (severity <= ORTP_DEBUG) { // lol: ortp_debug(XXX) can be disabled at compile time, but ortp_log(ORTP_DEBUG, xxx) will always be valid even // not in debug build... - ortp_debug("%*s:%3d - %s", filesize, file + MAX((int)strlen(file) - filesize, 0), line, [str UTF8String]); + ortp_debug("%*s:%3d - %s", filesize, filename + MAX((int)strlen(filename) - filesize, 0), line, str.UTF8String); } else { - ortp_log(severity, "%*s:%3d - %s", filesize, file + MAX((int)strlen(file) - filesize, 0), line, - [str UTF8String]); + ortp_log(severity, "%*s:%3d - %s", filesize, filename + MAX((int)strlen(filename) - filesize, 0), line, + str.UTF8String); } va_end(args); } @@ -304,6 +306,13 @@ void linphone_iphone_log_handler(int lev, const char *fmt, va_list args) { return nil; } ++ (NSString *)deviceName { + struct utsname systemInfo; + uname(&systemInfo); + + return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; +} + @end @implementation NSNumber (HumanReadableSize) diff --git a/Classes/ja.lproj/AboutViewController.strings b/Classes/ja.lproj/AboutViewController.strings index 87fc01f1a..c91bba9f2 100644 Binary files a/Classes/ja.lproj/AboutViewController.strings and b/Classes/ja.lproj/AboutViewController.strings differ diff --git a/Classes/ja.lproj/ChatRoomViewController.strings b/Classes/ja.lproj/ChatRoomViewController.strings index 0674cec33..9e0ce9df2 100644 Binary files a/Classes/ja.lproj/ChatRoomViewController.strings and b/Classes/ja.lproj/ChatRoomViewController.strings differ diff --git a/Resources/ar.lproj/Localizable.strings b/Resources/ar.lproj/Localizable.strings index 7fb9e3e05..66fea75f7 100644 Binary files a/Resources/ar.lproj/Localizable.strings and b/Resources/ar.lproj/Localizable.strings differ diff --git a/Resources/assistant_linphone_create.rc b/Resources/assistant_linphone_create.rc index 74236d269..3dcabba57 100644 --- a/Resources/assistant_linphone_create.rc +++ b/Resources/assistant_linphone_create.rc @@ -3,7 +3,6 @@
<sip:sip.linphone.org;transport=tls> - <sip:sip.linphone.org;transport=tls> sip:?@sip.linphone.org 1314000 1 diff --git a/Resources/assistant_linphone_existing.rc b/Resources/assistant_linphone_existing.rc index 74236d269..3dcabba57 100644 --- a/Resources/assistant_linphone_existing.rc +++ b/Resources/assistant_linphone_existing.rc @@ -3,7 +3,6 @@
<sip:sip.linphone.org;transport=tls> - <sip:sip.linphone.org;transport=tls> sip:?@sip.linphone.org 1314000 1 diff --git a/Resources/de.lproj/Localizable.strings b/Resources/de.lproj/Localizable.strings index 27cd06e61..a3a93f1ee 100644 Binary files a/Resources/de.lproj/Localizable.strings and b/Resources/de.lproj/Localizable.strings differ diff --git a/Resources/en.lproj/Localizable.strings b/Resources/en.lproj/Localizable.strings index 09e16d7f4..ad0a1f4a3 100644 Binary files a/Resources/en.lproj/Localizable.strings and b/Resources/en.lproj/Localizable.strings differ diff --git a/Resources/fr.lproj/Localizable.strings b/Resources/fr.lproj/Localizable.strings index 232e5ac96..94f329f08 100644 Binary files a/Resources/fr.lproj/Localizable.strings and b/Resources/fr.lproj/Localizable.strings differ diff --git a/Resources/ja.lproj/Localizable.strings b/Resources/ja.lproj/Localizable.strings index 2a9d9d4cc..98c00b7a7 100644 Binary files a/Resources/ja.lproj/Localizable.strings and b/Resources/ja.lproj/Localizable.strings differ diff --git a/Resources/nl.lproj/Localizable.strings b/Resources/nl.lproj/Localizable.strings index a9be3a0d7..7326dae19 100644 Binary files a/Resources/nl.lproj/Localizable.strings and b/Resources/nl.lproj/Localizable.strings differ diff --git a/Resources/ru.lproj/Localizable.strings b/Resources/ru.lproj/Localizable.strings index 35fdffe83..035caa73b 100644 Binary files a/Resources/ru.lproj/Localizable.strings and b/Resources/ru.lproj/Localizable.strings differ diff --git a/Resources/zh_TW.lproj/Localizable.strings b/Resources/zh_TW.lproj/Localizable.strings index 8d1b3b82e..edbc17b01 100644 Binary files a/Resources/zh_TW.lproj/Localizable.strings and b/Resources/zh_TW.lproj/Localizable.strings differ diff --git a/Settings/InAppSettings.bundle/ar.lproj/Network.strings b/Settings/InAppSettings.bundle/ar.lproj/Network.strings index dee6be3f2..39af69ecb 100644 Binary files a/Settings/InAppSettings.bundle/ar.lproj/Network.strings and b/Settings/InAppSettings.bundle/ar.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/de.lproj/Network.strings b/Settings/InAppSettings.bundle/de.lproj/Network.strings index 037fd04be..714fa62e6 100644 Binary files a/Settings/InAppSettings.bundle/de.lproj/Network.strings and b/Settings/InAppSettings.bundle/de.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/en.lproj/Network.strings b/Settings/InAppSettings.bundle/en.lproj/Network.strings index c090abb46..398390089 100644 --- a/Settings/InAppSettings.bundle/en.lproj/Network.strings +++ b/Settings/InAppSettings.bundle/en.lproj/Network.strings @@ -12,4 +12,3 @@ "Limits" = "Limits"; "Adaptive rate control" = "Adaptive rate control"; "Adaptive rate control" = "Adaptive rate control"; -"Adaptive rate algorithm" = "Adaptive rate algorithm"; diff --git a/Settings/InAppSettings.bundle/fr.lproj/Network.strings b/Settings/InAppSettings.bundle/fr.lproj/Network.strings index 014bf5b59..c2e7c915d 100644 Binary files a/Settings/InAppSettings.bundle/fr.lproj/Network.strings and b/Settings/InAppSettings.bundle/fr.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/ja.lproj/Call.strings b/Settings/InAppSettings.bundle/ja.lproj/Call.strings new file mode 100644 index 000000000..f1cb65f2d Binary files /dev/null and b/Settings/InAppSettings.bundle/ja.lproj/Call.strings differ diff --git a/Settings/InAppSettings.bundle/ja.lproj/Network.strings b/Settings/InAppSettings.bundle/ja.lproj/Network.strings index bf538146c..b7393dcb0 100644 Binary files a/Settings/InAppSettings.bundle/ja.lproj/Network.strings and b/Settings/InAppSettings.bundle/ja.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/nl.lproj/Network.strings b/Settings/InAppSettings.bundle/nl.lproj/Network.strings index bf538146c..b7393dcb0 100644 Binary files a/Settings/InAppSettings.bundle/nl.lproj/Network.strings and b/Settings/InAppSettings.bundle/nl.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/ru.lproj/Network.strings b/Settings/InAppSettings.bundle/ru.lproj/Network.strings index e0e20f8cf..f8a969aeb 100644 Binary files a/Settings/InAppSettings.bundle/ru.lproj/Network.strings and b/Settings/InAppSettings.bundle/ru.lproj/Network.strings differ diff --git a/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings b/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings index bf538146c..b7393dcb0 100644 Binary files a/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings and b/Settings/InAppSettings.bundle/zh_TW.lproj/Network.strings differ diff --git a/TestsUI/AssistantTester.m b/TestsUI/AssistantTester.m index ab8257817..2b74f93dc 100644 --- a/TestsUI/AssistantTester.m +++ b/TestsUI/AssistantTester.m @@ -116,4 +116,11 @@ } } +- (void)testRemoteProvisioning { + [tester tapViewWithAccessibilityLabel:@"Start"]; + [tester tapViewWithAccessibilityLabel:@"Remote provisioning"]; + [tester enterTextIntoCurrentFirstResponder:@"smtp.linphone.org/testios_xml"]; + [tester tapViewWithAccessibilityLabel:@"Fetch"]; + [self waitForRegistration]; +} @end diff --git a/TestsUI/LinphoneTestCase.m b/TestsUI/LinphoneTestCase.m index 4e3a0803a..78f334530 100644 --- a/TestsUI/LinphoneTestCase.m +++ b/TestsUI/LinphoneTestCase.m @@ -156,10 +156,11 @@ - (void)waitForRegistration { // wait for account to be registered int timeout = 15; - while (timeout && [tester tryFindingViewWithAccessibilityLabel:@"Registration state" - value:@"Registered" - traits:UIAccessibilityTraitStaticText - error:nil]) { + while (timeout && + ![tester tryFindingViewWithAccessibilityLabel:@"Registration state" + value:@"Registered" + traits:UIAccessibilityTraitStaticText + error:nil]) { [tester waitForTimeInterval:1]; timeout--; } diff --git a/Tools/imgur_upload.sh b/Tools/imgur_upload.sh index d7277ff44..debd736f0 100755 --- a/Tools/imgur_upload.sh +++ b/Tools/imgur_upload.sh @@ -2,7 +2,7 @@ # Install underscore-cli for hacking if ! which underscore &> /dev/null; then - npm install -g underscore-cli + npm install -g underscore-cli &>/dev/null fi cd $KIF_SCREENSHOTS diff --git a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj index 5f5892cf4..d5953a5a3 100755 --- a/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj +++ b/TutorialHellowWorld/hello-world.xcodeproj/project.pbxproj @@ -65,7 +65,6 @@ 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; - 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; @@ -102,7 +101,6 @@ 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; - 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; @@ -152,7 +150,6 @@ 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; - 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; @@ -182,7 +179,6 @@ 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1171BA6E4F0002D1ABF /* libopus.a */; }; 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1181BA6E4F0002D1ABF /* libortp.a */; }; 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C1191BA6E4F0002D1ABF /* libpolarssl.a */; }; - 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11A1BA6E4F0002D1ABF /* libSKP_SILK_SDK.a */; }; 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11B1BA6E4F0002D1ABF /* libspeex.a */; }; 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11C1BA6E4F0002D1ABF /* libspeexdsp.a */; }; 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 63D5C11D1BA6E4F0002D1ABF /* libsrtp.a */; }; @@ -294,7 +290,6 @@ 63D5C13B1BA6E504002D1ABF /* libopus.a in Frameworks */, 63D5C13C1BA6E504002D1ABF /* libortp.a in Frameworks */, 63D5C13D1BA6E504002D1ABF /* libpolarssl.a in Frameworks */, - 63D5C13E1BA6E504002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 63D5C13F1BA6E504002D1ABF /* libspeex.a in Frameworks */, 63D5C1401BA6E504002D1ABF /* libspeexdsp.a in Frameworks */, 63D5C1411BA6E504002D1ABF /* libsrtp.a in Frameworks */, @@ -367,7 +362,6 @@ 63D5C1661BA6E765002D1ABF /* libopus.a in Frameworks */, 63D5C1671BA6E765002D1ABF /* libortp.a in Frameworks */, 63D5C1681BA6E765002D1ABF /* libpolarssl.a in Frameworks */, - 63D5C1691BA6E765002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 63D5C16A1BA6E765002D1ABF /* libspeex.a in Frameworks */, 63D5C16B1BA6E765002D1ABF /* libspeexdsp.a in Frameworks */, 63D5C16C1BA6E765002D1ABF /* libsrtp.a in Frameworks */, @@ -404,7 +398,6 @@ 63D5C1991BA6E92A002D1ABF /* libopus.a in Frameworks */, 63D5C19A1BA6E92A002D1ABF /* libortp.a in Frameworks */, 63D5C19B1BA6E92A002D1ABF /* libpolarssl.a in Frameworks */, - 63D5C19C1BA6E92A002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 63D5C19D1BA6E92A002D1ABF /* libspeex.a in Frameworks */, 63D5C19E1BA6E92A002D1ABF /* libspeexdsp.a in Frameworks */, 63D5C19F1BA6E92A002D1ABF /* libsrtp.a in Frameworks */, @@ -454,7 +447,6 @@ 63D5C1B71BA6E95C002D1ABF /* libopus.a in Frameworks */, 63D5C1B81BA6E95C002D1ABF /* libortp.a in Frameworks */, 63D5C1B91BA6E95C002D1ABF /* libpolarssl.a in Frameworks */, - 63D5C1BA1BA6E95C002D1ABF /* libSKP_SILK_SDK.a in Frameworks */, 63D5C1BB1BA6E95C002D1ABF /* libspeex.a in Frameworks */, 63D5C1BC1BA6E95C002D1ABF /* libspeexdsp.a in Frameworks */, 63D5C1BD1BA6E95C002D1ABF /* libsrtp.a in Frameworks */, @@ -790,8 +782,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -810,8 +802,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -833,8 +825,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -853,8 +845,8 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", + "../liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -876,7 +868,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -895,7 +887,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -917,7 +909,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -936,7 +928,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 6.0; LIBRARY_SEARCH_PATHS = ( "$(inherited)", - "/Users/gpelloux/code/ios/linphone-iphone/liblinphone-sdk/apple-darwin/lib", + "../liblinphone-sdk/apple-darwin/lib", ); PRODUCT_NAME = "hello-world"; SDKROOT = iphoneos; @@ -949,13 +941,15 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = DEBUG; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + HEADER_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/include"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; + LIBRARY_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/lib"; + ONLY_ACTIVE_ARCH = YES; PREBINDING = NO; SDKROOT = iphoneos; }; @@ -966,12 +960,13 @@ buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; - HEADER_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include"; + HEADER_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/include"; IPHONEOS_DEPLOYMENT_TARGET = 6.0; - LIBRARY_SEARCH_PATHS = "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib"; + LIBRARY_SEARCH_PATHS = "../liblinphone-sdk/apple-darwin/lib"; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PREBINDING = NO; SDKROOT = iphoneos; diff --git a/linphone-Info.plist b/linphone-Info.plist index cefdb0428..fb0c22ce2 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -53,7 +53,7 @@ CFBundleVersion - 2.3 + 2.4 LSRequiresIPhoneOS UIApplicationExitsOnSuspend diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index b413ba658..3cf6c8351 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -2593,6 +2593,19 @@ shellPath = /bin/sh; shellScript = $SRCROOT/Tools/git_version.sh; }; + 63F0162D1BB3E9D5001FAD87 /* ShellScript */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "test -f liblinphone-sdk/apple-darwin/share/linphone/rootca.pem || (echo 'liblinphone SDK not found. Please refer to the README: you have to compile liblinphone SDK before building Linphone application.' && exit 1)"; + }; D33CF34715D3985000CD4B85 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; diff --git a/prepare.py b/prepare.py index 1a4b3d9dd..e58d34bd3 100755 --- a/prepare.py +++ b/prepare.py @@ -238,7 +238,7 @@ def check_tools(): sudo mv gas-preprocessor.pl {}""".format(package_manager_info[detect_package_manager() + "-binary-path"])) reterr = 1 - if not os.path.isdir("submodules/linphone/mediastreamer2") or not os.path.isdir("submodules/linphone/oRTP"): + if not os.path.isdir("submodules/linphone/mediastreamer2/src") or not os.path.isdir("submodules/linphone/oRTP/src"): error("Missing some git submodules. Did you run:\n\tgit submodule update --init --recursive") reterr = 1 @@ -482,7 +482,7 @@ def main(argv=None): argparser.add_argument( '--enable-non-free-codecs', help="Enable non-free codecs such as OpenH264, MPEG4, etc.. Final application must comply with their respective license (see README.md).", action='store_true') argparser.add_argument( - '-G' '--generator', help="CMake build system generator (default: Unix Makefiles).", default='Unix Makefiles', choices=['Unix Makefiles', 'Ninja'], dest='generator') + '-G' '--generator', help="CMake build system generator (default: Unix Makefiles, use cmake -h to get the complete list).", default='Unix Makefiles', dest='generator') argparser.add_argument( '-L', '--list-cmake-variables', help="List non-advanced CMake cache variables.", action='store_true', dest='list_cmake_variables') argparser.add_argument( @@ -495,12 +495,6 @@ def main(argv=None): args, additional_args = argparser.parse_known_args() additional_args += ["-G", args.generator] - if args.generator == 'Ninja': - if not check_is_installed("ninja", "it"): - return 1 - generator = 'ninja -C' - else: - generator = '$(MAKE) -C' if check_tools() != 0: return 1 @@ -578,7 +572,18 @@ def main(argv=None): os.remove('Makefile') elif selected_platforms: install_git_hook() - generate_makefile(selected_platforms, generator) + + # only generated makefile if we are using Ninja or Makefile + if args.generator == 'Ninja': + if not check_is_installed("ninja", "it"): + return 1 + generate_makefile(selected_platforms, 'ninja -C') + elif args.generator == "Unix Makefiles": + generate_makefile(selected_platforms, '$(MAKE) -C') + elif args.generator == "Xcode": + print("You can now open Xcode project with: open WORK/cmake/Project.xcodeproj") + else: + print("Not generating meta-makefile for generator {}.".format(args.generator)) return 0 diff --git a/submodules/belle-sip b/submodules/belle-sip index 6fce3a793..0efd4dfd5 160000 --- a/submodules/belle-sip +++ b/submodules/belle-sip @@ -1 +1 @@ -Subproject commit 6fce3a793570e9920f18c29f411b9204249e229f +Subproject commit 0efd4dfd5b37fb28ba1ecbabcc8d37defddfd517 diff --git a/submodules/cmake-builder b/submodules/cmake-builder index aece45302..e5ddd8925 160000 --- a/submodules/cmake-builder +++ b/submodules/cmake-builder @@ -1 +1 @@ -Subproject commit aece45302149a063d64efd0f417f3887a9ed13ca +Subproject commit e5ddd892561b0c5df25b7036bd9229fe6a6ea81a diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 4544e1bb1..21ed8f629 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -320,6 +320,9 @@ 22DD19C113A8D7FA0018ECD4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */; }; 22DD19C213A8D7FA0018ECD4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; 22DD19C413A8D7FA0018ECD4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */; }; + 630DCF691BBAC06400A0DDC8 /* msvideopresets.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */; settings = {ASSET_TAGS = (); }; }; + 630DCF6C1BBAC08200A0DDC8 /* rfc4103_textstream.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */; settings = {ASSET_TAGS = (); }; }; + 630DCF6D1BBAC08200A0DDC8 /* video_preset_high_fps.c in Sources */ = {isa = PBXBuildFile; fileRef = 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */; settings = {ASSET_TAGS = (); }; }; 7066FC0A13E830B800EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0913E830B800EFC6DC /* libvpx.a */; }; 70E542EE13E147C7002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */; }; 70E542F113E147CE002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F013E147CE002BA2C0 /* QuartzCore.framework */; }; @@ -357,7 +360,6 @@ F0BA0A8E1A24D4DE00F68203 /* nowebcam.c in Sources */ = {isa = PBXBuildFile; fileRef = 223CA84016D9268D00EF1BEC /* nowebcam.c */; }; F0ED99131A16456500A788CE /* libcunit.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0ED99121A16456500A788CE /* libcunit.a */; }; F0ED99361A1645C200A788CE /* Makefile.am in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99171A1645C200A788CE /* Makefile.am */; }; - F0ED99371A1645C200A788CE /* Makefile.in in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99181A1645C200A788CE /* Makefile.in */; }; F0ED99421A1645C200A788CE /* arpeggio_8000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99261A1645C200A788CE /* arpeggio_8000_mono.wav */; }; F0ED99431A1645C200A788CE /* bird_44100_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99271A1645C200A788CE /* bird_44100_stereo.wav */; }; F0ED99441A1645C200A788CE /* chimes_48000_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99281A1645C200A788CE /* chimes_48000_stereo.wav */; }; @@ -415,7 +417,6 @@ F0ED99881A16464D00A788CE /* nylon_48000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99321A1645C200A788CE /* nylon_48000_mono.wav */; }; F0ED99891A16464D00A788CE /* hello8000.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992C1A1645C200A788CE /* hello8000.wav */; }; F0ED998A1A16464D00A788CE /* laserrocket_16000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99311A1645C200A788CE /* laserrocket_16000_mono.wav */; }; - F0ED998B1A16464D00A788CE /* Makefile.in in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99181A1645C200A788CE /* Makefile.in */; }; F0ED998C1A16464D00A788CE /* chimes_48000_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99281A1645C200A788CE /* chimes_48000_stereo.wav */; }; F0ED998D1A16464D00A788CE /* Makefile.am in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99171A1645C200A788CE /* Makefile.am */; }; F0ED998E1A16464D00A788CE /* bird_44100_stereo.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99271A1645C200A788CE /* bird_44100_stereo.wav */; }; @@ -576,7 +577,6 @@ 222CA5DA11F6CF7600621220 /* rfc3984.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rfc3984.h; sourceTree = ""; }; 222CA5DD11F6CF7600621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA5F911F6CF7600621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; - 222CA5FA11F6CF7600621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; 222CA6A011F6CF9E00621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA6A111F6CF9E00621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; 222CA6A211F6CF9F00621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; @@ -732,6 +732,9 @@ 22DD19BE13A8D7FA0018ECD4 /* mediastream.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = mediastream.app; sourceTree = BUILT_PRODUCTS_DIR; }; 22DD19C013A8D7FA0018ECD4 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 22DD19C313A8D7FA0018ECD4 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; + 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = msvideopresets.c; path = linphone/mediastreamer2/src/base/msvideopresets.c; sourceTree = SOURCE_ROOT; }; + 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rfc4103_textstream.c; sourceTree = ""; }; + 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = video_preset_high_fps.c; sourceTree = ""; }; 7014533B13FA7ECA00A01D86 /* zrtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zrtp.h; sourceTree = ""; }; 7066FC0913E830B800EFC6DC /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "../liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; @@ -771,7 +774,6 @@ F08272D91A7F898200BB6004 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; F0ED99121A16456500A788CE /* libcunit.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcunit.a; path = "../liblinphone-sdk/apple-darwin/lib/libcunit.a"; sourceTree = ""; }; F0ED99171A1645C200A788CE /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; - F0ED99181A1645C200A788CE /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; F0ED991A1A1645C200A788CE /* mediastreamer2_adaptive_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_adaptive_tester.c; sourceTree = ""; }; F0ED991B1A1645C200A788CE /* mediastreamer2_audio_stream_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_audio_stream_tester.c; sourceTree = ""; }; F0ED991C1A1645C200A788CE /* mediastreamer2_basic_audio_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_basic_audio_tester.c; sourceTree = ""; }; @@ -1039,7 +1041,6 @@ 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, 2203127413A249F70049A2ED /* filter-template.c */, 221DCB6A153584410025E54D /* yuv2rgb.fs */, - 222CA5FA11F6CF7600621220 /* Makefile.in */, 221DCB6B153584410025E54D /* yuv2rgb.vs */, 223CA7EF16D9268D00EF1BEC /* audiofilters */, 223CA81116D9268D00EF1BEC /* base */, @@ -1241,6 +1242,9 @@ 223CA84E16D9268D00EF1BEC /* voip */ = { isa = PBXGroup; children = ( + 630DCF6A1BBAC08200A0DDC8 /* rfc4103_textstream.c */, + 630DCF6B1BBAC08200A0DDC8 /* video_preset_high_fps.c */, + 630DCF661BBAC05100A0DDC8 /* msvideopresets.c */, 223CA84F16D9268D00EF1BEC /* audioconference.c */, 223CA85016D9268D00EF1BEC /* audiostream.c */, 223CA85116D9268D00EF1BEC /* bitratecontrol.c */, @@ -1332,7 +1336,6 @@ F03A96E41AFA157800651655 /* common */, F01223BC1A1E4827008D16BA /* sounds */, F0ED99171A1645C200A788CE /* Makefile.am */, - F0ED99181A1645C200A788CE /* Makefile.in */, F0ED991A1A1645C200A788CE /* mediastreamer2_adaptive_tester.c */, F0ED991B1A1645C200A788CE /* mediastreamer2_audio_stream_tester.c */, F0ED991C1A1645C200A788CE /* mediastreamer2_basic_audio_tester.c */, @@ -1788,7 +1791,6 @@ F0ED994E1A1645C200A788CE /* nylon_48000_mono.wav in Resources */, F0ED99481A1645C200A788CE /* hello8000.wav in Resources */, F0ED994D1A1645C200A788CE /* laserrocket_16000_mono.wav in Resources */, - F0ED99371A1645C200A788CE /* Makefile.in in Resources */, F0ED99441A1645C200A788CE /* chimes_48000_stereo.wav in Resources */, F0ED99361A1645C200A788CE /* Makefile.am in Resources */, F0ED99431A1645C200A788CE /* bird_44100_stereo.wav in Resources */, @@ -1825,7 +1827,6 @@ F0ED99891A16464D00A788CE /* hello8000.wav in Resources */, F0497F141A1C9EA000B67112 /* MainWindow.xib in Resources */, F0ED998A1A16464D00A788CE /* laserrocket_16000_mono.wav in Resources */, - F0ED998B1A16464D00A788CE /* Makefile.in in Resources */, F0ED998C1A16464D00A788CE /* chimes_48000_stereo.wav in Resources */, F03A96E81AFA157800651655 /* bc_completion in Resources */, F0ED998D1A16464D00A788CE /* Makefile.am in Resources */, @@ -1902,6 +1903,7 @@ files = ( 22C8D0991769F8FF00DAFB4E /* filter-template.c in Sources */, 22C8D09A1769F8FF00DAFB4E /* yuv2rgb.fs in Sources */, + 630DCF691BBAC06400A0DDC8 /* msvideopresets.c in Sources */, 22C8D09B1769F8FF00DAFB4E /* yuv2rgb.vs in Sources */, F02538F919794908002C30F3 /* flowcontrol.c in Sources */, 22C8D09C1769F8FF00DAFB4E /* alaw.c in Sources */, @@ -1965,6 +1967,7 @@ 22C8D0D81769F8FF00DAFB4E /* msvoip.c in Sources */, 22C8D0D91769F8FF00DAFB4E /* qosanalyzer.c in Sources */, 22C8D0DA1769F8FF00DAFB4E /* qualityindicator.c in Sources */, + 630DCF6D1BBAC08200A0DDC8 /* video_preset_high_fps.c in Sources */, 22C8D0DB1769F8FF00DAFB4E /* rfc3984.c in Sources */, 22C8D0DC1769F8FF00DAFB4E /* ringstream.c in Sources */, 22C8D0DD1769F8FF00DAFB4E /* scaler.c in Sources */, @@ -1974,6 +1977,7 @@ 22C8D0E01769F8FF00DAFB4E /* msopus.c in Sources */, 22C8D0ED176A079600DAFB4E /* aac-eld.c in Sources */, 1561A555178D9C71006B4B2F /* ioshardware.m in Sources */, + 630DCF6C1BBAC08200A0DDC8 /* rfc4103_textstream.c in Sources */, F08272D71A7F895400BB6004 /* stun.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -2096,6 +2100,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( @@ -2122,6 +2127,7 @@ "POSIXTIMER_INTERVAL=10000", ); GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2132,6 +2138,8 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; + ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2142,6 +2150,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = ( "_BYTE_ORDER=_LITTLE_ENDIAN", @@ -2168,6 +2177,7 @@ ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2178,6 +2188,7 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2530,6 +2541,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD)"; + ENABLE_BITCODE = NO; GCC_C_LANGUAGE_STANDARD = c99; GCC_PREPROCESSOR_DEFINITIONS = ( "_BYTE_ORDER=_LITTLE_ENDIAN", @@ -2556,6 +2568,7 @@ ); GCC_SYMBOLS_PRIVATE_EXTERN = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_INHIBIT_ALL_WARNINGS = YES; GCC_WARN_UNUSED_VARIABLE = YES; HEADER_SEARCH_PATHS = ( linphone/mediastreamer2/build/iphone, @@ -2566,6 +2579,7 @@ externals/exosip/include, externals/speex/include, ); + IPHONEOS_DEPLOYMENT_TARGET = 6.0; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; VALID_ARCHS = "arm64 armv7"; @@ -2607,13 +2621,11 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2835,13 +2847,11 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; WRAPPER_EXTENSION = app; @@ -2883,13 +2893,11 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = com.apple.compilers.llvm.clang.1_0; INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 5.1.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; SKIP_INSTALL = YES; @@ -2944,10 +2952,8 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/mediastream-tester.app/mediastream-tester"; }; @@ -2992,7 +2998,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3040,7 +3045,6 @@ "$(SRCROOT)/../liblinphone-sdk/apple-darwin/include", ); INFOPLIST_FILE = "mediastream-tester Tests/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -3098,13 +3102,11 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; SKIP_INSTALL = YES; @@ -3160,13 +3162,11 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; @@ -3224,13 +3224,11 @@ "$(SRCROOT)/externals/speex", ); INFOPLIST_FILE = "$(SRCROOT)/linphone/mediastreamer2/tools/ios/mediastream-tester-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.1; LIBRARY_SEARCH_PATHS = ( "$(inherited)", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib", "$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins", ); - ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "mediastream-tester"; PROVISIONING_PROFILE = ""; diff --git a/submodules/linphone b/submodules/linphone index 8e3f9a337..c4cb4d276 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 8e3f9a337a7adae4e203653c8e1ff85989db9bda +Subproject commit c4cb4d2767b126bf45cb404a83ac1b29b99a8726