diff --git a/Classes/Base.lproj/WizardViews.xib b/Classes/Base.lproj/WizardViews.xib index d3b1bfc59..c3bd33efd 100644 --- a/Classes/Base.lproj/WizardViews.xib +++ b/Classes/Base.lproj/WizardViews.xib @@ -114,8 +114,8 @@ - - + + diff --git a/Classes/ChatRoomViewController.m b/Classes/ChatRoomViewController.m index 9e1c36f49..480d99e11 100644 --- a/Classes/ChatRoomViewController.m +++ b/Classes/ChatRoomViewController.m @@ -292,7 +292,10 @@ static UICompositeViewDescription *compositeDescription = nil; // Display name if(displayName == nil) { - displayName = [NSString stringWithUTF8String:linphone_address_get_username(linphoneAddress)]; + const char* username = linphone_address_get_username(linphoneAddress); + char* address = linphone_address_as_string(linphoneAddress); + displayName = [NSString stringWithUTF8String:username?:address]; + ms_free(address); } [addressLabel setText:displayName]; diff --git a/Classes/DialerViewController.m b/Classes/DialerViewController.m index e9cd810ff..652e42947 100644 --- a/Classes/DialerViewController.m +++ b/Classes/DialerViewController.m @@ -144,15 +144,23 @@ static UICompositeViewDescription *compositeDescription = nil; [callButton setEnabled:TRUE]; // Update on show - LinphoneManager *mgr=[LinphoneManager instance]; - LinphoneCore* lc = [LinphoneManager getLc]; - LinphoneCall* call = linphone_core_get_current_call(lc); + LinphoneManager *mgr = [LinphoneManager instance]; + LinphoneCore* lc = [LinphoneManager getLc]; + LinphoneCall* call = linphone_core_get_current_call(lc); LinphoneCallState state = (call != NULL)?linphone_call_get_state(call): 0; [self callUpdate:call state:state]; if([LinphoneManager runningOnIpad]) { - if(linphone_core_video_enabled(lc) && [mgr lpConfigBoolForKey:@"preview_preference"]) { + BOOL videoEnabled = linphone_core_video_enabled(lc); + BOOL previewPref = [mgr lpConfigBoolForKey:@"preview_preference"]; + + if( videoEnabled && previewPref ) { linphone_core_set_native_preview_window_id(lc, (unsigned long)videoPreview); + + if( !linphone_core_video_preview_enabled(lc)){ + linphone_core_enable_video_preview(lc, TRUE); + } + [backgroundView setHidden:FALSE]; [videoCameraSwitch setHidden:FALSE]; } else { diff --git a/Classes/ImagePickerViewController.m b/Classes/ImagePickerViewController.m index 36761a778..af021d52d 100644 --- a/Classes/ImagePickerViewController.m +++ b/Classes/ImagePickerViewController.m @@ -67,6 +67,7 @@ static UICompositeViewDescription *compositeDescription = nil; fullscreen:false landscapeMode:[LinphoneManager runningOnIpad] portraitMode:true]; + compositeDescription.darkBackground = false; } return compositeDescription; } @@ -93,7 +94,7 @@ static UICompositeViewDescription *compositeDescription = nil; [popoverController presentPopoverFromRect:CGRectZero inView:self.view permittedArrowDirections:UIPopoverArrowDirectionAny animated:FALSE]; } [[UIApplication sharedApplication] setStatusBarHidden:NO]; //Fix UIImagePickerController status bar hide - [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleBlackOpaque]; //Fix UIImagePickerController status bar style change + [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleDefault]; //Fix UIImagePickerController status bar style change } diff --git a/Classes/LinphoneUI/UIChatCell.m b/Classes/LinphoneUI/UIChatCell.m index 6662669ac..5fcf753ad 100644 --- a/Classes/LinphoneUI/UIChatCell.m +++ b/Classes/LinphoneUI/UIChatCell.m @@ -99,7 +99,10 @@ // Display name if(displayName == nil) { - displayName = [NSString stringWithUTF8String:linphone_address_get_username(linphoneAddress)]; + const char* username = linphone_address_get_username(linphoneAddress); + char* address = linphone_address_as_string(linphoneAddress); + displayName = [NSString stringWithUTF8String:username?:address]; + ms_free(address); } [addressLabel setText:displayName]; diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.h b/Classes/LinphoneUI/UIContactDetailsHeader.h index af82ed75a..e76058bad 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.h +++ b/Classes/LinphoneUI/UIContactDetailsHeader.h @@ -39,6 +39,8 @@ @property (nonatomic, retain) IBOutlet UITableView *tableView; @property (nonatomic, retain) IBOutlet id contactDetailsDelegate; +@property (retain, nonatomic) ImagePickerViewController* popoverController; + @property(nonatomic,getter=isEditing) BOOL editing; - (IBAction)onAvatarClick:(id)event; diff --git a/Classes/LinphoneUI/UIContactDetailsHeader.m b/Classes/LinphoneUI/UIContactDetailsHeader.m index be4d05af9..f3787a4f8 100644 --- a/Classes/LinphoneUI/UIContactDetailsHeader.m +++ b/Classes/LinphoneUI/UIContactDetailsHeader.m @@ -36,6 +36,7 @@ @synthesize editView; @synthesize tableView; @synthesize contactDetailsDelegate; +@synthesize popoverController; #pragma mark - Lifecycle Functions @@ -243,11 +244,13 @@ - (IBAction)onAvatarClick:(id)event { if(self.isEditing) { - void (^block)(UIImagePickerControllerSourceType) = ^(UIImagePickerControllerSourceType type) { + void (^showAppropriateController)(UIImagePickerControllerSourceType) = ^(UIImagePickerControllerSourceType type) { UICompositeViewDescription *description = [ImagePickerViewController compositeViewDescription]; ImagePickerViewController *controller; if([LinphoneManager runningOnIpad]) { controller = DYNAMIC_CAST([[PhoneMainView instance].mainViewController getCachedController:description.content], ImagePickerViewController); + // keep a reference to this controller so that in case of memory pressure we keep it + self.popoverController = controller; } else { controller = DYNAMIC_CAST([[PhoneMainView instance] changeCurrentView:description push:TRUE], ImagePickerViewController); } @@ -271,12 +274,12 @@ DTActionSheet *sheet = [[[DTActionSheet alloc] initWithTitle:NSLocalizedString(@"Select picture source",nil)] autorelease]; if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera]) { [sheet addButtonWithTitle:NSLocalizedString(@"Camera",nil) block:^(){ - block(UIImagePickerControllerSourceTypeCamera); + showAppropriateController(UIImagePickerControllerSourceTypeCamera); }]; } if([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypePhotoLibrary]) { [sheet addButtonWithTitle:NSLocalizedString(@"Photo library",nil) block:^(){ - block(UIImagePickerControllerSourceTypePhotoLibrary); + showAppropriateController(UIImagePickerControllerSourceTypePhotoLibrary); }]; } if([FastAddressBook getContactImage:contact thumbnail:true] != nil) { @@ -288,8 +291,10 @@ [self update]; }]; } - [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel",nil) block:nil]; - + [sheet addCancelButtonWithTitle:NSLocalizedString(@"Cancel",nil) block:^{ + self.popoverController = nil; + }]; + [sheet showInView:[PhoneMainView instance].view]; } } @@ -304,19 +309,25 @@ ImagePickerViewController *controller = DYNAMIC_CAST([[PhoneMainView instance].mainViewController getCachedController:description.content], ImagePickerViewController); if(controller != nil) { [controller.popoverController dismissPopoverAnimated:TRUE]; + self.popoverController = nil; } } + FastAddressBook* fab = [LinphoneManager instance].fastAddressBook; NSError* error = NULL; if(!ABPersonRemoveImageData(contact, (CFErrorRef*)error)) { [LinphoneLogger log:LinphoneLoggerLog format:@"Can't remove entry: %@", [error localizedDescription]]; } NSData *dataRef = UIImageJPEGRepresentation(image, 0.9f); CFDataRef cfdata = CFDataCreate(NULL,[dataRef bytes], [dataRef length]); - - if(!ABPersonSetImageData(contact, cfdata, (CFErrorRef*)error)) { - [LinphoneLogger log:LinphoneLoggerLog format:@"Can't add entry: %@", [error localizedDescription]]; - } - + + [fab saveAddressBook]; + + if(!ABPersonSetImageData(contact, cfdata, (CFErrorRef*)error)) { + [LinphoneLogger log:LinphoneLoggerLog format:@"Can't add entry: %@", [error localizedDescription]]; + } else { + [fab saveAddressBook]; + } + CFRelease(cfdata); [self update]; diff --git a/Classes/Utils/FastAddressBook.h b/Classes/Utils/FastAddressBook.h index d93549dae..34723eecc 100644 --- a/Classes/Utils/FastAddressBook.h +++ b/Classes/Utils/FastAddressBook.h @@ -31,6 +31,7 @@ + (UIImage*)getContactImage:(ABRecordRef)contact thumbnail:(BOOL)thumbnail; - (ABRecordRef)getContact:(NSString*)address; - (void)reload; +- (void)saveAddressBook; + (BOOL)isAuthorized; + (NSString*)appendCountryCodeIfPossible:(NSString*)number; + (NSString*)normalizePhoneNumber:(NSString*)number; diff --git a/Classes/Utils/FastAddressBook.m b/Classes/Utils/FastAddressBook.m index 35fb6d6ec..47e5a5b05 100644 --- a/Classes/Utils/FastAddressBook.m +++ b/Classes/Utils/FastAddressBook.m @@ -161,6 +161,15 @@ static void sync_address_book (ABAddressBookRef addressBook, CFDictionaryRef inf return self; } +- (void)saveAddressBook { + if( addressBook != nil ){ + NSError* err = nil; + if( !ABAddressBookSave(addressBook, (CFErrorRef*)err) ){ + Linphone_warn(@"Couldn't save Address Book"); + } + } +} + - (void)reload { if(addressBook != nil) { ABAddressBookUnregisterExternalChangeCallback(addressBook, sync_address_book, self); diff --git a/README.md b/README.md index 887da4af9..c4b2f6384 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,11 @@ You will NOT be able to build the SDK if you did not read liblinphone README fir * Using HomeBrew: - brew install imagemagick + brew install imagemagick yasm nasm * Using MacPorts: - sudo port install ImageMagick optipng + sudo port install ImageMagick optipng yasm nasm ### System linking @@ -112,6 +112,11 @@ Now, simply press `Command + U` and the default simulator will launch and try to * Video capture does not work in simulator (not implemented by simulator?). +* Link errors with x86_64: this happens when you try to run linphone on the iPhone 5S/6/6+ simulators. + This is due to the fact that we're not building the SDK for the x86_64 architecture, due to it being redundant with i386 (and increasing dramatically the compile time and build size). + The solution (temporary) is to force the acceptable architectures to be 'armv7' only (remove 'arm64') and disable the "build active architecture" flag in the linphone, XMLRPC and NinePatch projects. + Don't forget to re-enable them when archiving your project. + ## DEBUGING THE SDK Sometime it can be useful to step into liblinphone SDK functions. To allow Xcode to enable breakpoint within liblinphone, SDK must be built with debug symbols. diff --git a/Resources/linphonerc~ipad b/Resources/linphonerc~ipad index c19045ae8..1b6ff9d07 100644 --- a/Resources/linphonerc~ipad +++ b/Resources/linphonerc~ipad @@ -30,6 +30,7 @@ capture_dev_id=AU: Audio Unit Receiver eq_active=0 [app] +preview_preference=1 animations_preference=1 edge_opt_preference=0 use_system_contacts=0 diff --git a/linphone-Info.plist b/linphone-Info.plist index 63965fed2..d75adf8e8 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -53,7 +53,7 @@ CFBundleVersion - 2.2.4.1 + 2.2.4.2 LSRequiresIPhoneOS UIApplicationExitsOnSuspend diff --git a/submodules/externals/polarssl b/submodules/externals/polarssl index 18040383b..e46939b25 160000 --- a/submodules/externals/polarssl +++ b/submodules/externals/polarssl @@ -1 +1 @@ -Subproject commit 18040383bd13a5c683934df6744d99aee4a1231b +Subproject commit e46939b25c990d825d94c2d526c350a1380db67f diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 80f0b6ea7..082a585aa 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -183,7 +183,6 @@ 225D65871521C009008B2E81 /* telephonyevents.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6D711F6CF9F00621220 /* telephonyevents.c */; }; 225D65881521C009008B2E81 /* utils.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA6F211F6CF9F00621220 /* utils.c */; }; 225D65B81521C009008B2E81 /* netsim.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F23D145710540035B0D0 /* netsim.c */; }; - 225D65B91521C009008B2E81 /* ortp_srtp.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F23E145710540035B0D0 /* ortp_srtp.c */; }; 225D65BF1521C009008B2E81 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; 225D65CC1521C195008B2E81 /* libmediastreamer_base.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225D64F81521BFA6008B2E81 /* libmediastreamer_base.a */; }; 225D65CD1521C19A008B2E81 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225D65C51521C009008B2E81 /* libortp.a */; }; @@ -346,6 +345,8 @@ F02538F7197948C9002C30F3 /* rtcp_xr.c in Sources */ = {isa = PBXBuildFile; fileRef = F02538F3197948BE002C30F3 /* rtcp_xr.c */; }; F02538F919794908002C30F3 /* flowcontrol.c in Sources */ = {isa = PBXBuildFile; fileRef = F02538F819794908002C30F3 /* flowcontrol.c */; }; F02538FB1979491B002C30F3 /* videostarter.c in Sources */ = {isa = PBXBuildFile; fileRef = F02538FA1979491B002C30F3 /* videostarter.c */; }; + F0340ADD1A6D13BD002E4BF1 /* ms_srtp.c in Sources */ = {isa = PBXBuildFile; fileRef = F0340ADC1A6D13BD002E4BF1 /* ms_srtp.c */; }; + F0340ADF1A6D13FF002E4BF1 /* zrtp.c in Sources */ = {isa = PBXBuildFile; fileRef = F0340ADE1A6D13FF002E4BF1 /* zrtp.c */; }; F0497F021A1652F100B67112 /* mediastreamer2_neon_tester.c in Sources */ = {isa = PBXBuildFile; fileRef = F0ED9B981A164D7200A788CE /* mediastreamer2_neon_tester.c */; }; F0497F0C1A1B483E00B67112 /* zrtp.c in Sources */ = {isa = PBXBuildFile; fileRef = F0497F0B1A1B483E00B67112 /* zrtp.c */; }; F0497F0E1A1B4C1700B67112 /* mediastreamer2_tester_ios.m in Sources */ = {isa = PBXBuildFile; fileRef = F0497F0D1A1B4C1700B67112 /* mediastreamer2_tester_ios.m */; }; @@ -366,9 +367,7 @@ F0ED99471A1645C200A788CE /* hello8000-1s.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992B1A1645C200A788CE /* hello8000-1s.wav */; }; F0ED99481A1645C200A788CE /* hello8000.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992C1A1645C200A788CE /* hello8000.wav */; }; F0ED99491A1645C200A788CE /* hello_opus.mka in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992D1A1645C200A788CE /* hello_opus.mka */; }; - F0ED994A1A1645C200A788CE /* hello_opus_h264.mkv in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992E1A1645C200A788CE /* hello_opus_h264.mkv */; }; F0ED994B1A1645C200A788CE /* hello_pcmu.mka in Resources */ = {isa = PBXBuildFile; fileRef = F0ED992F1A1645C200A788CE /* hello_pcmu.mka */; }; - F0ED994C1A1645C200A788CE /* hello_pcmu_h264.mkv in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99301A1645C200A788CE /* hello_pcmu_h264.mkv */; }; F0ED994D1A1645C200A788CE /* laserrocket_16000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99311A1645C200A788CE /* laserrocket_16000_mono.wav */; }; F0ED994E1A1645C200A788CE /* nylon_48000_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99321A1645C200A788CE /* nylon_48000_mono.wav */; }; F0ED994F1A1645C200A788CE /* owl_44100_mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = F0ED99331A1645C200A788CE /* owl_44100_mono.wav */; }; @@ -765,6 +764,8 @@ F02538F3197948BE002C30F3 /* rtcp_xr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = rtcp_xr.c; sourceTree = ""; }; F02538F819794908002C30F3 /* flowcontrol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = flowcontrol.c; sourceTree = ""; }; F02538FA1979491B002C30F3 /* videostarter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videostarter.c; sourceTree = ""; }; + F0340ADC1A6D13BD002E4BF1 /* ms_srtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ms_srtp.c; sourceTree = ""; }; + F0340ADE1A6D13FF002E4BF1 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; F0497F0B1A1B483E00B67112 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; F0497F0D1A1B4C1700B67112 /* mediastreamer2_tester_ios.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = mediastreamer2_tester_ios.m; sourceTree = ""; }; F0497F151A1C9F8700B67112 /* mediastream-tester-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "mediastream-tester-Info.plist"; sourceTree = ""; }; @@ -804,7 +805,6 @@ F0ED9B961A164A4800A788CE /* msmediaplayer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msmediaplayer.c; sourceTree = ""; }; F0ED9B981A164D7200A788CE /* mediastreamer2_neon_tester.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = mediastreamer2_neon_tester.c; sourceTree = ""; }; F4D9F23D145710540035B0D0 /* netsim.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = netsim.c; sourceTree = ""; }; - F4D9F23E145710540035B0D0 /* ortp_srtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ortp_srtp.c; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -1040,20 +1040,21 @@ 222CA5DC11F6CF7600621220 /* src */ = { isa = PBXGroup; children = ( - F0ED99161A1645C200A788CE /* tester */, + 222CA5DD11F6CF7600621220 /* .gitignore */, + 222CA5F911F6CF7600621220 /* Makefile.am */, + 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, + 2203127413A249F70049A2ED /* filter-template.c */, + 221DCB6A153584410025E54D /* yuv2rgb.fs */, + 222CA5FA11F6CF7600621220 /* Makefile.in */, + 221DCB6B153584410025E54D /* yuv2rgb.vs */, 223CA7EF16D9268D00EF1BEC /* audiofilters */, 223CA81116D9268D00EF1BEC /* base */, + F0340ADB1A6D13BD002E4BF1 /* crypto */, 223CA81A16D9268D00EF1BEC /* otherfilters */, + F0ED99161A1645C200A788CE /* tester */, 223CA82016D9268D00EF1BEC /* utils */, 223CA83316D9268D00EF1BEC /* videofilters */, 223CA84E16D9268D00EF1BEC /* voip */, - 222CA5DD11F6CF7600621220 /* .gitignore */, - 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, - 2203127413A249F70049A2ED /* filter-template.c */, - 222CA5F911F6CF7600621220 /* Makefile.am */, - 222CA5FA11F6CF7600621220 /* Makefile.in */, - 221DCB6A153584410025E54D /* yuv2rgb.fs */, - 221DCB6B153584410025E54D /* yuv2rgb.vs */, ); path = src; sourceTree = ""; @@ -1110,7 +1111,6 @@ 222CA6C011F6CF9F00621220 /* master */, F4D9F23D145710540035B0D0 /* netsim.c */, 222CA6C211F6CF9F00621220 /* ortp.c */, - F4D9F23E145710540035B0D0 /* ortp_srtp.c */, 222CA6C311F6CF9F00621220 /* payloadtype.c */, 222CA6C411F6CF9F00621220 /* port.c */, 222CA6C511F6CF9F00621220 /* posixtimer.c */, @@ -1278,6 +1278,7 @@ 223CA86616D9268D00EF1BEC /* videostream.c */, F02538E71979481D002C30F3 /* vp8rtpfmt.c */, F02538E81979481D002C30F3 /* vp8rtpfmt.h */, + F0340ADE1A6D13FF002E4BF1 /* zrtp.c */, F0497F0B1A1B483E00B67112 /* zrtp.c */, ); path = voip; @@ -1312,6 +1313,14 @@ name = "Supporting Files"; sourceTree = ""; }; + F0340ADB1A6D13BD002E4BF1 /* crypto */ = { + isa = PBXGroup; + children = ( + F0340ADC1A6D13BD002E4BF1 /* ms_srtp.c */, + ); + path = crypto; + sourceTree = ""; + }; F0ED99161A1645C200A788CE /* tester */ = { isa = PBXGroup; children = ( @@ -1783,12 +1792,10 @@ F0ED99441A1645C200A788CE /* chimes_48000_stereo.wav in Resources */, F0ED99361A1645C200A788CE /* Makefile.am in Resources */, F0ED99431A1645C200A788CE /* bird_44100_stereo.wav in Resources */, - F0ED994C1A1645C200A788CE /* hello_pcmu_h264.mkv in Resources */, F0ED99471A1645C200A788CE /* hello8000-1s.wav in Resources */, 2206D2E1177ACF5700C40726 /* nowebcamCIF.jpg in Resources */, F0ED99501A1645C200A788CE /* piano_8000_stereo.wav in Resources */, F0ED99461A1645C200A788CE /* hello16000.wav in Resources */, - F0ED994A1A1645C200A788CE /* hello_opus_h264.mkv in Resources */, F0ED994B1A1645C200A788CE /* hello_pcmu.mka in Resources */, F0ED99491A1645C200A788CE /* hello_opus.mka in Resources */, F0ED99421A1645C200A788CE /* arpeggio_8000_mono.wav in Resources */, @@ -1886,7 +1893,6 @@ 225D65871521C009008B2E81 /* telephonyevents.c in Sources */, 225D65881521C009008B2E81 /* utils.c in Sources */, 225D65B81521C009008B2E81 /* netsim.c in Sources */, - 225D65B91521C009008B2E81 /* ortp_srtp.c in Sources */, 22405EE51600671D00B92522 /* logging.c in Sources */, 22405EE61600671D00B92522 /* rtpprofile.c in Sources */, ); @@ -1912,6 +1918,7 @@ 22C8D0A61769F8FF00DAFB4E /* msfileplayer.c in Sources */, 22C8D0A71769F8FF00DAFB4E /* msfilerec.c in Sources */, 22C8D0A81769F8FF00DAFB4E /* msg722.c in Sources */, + F0340ADD1A6D13BD002E4BF1 /* ms_srtp.c in Sources */, 22C8D0A91769F8FF00DAFB4E /* msiounit.m in Sources */, 22C8D0AA1769F8FF00DAFB4E /* msresample.c in Sources */, 22C8D0AB1769F8FF00DAFB4E /* msspeex.c in Sources */, @@ -1950,6 +1957,7 @@ 22C8D0D11769F8FF00DAFB4E /* bitratecontrol.c in Sources */, 22C8D0D21769F8FF00DAFB4E /* bitratedriver.c in Sources */, 22C8D0D31769F8FF00DAFB4E /* ice.c in Sources */, + F0340ADF1A6D13FF002E4BF1 /* zrtp.c in Sources */, 22C8D0D41769F8FF00DAFB4E /* layouts.c in Sources */, 22C8D0D51769F8FF00DAFB4E /* mediastream.c in Sources */, 22C8D0D61769F8FF00DAFB4E /* msvideo.c in Sources */, diff --git a/submodules/linphone b/submodules/linphone index d282ec6ad..b4dc7b386 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit d282ec6ad9c05e1e18c2cb9a917cb6b4f417e56d +Subproject commit b4dc7b3868a6fe6f5aa9ece5c08d28393ba0e8dd