mirror of
https://gitlab.linphone.org/BC/public/linphone-iphone.git
synced 2026-01-17 19:18:06 +00:00
Merge remote-tracking branch 'origin/master' into tunnel
Conflicts: Classes/LinphoneUI/LinphoneManager.m
This commit is contained in:
commit
5aa42780c1
16 changed files with 179 additions and 71 deletions
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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];
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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<LinphoneUICallDelegate> callDelegate;
|
||||
@property (nonatomic, retain) id<LinphoneUIRegistrationDelegate> registrationDelegate;
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#import <AudioToolbox/AudioToolbox.h>
|
||||
#import "FastAddressBook.h"
|
||||
#include <sys/sysctl.h>
|
||||
#include <SystemConfiguration/SystemConfiguration.h>
|
||||
|
||||
#include "linphone_tunnel.h"
|
||||
#import <AddressBook/AddressBook.h>
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
|
|
@ -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]]);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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"]];
|
||||
|
|
|
|||
|
|
@ -2,13 +2,13 @@
|
|||
<archive type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="7.10">
|
||||
<data>
|
||||
<int key="IBDocument.SystemTarget">784</int>
|
||||
<string key="IBDocument.SystemVersion">11C74</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">1938</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.23</string>
|
||||
<string key="IBDocument.HIToolboxVersion">567.00</string>
|
||||
<string key="IBDocument.SystemVersion">11D50b</string>
|
||||
<string key="IBDocument.InterfaceBuilderVersion">2182</string>
|
||||
<string key="IBDocument.AppKitVersion">1138.32</string>
|
||||
<string key="IBDocument.HIToolboxVersion">568.00</string>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginVersions">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
<string key="NS.object.0">933</string>
|
||||
<string key="NS.object.0">1181</string>
|
||||
</object>
|
||||
<object class="NSArray" key="IBDocument.IntegratedClassDependencies">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
|
|
@ -47,7 +47,6 @@
|
|||
<object class="NSPSMatrix" key="NSFrameMatrix"/>
|
||||
<string key="NSFrameSize">{320, 480}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">1</int>
|
||||
<bytes key="NSRGB">MSAxIDEAA</bytes>
|
||||
|
|
@ -141,7 +140,6 @@
|
|||
<int key="NSvFlags">266</int>
|
||||
<string key="NSFrame">{{0, 431}, {320, 49}}</string>
|
||||
<reference key="NSSuperview"/>
|
||||
<reference key="NSNextKeyView"/>
|
||||
<object class="NSColor" key="IBUIBackgroundColor">
|
||||
<int key="NSColorSpace">3</int>
|
||||
<bytes key="NSWhite">MCAwAA</bytes>
|
||||
|
|
@ -318,7 +316,7 @@
|
|||
<string>8.IBPluginDependency</string>
|
||||
<string>9.IBPluginDependency</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>UIApplication</string>
|
||||
<string>com.apple.InterfaceBuilder.IBCocoaTouchPlugin</string>
|
||||
|
|
@ -368,6 +366,10 @@
|
|||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<integer value="784" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDependencyDefaults">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.iPhoneOS</string>
|
||||
<real value="1296" key="NS.object.0"/>
|
||||
</object>
|
||||
<object class="NSMutableDictionary" key="IBDocument.PluginDeclaredDevelopmentDependencies">
|
||||
<string key="NS.key.0">com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3</string>
|
||||
<integer value="3000" key="NS.object.0"/>
|
||||
|
|
@ -381,12 +383,12 @@
|
|||
<string>dialer-orange.png</string>
|
||||
<string>history-orange.png</string>
|
||||
</object>
|
||||
<object class="NSMutableArray" key="dict.values">
|
||||
<object class="NSArray" key="dict.values">
|
||||
<bool key="EncodedWithXMLCoder">YES</bool>
|
||||
<string>{25, 24}</string>
|
||||
<string>{25, 23}</string>
|
||||
</object>
|
||||
</object>
|
||||
<string key="IBCocoaTouchPluginVersion">933</string>
|
||||
<string key="IBCocoaTouchPluginVersion">1181</string>
|
||||
</data>
|
||||
</archive>
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>1.1.1</string>
|
||||
<string>1.1.2</string>
|
||||
<key>NSMainNibFile</key>
|
||||
<string>PhoneMainView</string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
2
submodules/externals/srtp
vendored
2
submodules/externals/srtp
vendored
|
|
@ -1 +1 @@
|
|||
Subproject commit daa25fdbacb75e2aa99f5fce1bd5836dc616fb42
|
||||
Subproject commit c01a03a478d4c97fa7e2af80844f8d60440af0a6
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 38d4730be5d172c13d0bd58a53c397c140f81231
|
||||
Subproject commit 04fa4d457b3b584eae8c5964a48a97ec4040c94a
|
||||
|
|
@ -1 +1 @@
|
|||
Subproject commit 21de31a17e022d0d65d559784cc24ad1dfb99a21
|
||||
Subproject commit 4d7f0692bb8ebe1a37e686f44314fa12b327459e
|
||||
Loading…
Add table
Reference in a new issue