diff --git a/Classes/IncallViewController.h b/Classes/IncallViewController.h index 0d7340568..5edb0f409 100644 --- a/Classes/IncallViewController.h +++ b/Classes/IncallViewController.h @@ -63,6 +63,9 @@ UIView* videoGroup; UIView* videoView; UIView* videoPreview; +#ifdef TEST_VIDEO_VIEW_CHANGE + UIView* testVideoView; +#endif UIImageView* videoCallQuality; UICamSwitch* videoCameraSwitch; UIActivityIndicatorView* videoUpdateIndicator; @@ -136,6 +139,9 @@ @property (nonatomic, retain) IBOutlet UIView* videoGroup; @property (nonatomic, retain) IBOutlet UIView* videoView; +#ifdef TEST_VIDEO_VIEW_CHANGE +@property (nonatomic, retain) IBOutlet UIView* testVideoView; +#endif @property (nonatomic, retain) IBOutlet UIView* videoPreview; @property (nonatomic, retain) IBOutlet UIImageView* videoCallQuality; @property (nonatomic, retain) IBOutlet UICamSwitch* videoCameraSwitch; diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m index 3adaf99de..31a06e8aa 100644 --- a/Classes/IncallViewController.m +++ b/Classes/IncallViewController.m @@ -75,6 +75,9 @@ const NSInteger SECURE_BUTTON_TAG=5; @synthesize videoCameraSwitch; @synthesize videoUpdateIndicator; @synthesize videoWaitingForFirstImage; +#ifdef TEST_VIDEO_VIEW_CHANGE +@synthesize testVideoView; +#endif @synthesize addVideo; @@ -239,6 +242,19 @@ void addAnimationFadeTransition(UIView* view, float duration) { } } +#ifdef TEST_VIDEO_VIEW_CHANGE +// Define TEST_VIDEO_VIEW_CHANGE in IncallViewController.h to enable video view switching testing +-(void) _debugChangeVideoView { + static bool normalView = false; + if (normalView) { + linphone_core_set_native_video_window_id([LinphoneManager getLc], (unsigned long)videoView); + } else { + linphone_core_set_native_video_window_id([LinphoneManager getLc], (unsigned long)testVideoView); + } + normalView = !normalView; +} +#endif + -(void) enableVideoDisplay { [self orientationChanged:nil]; @@ -270,6 +286,9 @@ void addAnimationFadeTransition(UIView* view, float duration) { done = true; } +#ifdef TEST_VIDEO_VIEW_CHANGE + [NSTimer scheduledTimerWithTimeInterval:5.0 target:self selector:@selector(_debugChangeVideoView) userInfo:nil repeats:YES]; +#endif [self batteryLevelChanged:nil]; } diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index ac60009c1..15b692a2c 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -98,6 +98,7 @@ typedef struct _LinphoneCallAppData { -(BOOL) reconfigureLinphoneIfNeeded:(NSDictionary *)oldSettings; -(void) setupNetworkReachabilityCallback: (const char*) nodeName withContext:(SCNetworkReachabilityContext*) ctx; +-(void) refreshRegisters; @property (nonatomic, retain) id callDelegate; @property (nonatomic, retain) id registrationDelegate; diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index 20ff09784..2ee652b28 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -27,6 +27,7 @@ #import #import "FastAddressBook.h" #include +#include #include "linphone_tunnel.h" #import @@ -45,7 +46,7 @@ extern void libmsx264_init(); #endif #define FRONT_CAM_NAME "AV Capture: Front Camera" #define BACK_CAM_NAME "AV Capture: Back Camera" - +#define DEFAULT_EXPIRES 600 #if defined (HAVE_SILK) extern void libmssilk_init(); #endif @@ -456,32 +457,73 @@ static LinphoneCoreVTable linphonec_vtable; CFWriteStreamClose (writeStream); } -void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* nilCtx) { - ms_message("Network connection flag [%x]",flags); +static void showNetworkFlags(SCNetworkReachabilityFlags flags){ + ms_message("Network connection flags:"); + if (flags==0) ms_message("no flags."); + if (flags & kSCNetworkReachabilityFlagsTransientConnection) + ms_message("kSCNetworkReachabilityFlagsTransientConnection"); + if (flags & kSCNetworkReachabilityFlagsReachable) + ms_message("kSCNetworkReachabilityFlagsReachable"); + if (flags & kSCNetworkReachabilityFlagsConnectionRequired) + ms_message("kSCNetworkReachabilityFlagsConnectionRequired"); + if (flags & kSCNetworkReachabilityFlagsConnectionOnTraffic) + ms_message("kSCNetworkReachabilityFlagsConnectionOnTraffic"); + if (flags & kSCNetworkReachabilityFlagsConnectionOnDemand) + ms_message("kSCNetworkReachabilityFlagsConnectionOnDemand"); + if (flags & kSCNetworkReachabilityFlagsIsLocalAddress) + ms_message("kSCNetworkReachabilityFlagsIsLocalAddress"); + if (flags & kSCNetworkReachabilityFlagsIsDirect) + ms_message("kSCNetworkReachabilityFlagsIsDirect"); + if (flags & kSCNetworkReachabilityFlagsIsWWAN) + ms_message("kSCNetworkReachabilityFlagsIsWWAN"); +} + +void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReachabilityFlags flags, void* nilCtx){ + showNetworkFlags(flags); LinphoneManager* lLinphoneMgr = [LinphoneManager instance]; + SCNetworkReachabilityFlags networkDownFlags=kSCNetworkReachabilityFlagsConnectionRequired |kSCNetworkReachabilityFlagsConnectionOnTraffic | kSCNetworkReachabilityFlagsConnectionOnDemand; + if ([LinphoneManager getLc] != nil) { + LinphoneProxyConfig* proxy; + linphone_core_get_default_proxy([LinphoneManager getLc], &proxy); + struct NetworkReachabilityContext* ctx = nilCtx ? ((struct NetworkReachabilityContext*)nilCtx) : 0; - if ((flags == 0) | (flags & (kSCNetworkReachabilityFlagsConnectionRequired |kSCNetworkReachabilityFlagsConnectionOnTraffic))) { - [[LinphoneManager instance] kickOffNetworkConnection]; + if ((flags == 0) || (flags & networkDownFlags)) { linphone_core_set_network_reachable([LinphoneManager getLc],false); lLinphoneMgr.connectivity = none; + [[LinphoneManager instance] kickOffNetworkConnection]; } else { LinphoneTunnel *tunnel=linphone_core_get_tunnel([LinphoneManager getLc]); Connectivity newConnectivity; + BOOL isWifiOnly = [[NSUserDefaults standardUserDefaults] boolForKey:@"wifi_only_preference"]; if (!ctx || ctx->testWWan) newConnectivity = flags & kSCNetworkReachabilityFlagsIsWWAN ? wwan:wifi; else newConnectivity = wifi; + if (newConnectivity == wwan + && proxy + && isWifiOnly + && (lLinphoneMgr.connectivity == newConnectivity || lLinphoneMgr.connectivity == none)) { + linphone_proxy_config_expires(proxy, 0); + } else if (proxy){ + linphone_proxy_config_expires(proxy, DEFAULT_EXPIRES); //might be better to save the previous value + } + if (lLinphoneMgr.connectivity == none) { linphone_core_set_network_reachable([LinphoneManager getLc],true); + } else if (lLinphoneMgr.connectivity != newConnectivity) { // connectivity has changed if (tunnel) linphone_tunnel_reconnect(tunnel); else { - linphone_core_set_network_reachable([LinphoneManager getLc],false); - linphone_core_set_network_reachable([LinphoneManager getLc],true); + linphone_core_set_network_reachable([LinphoneManager getLc],false); + if (newConnectivity == wwan && proxy && isWifiOnly) { + linphone_proxy_config_expires(proxy, 0); + } + linphone_core_set_network_reachable([LinphoneManager getLc],true); } + ms_message("Network connectivity changed to type [%s]",(newConnectivity==wifi?"wifi":"wwan")); } lLinphoneMgr.connectivity=newConnectivity; switch (lLinphoneMgr.tunnelMode) { @@ -496,7 +538,6 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach break; } - ms_message("new network connectivity of type [%s]",(newConnectivity==wifi?"wifi":"wwan")); } if (ctx && ctx->networkStateChanged) { (*ctx->networkStateChanged)(lLinphoneMgr.connectivity); @@ -640,7 +681,13 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach linphone_proxy_config_set_identity(proxyCfg,identity); linphone_proxy_config_set_server_addr(proxyCfg,proxy); linphone_proxy_config_enable_register(proxyCfg,true); - linphone_proxy_config_expires(proxyCfg, 600); + BOOL isWifiOnly = [[NSUserDefaults standardUserDefaults] boolForKey:@"wifi_only_preference"]; + LinphoneManager* lLinphoneMgr = [LinphoneManager instance]; + if (isWifiOnly && lLinphoneMgr.connectivity == wwan) { + linphone_proxy_config_expires(proxyCfg, 0); + } else { + linphone_proxy_config_expires(proxyCfg, DEFAULT_EXPIRES); + } if (isOutboundProxy) linphone_proxy_config_set_route(proxyCfg,proxy); @@ -850,18 +897,18 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach handler:^{ ms_warning("keepalive handler"); if (theLinphoneCore == nil) { - ms_warning("It seam that Linphone BG mode was deacticated, just skipping"); + ms_warning("It seems that Linphone BG mode was deactivated, just skipping"); return; } //kick up network cnx, just in case [self kickOffNetworkConnection]; - linphone_core_refresh_registers(theLinphoneCore); + [self refreshRegisters]; linphone_core_iterate(theLinphoneCore); } ]) { - ms_warning("keepalive handler succesfully registered"); + ms_message("keepalive handler succesfully registered"); } else { ms_warning("keepalive handler cannot be registered"); } @@ -872,7 +919,7 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach return YES; } else { - ms_warning("Entering lite bg mode"); + ms_message("Entering lite bg mode"); [self destroyLibLinphone]; return NO; } @@ -884,8 +931,6 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach linphone_core_iterate(theLinphoneCore); } - - -(void) setupNetworkReachabilityCallback: (const char*) nodeName withContext:(SCNetworkReachabilityContext*) ctx { if (proxyReachability) { ms_message("Cancel old network reachability check"); @@ -899,16 +944,19 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach //initial state is network off should be done as soon as possible SCNetworkReachabilityFlags flags; if (!SCNetworkReachabilityGetFlags(proxyReachability, &flags)) { - ms_error("Cannot get reachability flags"); - }; - networkReachabilityCallBack(proxyReachability, flags, ctx ? ctx->info : 0); - + ms_error("Cannot get reachability flags: %s", SCErrorString(SCError())); + return; + } + networkReachabilityCallBack(proxyReachability, flags, ctx ? ctx->info : 0); + if (!SCNetworkReachabilitySetCallback(proxyReachability, (SCNetworkReachabilityCallBack)networkReachabilityCallBack, ctx)){ - ms_error("Cannot register reachability cb"); - }; + ms_error("Cannot register reachability cb: %s", SCErrorString(SCError())); + return; + } if(!SCNetworkReachabilityScheduleWithRunLoop(proxyReachability, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode)){ - ms_error("Cannot register schedule reachability cb"); - }; + ms_error("Cannot register schedule reachability cb: %s", SCErrorString(SCError())); + return; + } } /************* @@ -1041,6 +1089,19 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach ,[[UIDevice currentDevice].model cStringUsingEncoding:[NSString defaultCStringEncoding]] ); } + +-(void) refreshRegisters{ + /*first check if network is available*/ + if (proxyReachability){ + SCNetworkReachabilityFlags flags=0; + if (!SCNetworkReachabilityGetFlags(proxyReachability, &flags)) { + ms_error("Cannot get reachability flags"); + }else + networkReachabilityCallBack(proxyReachability, flags, 0); + }else ms_error("No proxy reachability context created !"); + linphone_core_refresh_registers(theLinphoneCore);//just to make sure REGISTRATION is up to date +} + -(void) becomeActive { if (theLinphoneCore == nil) { //back from standby and background mode is disabled @@ -1048,9 +1109,8 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach } else { if (![self reconfigureLinphoneIfNeeded:currentSettings]) { ms_message("becoming active with no config modification, make sure we are registered"); - linphone_core_refresh_registers(theLinphoneCore);//just to make sure REGISTRATION is up to date + [self refreshRegisters]; } - } /*IOS specific*/ linphone_core_start_dtmf_stream(theLinphoneCore); diff --git a/Classes/LinphoneUI/VideoZoomHandler.m b/Classes/LinphoneUI/VideoZoomHandler.m index fb238fc69..33c735f8f 100644 --- a/Classes/LinphoneUI/VideoZoomHandler.m +++ b/Classes/LinphoneUI/VideoZoomHandler.m @@ -26,7 +26,7 @@ } else { cx = cy = 0.5; } - linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), zoomLevel, cx, cy); + linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), zoomLevel, &cx, &cy); } -(void) videoPan:(UIPanGestureRecognizer*) reco { @@ -43,11 +43,14 @@ } else if ([reco state] == UIGestureRecognizerStateChanged) { x = cx - translation.x / videoView.frame.size.width; y = cy + translation.y / videoView.frame.size.height; + [reco setTranslation:CGPointMake(0, 0) inView:videoView]; } else { return; } - linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), zoomLevel, x, y); + linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), zoomLevel, &x, &y); + cx = x; + cy = y; } -(void) pinch:(UIPinchGestureRecognizer*) reco { @@ -70,7 +73,7 @@ } - linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), s, cx, cy); + linphone_call_zoom_video(linphone_core_get_current_call([LinphoneManager getLc]), s, &cx, &cy); } -(void) resetZoom { diff --git a/Classes/MainScreenWithVideoPreview.m b/Classes/MainScreenWithVideoPreview.m index 2947b85d0..c35983820 100644 --- a/Classes/MainScreenWithVideoPreview.m +++ b/Classes/MainScreenWithVideoPreview.m @@ -72,7 +72,6 @@ - (void)viewDidLoad { [super viewDidLoad]; - [phoneMainView.switchCamera addTarget:self action:@selector(switchCameraPressed) forControlEvents:UIControlEventTouchUpInside]; } -(void) switchCameraPressed { @@ -80,30 +79,32 @@ } -(void) useCameraAtIndex:(NSInteger)camIndex startSession:(BOOL)start { - [session stopRunning]; + @synchronized (self) { + [session stopRunning]; - if (input != nil) - [session removeInput:input]; + if (input != nil) + [session removeInput:input]; - NSError* error; + NSError* error; - NSAutoreleasePool* pool = [[NSAutoreleasePool alloc]init]; - NSArray* array = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; - if ( [array count] == 0) { - ms_warning("No camera available (running on simulator ?"); - return; - } - currentCamera = camIndex % [array count]; - AVCaptureDevice* device = (AVCaptureDevice*) [array objectAtIndex:currentCamera]; - input = [[AVCaptureDeviceInput deviceInputWithDevice:device + NSAutoreleasePool* pool = [[NSAutoreleasePool alloc]init]; + NSArray* array = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo]; + if ( [array count] == 0) { + ms_warning("No camera available (running on simulator ?"); + return; + } + currentCamera = camIndex % [array count]; + AVCaptureDevice* device = (AVCaptureDevice*) [array objectAtIndex:currentCamera]; + input = [[AVCaptureDeviceInput deviceInputWithDevice:device error:&error] retain]; - [session addInput:input]; + [session addInput:input]; - [pool drain]; + [pool drain]; - if (start) - [session startRunning]; + if (start) + [session startRunning]; + } } -(void) stopPreview:(id) a { @@ -127,10 +128,18 @@ -(void) showPreview:(BOOL) show { + LinphoneCore* lc; + @try { + lc = [LinphoneManager getLc]; + } + @catch (NSException *exception) { + return; + } + bool enableVideo = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_video_preference"]; if (enableVideo) { - LinphoneCall* call = linphone_core_get_current_call([LinphoneManager getLc]); + LinphoneCall* call = linphone_core_get_current_call(lc); if (show && call && linphone_call_params_video_enabled(linphone_call_get_current_params(call))) { return; } @@ -151,6 +160,7 @@ -(void) viewDidAppear:(BOOL)animated { [super viewDidAppear:animated]; + [phoneMainView.switchCamera addTarget:self action:@selector(switchCameraPressed) forControlEvents:UIControlEventTouchUpInside]; } -(void) viewDidDisappear:(BOOL)animated { diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 9d1f45a12..7309144ad 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -83,10 +83,12 @@ switch (s) { case LinphoneRegistrationOk: m = @"Registered"; break; - case LinphoneRegistrationNone: m=@"Not registered"; break; + case LinphoneRegistrationNone: + case LinphoneRegistrationCleared: + m=@"Not registered"; break; case LinphoneRegistrationFailed: m = @"Registration failed"; break; case LinphoneRegistrationProgress: m = @"Registration in progress"; break; - case LinphoneRegistrationCleared: m= @"No SIP account"; break; + //case LinphoneRegistrationCleared: m= @"No SIP account"; break; default: break; } } @@ -113,7 +115,7 @@ [callShort setEnabled:!linphone_core_sound_resources_locked([LinphoneManager getLc])]; } @catch (NSException* exc) { // R.A.S: linphone core si simply not ready... - ms_warning("Exception %s: %s", + ms_warning("Catched exception %s: %s", [exc.name cStringUsingEncoding:[NSString defaultCStringEncoding]], [exc.reason cStringUsingEncoding:[NSString defaultCStringEncoding]]); } diff --git a/Classes/StatusSubViewController.m b/Classes/StatusSubViewController.m index f1eaa2423..dd2a5e569 100644 --- a/Classes/StatusSubViewController.m +++ b/Classes/StatusSubViewController.m @@ -63,11 +63,11 @@ label.hidden = NO; switch(state) { case LinphoneRegistrationCleared: - image.hidden = NO; +/* image.hidden = NO; [image setImage:[UIImage imageNamed:@"status_orange.png"]]; [spinner stopAnimating]; [label setText:message != nil ? message : NSLocalizedString(@"No SIP account defined", nil)]; - return YES; + return YES;*/ case LinphoneRegistrationFailed: image.hidden = NO; [image setImage:[UIImage imageNamed:@"status_red.png"]]; diff --git a/PhoneMainView.xib b/PhoneMainView.xib index b4c3174c1..8cc1896dd 100644 --- a/PhoneMainView.xib +++ b/PhoneMainView.xib @@ -2,13 +2,13 @@ 784 - 11C74 - 1938 - 1138.23 - 567.00 + 11D50b + 2182 + 1138.32 + 568.00 com.apple.InterfaceBuilder.IBCocoaTouchPlugin - 933 + 1181 YES @@ -47,7 +47,6 @@ {320, 480} - 1 MSAxIDEAA @@ -141,7 +140,6 @@ 266 {{0, 431}, {320, 49}} - 3 MCAwAA @@ -318,7 +316,7 @@ 8.IBPluginDependency 9.IBPluginDependency - + YES UIApplication com.apple.InterfaceBuilder.IBCocoaTouchPlugin @@ -368,6 +366,10 @@ com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 @@ -381,12 +383,12 @@ dialer-orange.png history-orange.png - + YES {25, 24} {25, 23} - 933 + 1181 diff --git a/linphone-Info.plist b/linphone-Info.plist index 8adbad5d6..9558573e0 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -28,7 +28,7 @@ CFBundleSignature ???? CFBundleVersion - 1.1.1 + 1.1.2 NSMainNibFile PhoneMainView NSMainNibFile~ipad diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index 961c26bb5..043883ce6 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -268,6 +268,8 @@ 34CA8536148F669900503C01 /* VideoViewController-ipad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34CA8534148F669900503C01 /* VideoViewController-ipad.xib */; }; 34CA8539148F692A00503C01 /* MainScreenWithVideoPreview.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CA8538148F692A00503C01 /* MainScreenWithVideoPreview.m */; }; 34CA853A148F692A00503C01 /* MainScreenWithVideoPreview.m in Sources */ = {isa = PBXBuildFile; fileRef = 34CA8538148F692A00503C01 /* MainScreenWithVideoPreview.m */; }; + 57282931154AF1460076F540 /* history-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 34C7646B14CD5585008E9607 /* history-orange.png */; }; + 57282933154AF14D0076F540 /* dialer-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 34C7646A14CD5585008E9607 /* dialer-orange.png */; }; 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */ = {isa = PBXBuildFile; fileRef = 70571E1913FABCB000CDD3C2 /* rootca.pem */; }; 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0B13E830E400EFC6DC /* libvpx.a */; }; 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; @@ -1479,6 +1481,8 @@ 3418845814C6F66F00EA48C7 /* status_orange.png in Resources */, 3418845A14C6F66F00EA48C7 /* status_red.png in Resources */, 3418845D14C7077400EA48C7 /* status_gray.png in Resources */, + 57282931154AF1460076F540 /* history-orange.png in Resources */, + 57282933154AF14D0076F540 /* dialer-orange.png in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index dd27edcc0..ac23ccd0e 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -337,6 +337,6 @@ delivery: ipa: cd $(BUILDER_SRC_DIR)/../ \ - && xcodebuild -configuration DistributionAdhoc \ - && xcrun -sdk iphoneos PackageApplication -v build/DistributionAdhoc-iphoneos/linphone.app -o $(BUILDER_SRC_DIR)/../linphone-iphone.ipa + && xcodebuild -configuration Release \ + && xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/linphone.app -o $(BUILDER_SRC_DIR)/../linphone-iphone.ipa diff --git a/submodules/build/builders.d/srtp.mk b/submodules/build/builders.d/srtp.mk index 97534a732..dd5ebfc22 100644 --- a/submodules/build/builders.d/srtp.mk +++ b/submodules/build/builders.d/srtp.mk @@ -1,16 +1,17 @@ srtp_dir?=externals/srtp -$(BUILDER_SRC_DIR)/$(srtp_dir)/configure: +$(BUILDER_SRC_DIR)/$(srtp_dir)/configure: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure.in cd $(BUILDER_SRC_DIR)/$(srtp_dir) \ && autoconf -$(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure +$(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(srtp_dir)/configure $(BUILDER_SRC_DIR)/$(srtp_dir)/Makefile.in mkdir -p $(BUILDER_BUILD_DIR)/$(srtp_dir) cd $(BUILDER_BUILD_DIR)/$(srtp_dir)/\ && CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ $(BUILDER_SRC_DIR)/$(srtp_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} build-srtp: $(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile - cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make libsrtp.a && make uninstall && make install + host_alias=$(host) && . /$(BUILDER_SRC_DIR)/build/$(config_site) && \ + cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make libsrtp.a AR=$$AR && make install clean-srtp: -cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make clean diff --git a/submodules/externals/srtp b/submodules/externals/srtp index daa25fdba..c01a03a47 160000 --- a/submodules/externals/srtp +++ b/submodules/externals/srtp @@ -1 +1 @@ -Subproject commit daa25fdbacb75e2aa99f5fce1bd5836dc616fb42 +Subproject commit c01a03a478d4c97fa7e2af80844f8d60440af0a6 diff --git a/submodules/linphone b/submodules/linphone index 38d4730be..04fa4d457 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit 38d4730be5d172c13d0bd58a53c397c140f81231 +Subproject commit 04fa4d457b3b584eae8c5964a48a97ec4040c94a diff --git a/submodules/tunnel b/submodules/tunnel index 21de31a17..4d7f0692b 160000 --- a/submodules/tunnel +++ b/submodules/tunnel @@ -1 +1 @@ -Subproject commit 21de31a17e022d0d65d559784cc24ad1dfb99a21 +Subproject commit 4d7f0692bb8ebe1a37e686f44314fa12b327459e