diff --git a/.gitmodules b/.gitmodules index 1e5c26cd3..099648fff 100644 --- a/.gitmodules +++ b/.gitmodules @@ -25,6 +25,18 @@ [submodule "submodules/msamr"] path = submodules/msamr url = git://git.linphone.org/msamr.git +[submodule "submodules/externals/ffmpeg"] + path = submodules/externals/ffmpeg + url = git://git.videolan.org/ffmpeg +[submodule "submodules/externals/x264"] + path = submodules/externals/x264 + url = git://git.videolan.org/x264.git +[submodule "submodules/msx264"] + path = submodules/msx264 + url = git://git.linphone.org/msx264.git +[submodule "submodules/externals/libvpx"] + path = submodules/externals/libvpx + url = http://git.chromium.org/webm/libvpx.git [submodule "submodules/externals/zrtpcpp"] path = submodules/externals/zrtpcpp url = git://github.com/wernerd/ZRTPCPP.git diff --git a/Classes/ConsoleViewController.m b/Classes/ConsoleViewController.m index bf2cbb1e1..36a01a466 100644 --- a/Classes/ConsoleViewController.m +++ b/Classes/ConsoleViewController.m @@ -1,14 +1,21 @@ -/* - * ConsoleViewController.h +/*ConsoleViewController.h * - * Description: + * Copyright (C) 2010 Belledonne Comunications, Grenoble, France * - * - * Belledonne Communications (C) 2010 - * - * Copyright: See COPYING file that comes with this distribution - * - */ + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ #import "ConsoleViewController.h" diff --git a/Classes/LinphoneAppDelegate.m b/Classes/LinphoneAppDelegate.m index 5344f5f50..725b41cc6 100644 --- a/Classes/LinphoneAppDelegate.m +++ b/Classes/LinphoneAppDelegate.m @@ -51,10 +51,16 @@ return; } - NSDictionary *settings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]]; - NSArray *preferences = [settings objectForKey:@"PreferenceSpecifiers"]; - + NSMutableDictionary *rootSettings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"Root.plist"]]; + NSMutableDictionary *audioSettings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"audio.plist"]]; + NSMutableDictionary *videoSettings = [NSDictionary dictionaryWithContentsOfFile:[settingsBundle stringByAppendingPathComponent:@"video.plist"]]; + + NSMutableArray *preferences = [rootSettings objectForKey:@"PreferenceSpecifiers"]; + [preferences addObjectsFromArray:[audioSettings objectForKey:@"PreferenceSpecifiers"]]; + [preferences addObjectsFromArray:[videoSettings objectForKey:@"PreferenceSpecifiers"]]; + NSMutableDictionary *defaultsToRegister = [[NSMutableDictionary alloc] initWithCapacity:[preferences count]]; + for(NSDictionary *prefSpecification in preferences) { NSString *key = [prefSpecification objectForKey:@"Key"]; if(key && [prefSpecification objectForKey:@"DefaultValue"]) { @@ -68,10 +74,11 @@ @"YES",@"amr_8k_preference", // enable amr by default if compiled with #endif #ifdef HAVE_SILK - @"YES",@"silk_16k_preference", // enable amr by default if compiled with - @"YES",@"silk_24k_preference", // enable amr by default if compiled with + @"YES",@"silk_16k_preference", // enable SILK by default if compiled with + @"YES",@"silk_24k_preference", // enable SILK by default if compiled with #endif - //@"+33",@"countrycode_preference", + @"NO",@"debugenable_preference", + //@"+33",@"countrycode_preference", nil]; [defaultsToRegister addEntriesFromDictionary:appDefaults]; diff --git a/Classes/LinphoneUI/LinphoneManager.h b/Classes/LinphoneUI/LinphoneManager.h index 1acaebc93..be7984827 100644 --- a/Classes/LinphoneUI/LinphoneManager.h +++ b/Classes/LinphoneUI/LinphoneManager.h @@ -43,6 +43,8 @@ typedef enum _Connectivity { UIViewController* mCurrentViewController; Connectivity connectivity; FastAddressBook* mFastAddressBook; + const char* frontCamId; + const char* backCamId; } +(LinphoneManager*) instance; @@ -59,9 +61,13 @@ typedef enum _Connectivity { -(void) kickOffNetworkConnection; -(NSString*) getDisplayNameFromAddressBook:(NSString*) number andUpdateCallLog:(LinphoneCallLog*)log; + + @property (nonatomic, retain) id callDelegate; @property (nonatomic, retain) id registrationDelegate; @property Connectivity connectivity; +@property (readonly) const char* frontCamId; +@property (readonly) const char* backCamId; @end diff --git a/Classes/LinphoneUI/LinphoneManager.m b/Classes/LinphoneUI/LinphoneManager.m index fed0660d9..941b2d8bc 100644 --- a/Classes/LinphoneUI/LinphoneManager.m +++ b/Classes/LinphoneUI/LinphoneManager.m @@ -35,13 +35,23 @@ extern void libmsilbc_init(); #ifdef HAVE_AMR extern void libmsamr_init(); #endif + +#ifdef HAVE_X264 +extern void libmsx264_init(); +#endif +#define FRONT_CAM_NAME "AV Capture: Front Camera" +#define BACK_CAM_NAME "AV Capture: Back Camera" + #if defined (HAVE_SILK) extern void libmssilk_init(); #endif + @implementation LinphoneManager @synthesize callDelegate; @synthesize registrationDelegate; @synthesize connectivity; +@synthesize frontCamId; +@synthesize backCamId; -(id) init { if ((self= [super init])) { @@ -124,6 +134,15 @@ extern void libmssilk_init(); switch (new_state) { + case LinphoneCallStreamsRunning: + //check video + if (linphone_call_params_video_enabled(linphone_call_get_current_params(currentCall))) { + [callDelegate displayVideoCallFromUI:mCurrentViewController + forUser:lUserName + withDisplayName:lDisplayName]; + } + break; + case LinphoneCallIncomingReceived: [callDelegate displayIncomingCallNotigicationFromUI:mCurrentViewController forUser:lUserName @@ -517,6 +536,23 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach [self configurePayloadType:"iLBC" fromPrefKey:@"ilbc_preference" withRate:8000]; [self configurePayloadType:"PCMU" fromPrefKey:@"pcmu_preference" withRate:8000]; [self configurePayloadType:"PCMA" fromPrefKey:@"pcma_preference" withRate:8000]; + [self configurePayloadType:"G722" fromPrefKey:@"g722_preference" withRate:8000]; + + //get video codecs from linphonerc + const MSList *videoCodecs=linphone_core_get_video_codecs(theLinphoneCore); + //disable video all codecs + for (elem=videoCodecs;elem!=NULL;elem=elem->next){ + pt=(PayloadType*)elem->data; + linphone_core_enable_payload_type(theLinphoneCore,pt,FALSE); + } + [self configurePayloadType:"MP4V-ES" fromPrefKey:@"mp4v-es_preference" withRate:90000]; + [self configurePayloadType:"H264" fromPrefKey:@"h264_preference" withRate:90000]; + [self configurePayloadType:"VP8-DRAFT-0-3-2" fromPrefKey:@"vp8_preference" withRate:90000]; + + bool enableVideo = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_video_preference"]; + linphone_core_enable_video(theLinphoneCore, enableVideo, enableVideo); + bool enableSrtp = [[NSUserDefaults standardUserDefaults] boolForKey:@"enable_srtp_preference"]; + linphone_core_set_media_encryption(theLinphoneCore, enableSrtp?LinphoneMediaEncryptionSRTP:LinphoneMediaEncryptionNone); UIDevice* device = [UIDevice currentDevice]; bool backgroundSupported = false; @@ -689,9 +725,11 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach #endif #ifdef HAVE_AMR libmsamr_init(); //load amr plugin if present from the liblinphone sdk -#endif /* - * Initialize linphone core - */ +#endif +#ifdef HAVE_X264 + libmsx264_init(); //load x264 plugin if present from the liblinphone sdk +#endif + /* Initialize linphone core*/ theLinphoneCore = linphone_core_new (&linphonec_vtable , [confiFileName cStringUsingEncoding:[NSString defaultCStringEncoding]] @@ -736,12 +774,30 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach otherButtonTitles:nil ,nil]; [error show]; } + /*DETECT cameras*/ + frontCamId= backCamId=nil; + char** camlist = (char**)linphone_core_get_video_devices(theLinphoneCore); + for (char* cam = *camlist;*camlist!=NULL;cam=*++camlist) { + if (strcmp(FRONT_CAM_NAME, cam)==0) { + frontCamId = cam; + //great set default cam to front + linphone_core_set_video_device(theLinphoneCore, cam); + } + if (strcmp(BACK_CAM_NAME, cam)==0) { + backCamId = cam; + } + + } + if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] && [UIApplication sharedApplication].applicationState == UIApplicationStateBackground) { //go directly to bg mode [self enterBackgroundMode]; } + ms_warning("Linphone [%s] started on [%s]" + ,linphone_core_get_version() + ,[[UIDevice currentDevice].model cStringUsingEncoding:[NSString defaultCStringEncoding]] ); } -(void) becomeActive { @@ -801,4 +857,5 @@ void networkReachabilityCallBack(SCNetworkReachabilityRef target, SCNetworkReach [callDelegate updateUIFromLinphoneState:mCurrentViewController]; } + @end diff --git a/Classes/LinphoneUI/LinphoneUIDelegates.h b/Classes/LinphoneUI/LinphoneUIDelegates.h index 081139167..96cdf0775 100644 --- a/Classes/LinphoneUI/LinphoneUIDelegates.h +++ b/Classes/LinphoneUI/LinphoneUIDelegates.h @@ -25,6 +25,7 @@ -(void) displayCallInProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; -(void) displayIncomingCallNotigicationFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; -(void) displayIncallFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; +-(void) displayVideoCallFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName; -(void) updateUIFromLinphoneState:(UIViewController*) viewCtrl; //status reporting -(void) displayStatus:(NSString*) message; diff --git a/Classes/LinphoneUI/UICamSwitch.h b/Classes/LinphoneUI/UICamSwitch.h new file mode 100644 index 000000000..beaab07e6 --- /dev/null +++ b/Classes/LinphoneUI/UICamSwitch.h @@ -0,0 +1,31 @@ +/* UICamSwitch.h + * + * Copyright (C) 2011 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import + + +@interface UICamSwitch : UIButton { + +@private + char* currentCamId; + char* nextCamId; + UIView* preview; +} +@property (nonatomic, retain) IBOutlet UIView* preview; +@end diff --git a/Classes/LinphoneUI/UICamSwitch.m b/Classes/LinphoneUI/UICamSwitch.m new file mode 100644 index 000000000..aaa3032e3 --- /dev/null +++ b/Classes/LinphoneUI/UICamSwitch.m @@ -0,0 +1,80 @@ +/* UICamSwitch.m + * + * Copyright (C) 2011 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import "UICamSwitch.h" +#include "LinphoneManager.h" + + +@implementation UICamSwitch +@synthesize preview; +-(void) touchUp:(id) sender { + if (nextCamId!=currentCamId) { + ms_message("Swithcing from [%s] to [%s]",currentCamId,nextCamId); + linphone_core_set_video_device([LinphoneManager getLc], nextCamId); + nextCamId=currentCamId; + currentCamId = linphone_core_get_video_device([LinphoneManager getLc]); + linphone_core_update_call([LinphoneManager getLc] + , linphone_core_get_current_call([LinphoneManager getLc]) + ,NULL); + linphone_core_set_native_preview_window_id([LinphoneManager getLc],preview); + } +} + +- (id) init { + [self addTarget:self action:@selector(touchUp:) forControlEvents:UIControlEventTouchUpInside]; + currentCamId = (char*)linphone_core_get_video_device([LinphoneManager getLc]); + if ([LinphoneManager instance].frontCamId !=nil ) { + //ok, we have 2 cameras + if (strcmp(currentCamId,[LinphoneManager instance].frontCamId)==0) { + nextCamId = [LinphoneManager instance].backCamId; + } else { + nextCamId = [LinphoneManager instance].frontCamId; + } + } else { + nextCamId=currentCamId; + } + return self; +} +- (id)initWithFrame:(CGRect)frame { + + self = [super initWithFrame:frame]; + if (self) { + [self init]; + } + return self; +} +- (id)initWithCoder:(NSCoder *)decoder { + self = [super initWithCoder:decoder]; + if (self) { + [self init]; + } + return self; +} + + +- (void)dealloc { + [super dealloc]; + [preview release]; +} + + + + + +@end diff --git a/Classes/LinphoneUI/UILinphone.h b/Classes/LinphoneUI/UILinphone.h index 49938a8f7..a65b21951 100644 --- a/Classes/LinphoneUI/UILinphone.h +++ b/Classes/LinphoneUI/UILinphone.h @@ -1,4 +1,4 @@ -/* UIHangUpButton.h +/* UILinphone.h * * Copyright (C) 2011 Belledonne Comunications, Grenoble, France * @@ -26,4 +26,5 @@ #import "UIDuration.h" #import "UIEraseButton.h" #import "LinphoneUIDelegates.h" +#import "UICamSwitch.h" #import "UIPauseResumeButton.h" diff --git a/Classes/PhoneViewController.h b/Classes/PhoneViewController.h index 886df2a97..d292500d0 100644 --- a/Classes/PhoneViewController.h +++ b/Classes/PhoneViewController.h @@ -24,7 +24,7 @@ @class IncallViewController; @class FirstLoginViewController; - +@class VideoViewController; @interface PhoneViewController : UIViewController { @private @@ -66,9 +66,12 @@ UIActionSheet *mIncomingCallActionSheet; FirstLoginViewController* myFirstLoginViewController; - + VideoViewController* mVideoViewController; + BOOL mVideoShown; } + @property (nonatomic, retain) IBOutlet UIView* dialerView; +@property (nonatomic, retain) IBOutlet UIViewController* videoViewController; @property (nonatomic, retain) IBOutlet UITextField* address; @property (nonatomic, retain) IBOutlet UIButton* call; @property (nonatomic, retain) IBOutlet UIButton* hangup; diff --git a/Classes/PhoneViewController.m b/Classes/PhoneViewController.m index 6b49a18f0..c55ab2b9e 100644 --- a/Classes/PhoneViewController.m +++ b/Classes/PhoneViewController.m @@ -22,7 +22,7 @@ #import #import #import "LinphoneManager.h" - +#import "VideoViewController.h" @implementation PhoneViewController @@ -55,6 +55,7 @@ @synthesize back; @synthesize myTabBarController; +@synthesize videoViewController; //implements keypad behavior @@ -96,7 +97,7 @@ } - (void)viewDidDisappear:(BOOL)animated { - [[UIApplication sharedApplication] setIdleTimerDisabled:false]; + if (!mVideoShown) [[UIApplication sharedApplication] setIdleTimerDisabled:false]; } @@ -121,7 +122,9 @@ [mute initWithOnImage:[UIImage imageNamed:@"mic_muted.png"] offImage:[UIImage imageNamed:@"mic_active.png"] ]; [speaker initWithOnImage:[UIImage imageNamed:@"Speaker-32-on.png"] offImage:[UIImage imageNamed:@"Speaker-32-off.png"] ]; [erase initWithAddressField:address]; - + self.videoViewController = [[VideoViewController alloc] initWithNibName:@"VideoViewController" + bundle:[NSBundle mainBundle]]; + mVideoShown=FALSE; } @@ -144,19 +147,22 @@ // Release any retained subviews of the main view. // e.g. self.myOutlet = nil; } +- (void) viewWillAppear:(BOOL)animated { +} - (BOOL)textFieldShouldReturn:(UITextField *)theTextField { if (theTextField == address) { [address resignFirstResponder]; [mDisplayName setText:@""]; //display name only relefvant - } + } return YES; } -(void) displayDialerFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName { + //cancel local notification, just in case if ([[UIDevice currentDevice] respondsToSelector:@selector(isMultitaskingSupported)] && [UIApplication sharedApplication].applicationState == UIApplicationStateBackground ) { @@ -168,6 +174,18 @@ mIncomingCallActionSheet=nil; } } + UIViewController* modalVC = self.modalViewController; + + if (modalVC != nil) { + // clear previous native window ids + if (modalVC == self.videoViewController) { + mVideoShown=FALSE; + linphone_core_set_native_video_window_id([LinphoneManager getLc],0); + linphone_core_set_native_preview_window_id([LinphoneManager getLc],0); + } + [[UIApplication sharedApplication] setStatusBarHidden:NO animated:NO]; + [self dismissModalViewControllerAnimated:FALSE];//just in case + } [address setHidden:false]; if (username) { @@ -210,6 +228,7 @@ [address setHidden:true]; [incallView setHidden:false]; [dialerView setHidden:true]; + } -(void) displayCallInProgressFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName { [self displayIncalViewforUser:username @@ -229,6 +248,12 @@ if ([speaker isOn]) [speaker toggle] ; //preset to off; } } + +-(void) displayVideoCallFromUI:(UIViewController*) viewCtrl forUser:(NSString*) username withDisplayName:(NSString*) displayName { + [[UIApplication sharedApplication] setStatusBarHidden:YES animated:NO]; + mVideoShown=TRUE; + [self presentModalViewController:self.videoViewController animated:true]; +} //status reporting -(void) displayStatus:(NSString*) message { [status setText:message]; diff --git a/Classes/VideoViewController.h b/Classes/VideoViewController.h new file mode 100644 index 000000000..d6db828b0 --- /dev/null +++ b/Classes/VideoViewController.h @@ -0,0 +1,53 @@ +/* VideoViewController.h + * + * Copyright (C) 2011 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ +#import +#import "UILinphone.h" + +@interface VideoViewController : UIViewController { + UIView* mPortrait; + UIView* mDisplay; + UIView* mPreview; + UIMuteButton* mMute; + UIHangUpButton* mHangUp; + UICamSwitch* mCamSwitch; + + UIView* mLandscape; + UIView* mDisplayLand; + UIView* mPreviewLand; + UIMuteButton* mMuteLand; + UIHangUpButton* mHangUpLand; + UICamSwitch* mCamSwitchLand; + BOOL isFirst; + +} + +@property (nonatomic, retain) IBOutlet UIView* mPortrait; +@property (nonatomic, retain) IBOutlet UIView* mDisplay; +@property (nonatomic, retain) IBOutlet UIView* mPreview; +@property (nonatomic, retain) IBOutlet UIMuteButton* mMute; +@property (nonatomic, retain) IBOutlet UIHangUpButton* mHangUp; +@property (nonatomic, retain) IBOutlet UICamSwitch* mCamSwitch; + +@property (nonatomic, retain) IBOutlet UIView* mLandscape; +@property (nonatomic, retain) IBOutlet UIView* mDisplayLand; +@property (nonatomic, retain) IBOutlet UIView* mPreviewLand; +@property (nonatomic, retain) IBOutlet UIMuteButton* mMuteLand; +@property (nonatomic, retain) IBOutlet UIHangUpButton* mHangUpLand; +@property (nonatomic, retain) IBOutlet UICamSwitch* mCamSwitchLand; +@end \ No newline at end of file diff --git a/Classes/VideoViewController.m b/Classes/VideoViewController.m new file mode 100644 index 000000000..888cbd83d --- /dev/null +++ b/Classes/VideoViewController.m @@ -0,0 +1,148 @@ +/* VideoViewController.m + * + * Copyright (C) 2011 Belledonne Comunications, Grenoble, France + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +#import "VideoViewController.h" +#import "LinphoneManager.h" +#import + +@implementation VideoViewController +@synthesize mPortrait; +@synthesize mDisplay; +@synthesize mPreview; +@synthesize mMute; +@synthesize mHangUp; +@synthesize mCamSwitch; + +@synthesize mLandscape; +@synthesize mDisplayLand; +@synthesize mPreviewLand; +@synthesize mMuteLand; +@synthesize mHangUpLand; +@synthesize mCamSwitchLand; + +- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil +{ + self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]; + if (self) { + // Custom initialization + } + return self; +} + +- (void)dealloc +{ + [super dealloc]; +} + +- (void)didReceiveMemoryWarning +{ + // Releases the view if it doesn't have a superview. + [super didReceiveMemoryWarning]; + + // Release any cached data, images, etc that aren't in use. +} + +#pragma mark - View lifecycle + +- (void)viewDidLoad +{ + [super viewDidLoad]; + [mMute initWithOnImage:[UIImage imageNamed:@"mic_muted.png"] offImage:[UIImage imageNamed:@"mic_active.png"] ]; + [mMuteLand initWithOnImage:[UIImage imageNamed:@"mic_muted.png"] offImage:[UIImage imageNamed:@"mic_active.png"] ]; + [mCamSwitch setPreview:mPreview]; + [mCamSwitchLand setPreview:mPreviewLand]; + isFirst=TRUE; +} + + +-(void) configureOrientation:(UIInterfaceOrientation) oritentation { + int oldLinphoneOrientation = linphone_core_get_device_rotation([LinphoneManager getLc]); + if (oritentation == UIInterfaceOrientationPortrait ) { + [self.view addSubview:mPortrait]; + linphone_core_set_native_video_window_id([LinphoneManager getLc],(unsigned long)mDisplay); + linphone_core_set_native_preview_window_id([LinphoneManager getLc],(unsigned long)mPreview); + linphone_core_set_device_rotation([LinphoneManager getLc], 0); + + } else if (oritentation == UIInterfaceOrientationLandscapeRight ) { + [self.view addSubview:mLandscape]; + linphone_core_set_native_video_window_id([LinphoneManager getLc],(unsigned long)mDisplayLand); + linphone_core_set_native_preview_window_id([LinphoneManager getLc],(unsigned long)mPreviewLand); + linphone_core_set_device_rotation([LinphoneManager getLc], 270); + } + + if ((oldLinphoneOrientation != linphone_core_get_device_rotation([LinphoneManager getLc])) + && linphone_core_get_current_call([LinphoneManager getLc])) { + //Orientation has change, must call update call + linphone_core_update_call([LinphoneManager getLc], linphone_core_get_current_call([LinphoneManager getLc]), NULL); + } +} + +-(void) configureOrientation { + [self configureOrientation:self.interfaceOrientation]; +} + +- (void)viewDidUnload +{ + [super viewDidUnload]; + + // Release any retained subviews of the main view. + // e.g. self.myOutlet = nil; +} + + +-(void) viewDidDisappear:(BOOL)animated{ + [super viewDidDisappear:animated]; + [[UIApplication sharedApplication] setIdleTimerDisabled:NO]; +} + +-(void) viewWillAppear:(BOOL)animated { + [super viewWillAppear:animated]; + + //redirect audio to speaker + UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; + AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute + , sizeof (audioRouteOverride) + , &audioRouteOverride); + + + [self performSelectorOnMainThread:@selector(configureOrientation) + withObject:nil + waitUntilDone:YES]; + [mMute reset]; + [mMuteLand reset]; +} + +- (void) viewDidAppear:(BOOL)animated{ + [super viewDidAppear:animated]; + [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; +} + +- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { + // Return YES for supported orientations + return interfaceOrientation == UIInterfaceOrientationPortrait || interfaceOrientation == UIInterfaceOrientationLandscapeRight ; +} + +- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation { + [self configureOrientation:self.interfaceOrientation]; +} +- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration { + [mLandscape removeFromSuperview]; + [mPortrait removeFromSuperview]; +} +@end diff --git a/Classes/VideoViewController.xib b/Classes/VideoViewController.xib new file mode 100644 index 000000000..e6af95120 --- /dev/null +++ b/Classes/VideoViewController.xib @@ -0,0 +1,602 @@ + + + + 1056 + 10K549 + 1305 + 1038.36 + 461.00 + + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + 300 + + + YES + IBUIButton + IBUIImageView + IBUIView + IBProxyObject + + + YES + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + YES + + YES + + + + + YES + + IBFilesOwner + IBCocoaTouchFramework + + + IBFirstResponder + IBCocoaTouchFramework + + + + 292 + {320, 460} + + + 1 + MCAwIDAAA + + IBCocoaTouchFramework + + + + 274 + + YES + + + 274 + {320, 420} + + + 1 + NO + IBCocoaTouchFramework + + + + 292 + {{1, 418}, {108, 62}} + + + NO + IBCocoaTouchFramework + 0 + 0 + + Helvetica-Bold + 15 + 16 + + + 3 + MQA + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + 3 + MC41AA + + + NSImage + clavier-01-108px.png + + + + + 292 + {{106, 418}, {106, 63}} + + + NO + IBCocoaTouchFramework + 0 + 0 + + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + stopcall-red.png + + + + + + 292 + {{211, 418}, {108, 62}} + + NO + IBCocoaTouchFramework + 0 + 0 + + 1 + switch + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + 292 + {{216, 263}, {96, 128}} + + + + 3 + MQA + + 2 + + + IBCocoaTouchFramework + + + {320, 480} + + + + 3 + MC42NjY2NjY2NjY3AA + + IBCocoaTouchFramework + + + + 292 + + YES + + + 274 + {420, 320} + + + + 3 + MQA + + + IBCocoaTouchFramework + + + + 292 + {{420, 0}, {60, 108}} + + + NO + IBCocoaTouchFramework + 0 + 0 + + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + NSImage + mic_active.png + + + NSImage + clavier-01-106px.png + + + + + 292 + {{420, 107}, {60, 106}} + + + NO + IBCocoaTouchFramework + 0 + 0 + + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + + 292 + {{420, 212}, {60, 108}} + + NO + IBCocoaTouchFramework + 0 + 0 + + Switch + + + 1 + MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA + + + + + + + 274 + {{264, 210}, {142, 96}} + + + + 3 + MQA + + + IBCocoaTouchFramework + + + {480, 320} + + + + 3 + MQA + + + + 3 + 3 + + IBCocoaTouchFramework + + + + + YES + + + mDisplay + + + + 10 + + + + mPreview + + + + 11 + + + + mCamSwitch + + + + 12 + + + + mMute + + + + 13 + + + + mPortrait + + + + 21 + + + + mLandscape + + + + 22 + + + + mDisplayLand + + + + 23 + + + + mPreviewLand + + + + 24 + + + + mHangUp + + + + 26 + + + + mMuteLand + + + + 27 + + + + mHangUpLand + + + + 28 + + + + mCamSwitchLand + + + + 29 + + + + view + + + + 32 + + + + + YES + + 0 + + + + + + -1 + + + File's Owner + + + -2 + + + + + 31 + + + YES + + + root + + + 1 + + + YES + + + + + + + + portrait + + + 5 + + + display + + + 9 + + + preview + + + 6 + + + + + 7 + + + Hang Up Button + + + 8 + + + + + 14 + + + YES + + + + + + + + landscape + + + 19 + + + Cam Switch + + + 18 + + + HangHup + + + 17 + + + Mute + + + 16 + + + YES + + + preview + + + 15 + + + display + + + + + YES + + YES + -1.CustomClassName + -2.CustomClassName + 1.IBEditorWindowLastContentRect + 1.IBPluginDependency + 14.IBPluginDependency + 15.IBPluginDependency + 16.IBPluginDependency + 17.CustomClassName + 17.IBPluginDependency + 18.CustomClassName + 18.IBPluginDependency + 19.CustomClassName + 19.IBPluginDependency + 31.IBPluginDependency + 5.IBPluginDependency + 6.CustomClassName + 6.IBPluginDependency + 7.CustomClassName + 7.IBPluginDependency + 8.CustomClassName + 8.IBPluginDependency + 9.IBPluginDependency + + + YES + VideoViewController + UIResponder + {{556, 412}, {320, 480}} + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIMuteButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIHangUpButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICamSwitch + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIMuteButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UIHangUpButton + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + UICamSwitch + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + com.apple.InterfaceBuilder.IBCocoaTouchPlugin + + + + YES + + + + + + YES + + + + + 33 + + + 0 + IBCocoaTouchFramework + + com.apple.InterfaceBuilder.CocoaTouchPlugin.InterfaceBuilder3 + + + YES + 3 + + YES + + YES + clavier-01-106px.png + clavier-01-108px.png + mic_active.png + stopcall-red.png + + + YES + {106, 60} + {108, 60} + {32, 32} + {62, 54} + + + 300 + + diff --git a/README b/README index 1429a88d4..2e0a0bc7c 100644 --- a/README +++ b/README @@ -2,6 +2,8 @@ ****************************************** Linphone for iPhone depends on liblinphone sdk. To build this sdk, you must install both xcode with iPhone OS SDK and MacPorts (www.macports.org) with the following ports: +-nawk +-coreutils -automake -autoconf -libtool @@ -9,8 +11,16 @@ Linphone for iPhone depends on liblinphone sdk. To build this sdk, you must inst -wget -pkgconfig -cmake (for ZRTP support) +-yasm +-doxygen + + +gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin : +$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl +$ sudo mv gas-preprocessor.pl /opt/local/bin/. Link macport libtoolize to glibtoolize (sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize) +Link host's strings to simulator SDK (ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings) You may update variable SDK_VERSION from file submodules/build/iphone-config.site according to your iPhone SDK version. Current is 4.0 diff --git a/Settings.bundle/Root.plist b/Settings.bundle/Root.plist index 7715921d9..eae40ec55 100644 --- a/Settings.bundle/Root.plist +++ b/Settings.bundle/Root.plist @@ -94,69 +94,25 @@ Title - Codecs + Media Type PSGroupSpecifier - DefaultValue - - Key - speex_16k_preference + File + audio Title - Speex 16Khz + Audio Type - PSToggleSwitchSpecifier + PSChildPaneSpecifier - DefaultValue - - Key - speex_8k_preference + File + video Title - Speex 8Khz + Video Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - gsm_8k_preference - Title - GSM - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - ilbc_preference - Title - ILBC - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - pcmu_preference - Title - PCMU - Type - PSToggleSwitchSpecifier - - - DefaultValue - - Key - pcma_preference - Title - PCMA - Type - PSToggleSwitchSpecifier + PSChildPaneSpecifier Title @@ -224,6 +180,16 @@ tls + + DefaultValue + + Key + enable_srtp_preference + Title + Secure rtp + Type + PSToggleSwitchSpecifier + DefaultValue diff --git a/Settings.bundle/audio.plist b/Settings.bundle/audio.plist new file mode 100644 index 000000000..66182e15a --- /dev/null +++ b/Settings.bundle/audio.plist @@ -0,0 +1,105 @@ + + + + + PreferenceSpecifiers + + + Title + Codecs + Type + PSGroupSpecifier + + + DefaultValue + + Key + speex_16k_preference + Title + Speex 16Khz + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + speex_8k_preference + Title + Speex 8Khz + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + silk_24k_preference + Title + Silk 24Khz + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + silk_16k_preference + Title + Silk 16Khz + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + g722_preference + Title + G722 + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + gsm_8k_preference + Title + GSM + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + ilbc_preference + Title + ILBC + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + pcmu_preference + Title + PCMU + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + pcma_preference + Title + PCMA + Type + PSToggleSwitchSpecifier + + + + diff --git a/Settings.bundle/video.plist b/Settings.bundle/video.plist new file mode 100644 index 000000000..6123f2a4b --- /dev/null +++ b/Settings.bundle/video.plist @@ -0,0 +1,55 @@ + + + + + PreferenceSpecifiers + + + Type + PSToggleSwitchSpecifier + Title + Enable video + Key + enable_video_preference + DefaultValue + + + + Title + Codecs + Type + PSGroupSpecifier + + + DefaultValue + + Key + mp4v-es_preference + Title + mpeg4 + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + h264_preference + Title + h264 + Type + PSToggleSwitchSpecifier + + + DefaultValue + + Key + vp8_preference + Title + VP8 + Type + PSToggleSwitchSpecifier + + + + diff --git a/linphone-Info.plist b/linphone-Info.plist index de193e695..dccfa7f39 100644 --- a/linphone-Info.plist +++ b/linphone-Info.plist @@ -19,11 +19,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 3.4.5 + 3.4.9 CFBundleSignature ???? CFBundleVersion - 1.0.7 + 1.0.7.3 NSMainNibFile PhoneMainView UIApplicationExitsOnSuspend diff --git a/linphone.xcodeproj/project.pbxproj b/linphone.xcodeproj/project.pbxproj index a61d67707..f28107691 100755 --- a/linphone.xcodeproj/project.pbxproj +++ b/linphone.xcodeproj/project.pbxproj @@ -31,9 +31,14 @@ 22226C181181986A000CA27B /* contact-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 22226C161181986A000CA27B /* contact-orange.png */; }; 22226C191181986A000CA27B /* dialer-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 22226C171181986A000CA27B /* dialer-orange.png */; }; 22226C1D11819B34000CA27B /* history-orange.png in Resources */ = {isa = PBXBuildFile; fileRef = 22226C1C11819B34000CA27B /* history-orange.png */; }; + 22276E8313C73D3100210156 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8013C73D3100210156 /* libavcodec.a */; }; + 22276E8413C73D3100210156 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8113C73D3100210156 /* libavutil.a */; }; + 22276E8513C73D3100210156 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8213C73D3100210156 /* libswscale.a */; }; + 22276E8713C73D8A00210156 /* CoreVideo.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8613C73D8A00210156 /* CoreVideo.framework */; }; + 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22276E8813C73DC000210156 /* CoreMedia.framework */; }; 222A483412F7176F0075F07F /* IncallViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 222A483112F7176F0075F07F /* IncallViewController.xib */; }; 223148E41178A08200637D6A /* libilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E31178A08200637D6A /* libilbc.a */; }; - 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E51178A09900637D6A /* libmsilbc.a */; settings = {ATTRIBUTES = (Weak, ); }; }; + 223148E61178A09900637D6A /* libmsilbc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 223148E51178A09900637D6A /* libmsilbc.a */; }; 2237D4091084D7A9001383EE /* oldphone-mono.wav in Resources */ = {isa = PBXBuildFile; fileRef = 2237D4081084D7A9001383EE /* oldphone-mono.wav */; }; 223963171393CFAF001DE689 /* FastAddressBook.m in Sources */ = {isa = PBXBuildFile; fileRef = 223963161393CFAF001DE689 /* FastAddressBook.m */; }; 2242D91610D66BF300E9963F /* in_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 2242D91410D66BF300E9963F /* in_call.png */; }; @@ -51,7 +56,12 @@ 225CB2EB11ABB51000628906 /* clavier-01-108px.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2E911ABB51000628906 /* clavier-01-108px.png */; }; 225CB2EE11ABB65D00628906 /* clavier-01-160px.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2ED11ABB65D00628906 /* clavier-01-160px.png */; }; 225CB2FA11ABB76400628906 /* linphone-banner.png in Resources */ = {isa = PBXBuildFile; fileRef = 225CB2F911ABB76400628906 /* linphone-banner.png */; }; + 226183AD1472527D0037138E /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */; }; + 226183AE1472527D0037138E /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AB1472527D0037138E /* libsrtp.a */; }; + 226183B0147259670037138E /* libmssilk.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226183AF147259670037138E /* libmssilk.a */; }; 2264B6D211200342002C2C53 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2264B6D111200342002C2C53 /* SystemConfiguration.framework */; }; + 226B563F13CAF1CD00921595 /* audio.plist in Resources */ = {isa = PBXBuildFile; fileRef = 226B563E13CAF1CD00921595 /* audio.plist */; }; + 226F2ED61344B0EF00F6EF27 /* libopencore-amrwb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */; }; 226F2ED71344B0EF00F6EF27 /* libopencore-amrnb.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED41344B0EF00F6EF27 /* libopencore-amrnb.a */; }; 226F2ED81344B0EF00F6EF27 /* libmsamr.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 226F2ED51344B0EF00F6EF27 /* libmsamr.a */; }; 2274401A106F31BD006EC466 /* CoreAudio.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22744019106F31BD006EC466 /* CoreAudio.framework */; }; @@ -64,18 +74,24 @@ 22968A5F12F875C600588287 /* UISpeakerButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22968A5E12F875C600588287 /* UISpeakerButton.m */; }; 22968A8812F87C2000588287 /* UIDuration.m in Sources */ = {isa = PBXBuildFile; fileRef = 22968A8712F87C2000588287 /* UIDuration.m */; }; 22A10F3B11F8960300373793 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220FAD2C10765B400068D98F /* libortp.a */; }; + 22AA8AFD13D7125600B30535 /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AA8AFB13D7125500B30535 /* libx264.a */; }; + 22AA8AFE13D7125600B30535 /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22AA8AFC13D7125500B30535 /* libmsx264.a */; }; + 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = 22AA8B0013D83F6300B30535 /* UICamSwitch.m */; }; 22B5EFA310CE50BD00777D97 /* AddressBookUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */; }; 22B5EFE510CE5E5800777D97 /* ContactPickerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */; }; 22B5F03510CE6B2F00777D97 /* AddressBook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 22B5F03410CE6B2F00777D97 /* AddressBook.framework */; }; 22BB1A69132FF16A005CD7AA /* UIEraseButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22BB1A68132FF16A005CD7AA /* UIEraseButton.m */; }; 22C755601317E59C007BC101 /* UIBluetoothButton.m in Sources */ = {isa = PBXBuildFile; fileRef = 22C7555F1317E59C007BC101 /* UIBluetoothButton.m */; }; 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 22D1B68012A3E0BE001AE361 /* libresolv.dylib */; }; + 22E028B713B4CCBD0068A713 /* VideoViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E028B513B4CCBD0068A713 /* VideoViewController.m */; }; + 22E028B813B4CCBD0068A713 /* VideoViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E028B613B4CCBD0068A713 /* VideoViewController.xib */; }; 22E0A785111C1BA800B04932 /* Speaker-32-on.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A783111C1BA800B04932 /* Speaker-32-on.png */; }; 22E0A786111C1BA800B04932 /* Speaker-32-off.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A784111C1BA800B04932 /* Speaker-32-off.png */; }; 22E0A822111C44E100B04932 /* MoreViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81C111C44E100B04932 /* MoreViewController.m */; }; 22E0A823111C44E100B04932 /* ConsoleViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 22E0A81E111C44E100B04932 /* ConsoleViewController.xib */; }; 22E0A824111C44E100B04932 /* ConsoleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22E0A81F111C44E100B04932 /* ConsoleViewController.m */; }; 22E19E48138A67A000FBFE87 /* missed_call.png in Resources */ = {isa = PBXBuildFile; fileRef = 22E19E47138A67A000FBFE87 /* missed_call.png */; }; + 22E1A9E813CAF4AA00219531 /* video.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22E1A9E713CAF4AA00219531 /* video.plist */; }; 22E5B0AF133B5EA20044EA25 /* libssl.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E5B0AD133B5EA20044EA25 /* libssl.a */; }; 22E5B0B0133B5EA20044EA25 /* libcrypto.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 22E5B0AE133B5EA20044EA25 /* libcrypto.a */; }; 22F2508E107141E100AC9B3F /* PhoneViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22F2508C107141E100AC9B3F /* PhoneViewController.m */; }; @@ -84,24 +100,26 @@ 22F51EF6107FA66500F98953 /* untitled.plist in Resources */ = {isa = PBXBuildFile; fileRef = 22F51EF5107FA66500F98953 /* untitled.plist */; }; 288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; }; 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */ = {isa = PBXBuildFile; fileRef = 70571E1913FABCB000CDD3C2 /* rootca.pem */; }; - F0A486D91404FE53009EC0BE /* libsrtp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F0A486D71404FE53009EC0BE /* libsrtp.a */; }; + 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 7066FC0B13E830E400EFC6DC /* libvpx.a */; }; + 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F213E147E3002BA2C0 /* OpenGLES.framework */; }; + 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 70E542F413E147EB002BA2C0 /* QuartzCore.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 223136D814433FF50035C1F4 /* PBXContainerItemProxy */ = { + F4D9F24C145748E80035B0D0 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 22DD19BE13A8D7FA0018ECD4; - remoteInfo = mediastream; - }; - 22A10DA211F88C1F00373793 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */; + containerPortal = F4D9F243145748E80035B0D0 /* liblinphone.xcodeproj */; proxyType = 2; remoteGlobalIDString = D2AAC07E0554694100DB518D; remoteInfo = liblinphone; }; + F4D9F24E145748E80035B0D0 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = F4D9F243145748E80035B0D0 /* liblinphone.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 22DD19BE13A8D7FA0018ECD4; + remoteInfo = mediastream; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -258,6 +276,11 @@ 22226C161181986A000CA27B /* contact-orange.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "contact-orange.png"; path = "liblinphone-sdk/apple-darwin/share/pixmaps/linphone/contact-orange.png"; sourceTree = ""; }; 22226C171181986A000CA27B /* dialer-orange.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "dialer-orange.png"; path = "liblinphone-sdk/apple-darwin/share/pixmaps/linphone/dialer-orange.png"; sourceTree = ""; }; 22226C1C11819B34000CA27B /* history-orange.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "history-orange.png"; path = "liblinphone-sdk/apple-darwin/share/pixmaps/linphone/history-orange.png"; sourceTree = ""; }; + 22276E8013C73D3100210156 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; + 22276E8113C73D3100210156 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; + 22276E8213C73D3100210156 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; + 22276E8613C73D8A00210156 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; + 22276E8813C73DC000210156 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; 222A483112F7176F0075F07F /* IncallViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = IncallViewController.xib; sourceTree = ""; }; 222A483212F7176F0075F07F /* IncallViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = IncallViewController.m; sourceTree = ""; }; 222A483312F7176F0075F07F /* IncallViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IncallViewController.h; sourceTree = ""; }; @@ -284,7 +307,12 @@ 225CB2E911ABB51000628906 /* clavier-01-108px.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "clavier-01-108px.png"; path = "Resources/clavier-01-108px.png"; sourceTree = ""; }; 225CB2ED11ABB65D00628906 /* clavier-01-160px.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "clavier-01-160px.png"; path = "Resources/clavier-01-160px.png"; sourceTree = ""; }; 225CB2F911ABB76400628906 /* linphone-banner.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "linphone-banner.png"; path = "liblinphone-sdk/apple-darwin/share/pixmaps/linphone/linphone-banner.png"; sourceTree = ""; }; + 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; + 226183AB1472527D0037138E /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; + 226183AF147259670037138E /* libmssilk.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmssilk.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmssilk.a"; sourceTree = ""; }; 2264B6D111200342002C2C53 /* SystemConfiguration.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; }; + 226B563E13CAF1CD00921595 /* audio.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = audio.plist; path = Settings.bundle/audio.plist; sourceTree = ""; }; + 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrwb.a"; path = "liblinphone-sdk/apple-darwin/lib/libopencore-amrwb.a"; sourceTree = ""; }; 226F2ED41344B0EF00F6EF27 /* libopencore-amrnb.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libopencore-amrnb.a"; path = "liblinphone-sdk/apple-darwin/lib/libopencore-amrnb.a"; sourceTree = ""; }; 226F2ED51344B0EF00F6EF27 /* libmsamr.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsamr.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsamr.a"; sourceTree = ""; }; 22744019106F31BD006EC466 /* CoreAudio.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreAudio.framework; path = System/Library/Frameworks/CoreAudio.framework; sourceTree = SDKROOT; }; @@ -301,7 +329,10 @@ 22968A5E12F875C600588287 /* UISpeakerButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UISpeakerButton.m; sourceTree = ""; }; 22968A8612F87C2000588287 /* UIDuration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UIDuration.h; sourceTree = ""; }; 22968A8712F87C2000588287 /* UIDuration.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UIDuration.m; sourceTree = ""; }; - 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = liblinphone.xcodeproj; path = submodules/liblinphone.xcodeproj; sourceTree = ""; }; + 22AA8AFB13D7125500B30535 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = "liblinphone-sdk/apple-darwin/lib/libx264.a"; sourceTree = ""; }; + 22AA8AFC13D7125500B30535 /* libmsx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsx264.a; path = "liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsx264.a"; sourceTree = ""; }; + 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UICamSwitch.h; sourceTree = ""; }; + 22AA8B0013D83F6300B30535 /* UICamSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UICamSwitch.m; sourceTree = ""; }; 22B5EFA210CE50BD00777D97 /* AddressBookUI.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AddressBookUI.framework; path = System/Library/Frameworks/AddressBookUI.framework; sourceTree = SDKROOT; }; 22B5EFE310CE5E5800777D97 /* ContactPickerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactPickerDelegate.h; sourceTree = ""; }; 22B5EFE410CE5E5800777D97 /* ContactPickerDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactPickerDelegate.m; sourceTree = ""; }; @@ -382,6 +413,9 @@ 22C7564A13265C6A007BC101 /* x509_vfy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509_vfy.h; sourceTree = ""; }; 22C7564B13265C6A007BC101 /* x509v3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = x509v3.h; sourceTree = ""; }; 22D1B68012A3E0BE001AE361 /* libresolv.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libresolv.dylib; path = usr/lib/libresolv.dylib; sourceTree = SDKROOT; }; + 22E028B413B4CCBD0068A713 /* VideoViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoViewController.h; sourceTree = ""; }; + 22E028B513B4CCBD0068A713 /* VideoViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VideoViewController.m; sourceTree = ""; }; + 22E028B613B4CCBD0068A713 /* VideoViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = VideoViewController.xib; sourceTree = ""; }; 22E0A783111C1BA800B04932 /* Speaker-32-on.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Speaker-32-on.png"; path = "Resources/Speaker-32-on.png"; sourceTree = ""; }; 22E0A784111C1BA800B04932 /* Speaker-32-off.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "Speaker-32-off.png"; path = "Resources/Speaker-32-off.png"; sourceTree = ""; }; 22E0A81B111C44E100B04932 /* MoreViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MoreViewController.xib; sourceTree = ""; }; @@ -391,21 +425,24 @@ 22E0A81F111C44E100B04932 /* ConsoleViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConsoleViewController.m; sourceTree = ""; }; 22E0A820111C44E100B04932 /* ConsoleViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConsoleViewController.h; sourceTree = ""; }; 22E19E47138A67A000FBFE87 /* missed_call.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = missed_call.png; path = Resources/missed_call.png; sourceTree = ""; }; + 22E1A9E713CAF4AA00219531 /* video.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = video.plist; path = Settings.bundle/video.plist; sourceTree = ""; }; 22E5B0AD133B5EA20044EA25 /* libssl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libssl.a; path = "liblinphone-sdk/apple-darwin/lib/libssl.a"; sourceTree = ""; }; 22E5B0AE133B5EA20044EA25 /* libcrypto.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcrypto.a; path = "liblinphone-sdk/apple-darwin/lib/libcrypto.a"; sourceTree = ""; }; 22F2508B107141E100AC9B3F /* PhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PhoneViewController.h; sourceTree = ""; }; 22F2508C107141E100AC9B3F /* PhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PhoneViewController.m; sourceTree = ""; }; 22F2508D107141E100AC9B3F /* PhoneViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = PhoneViewController.xib; sourceTree = ""; }; 22F254801073D99800AC9B3F /* ringback.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; name = ringback.wav; path = "liblinphone-sdk/apple-darwin/share/sounds/linphone/ringback.wav"; sourceTree = ""; }; + 22F3D57D13CCC89600A0DA02 /* liblinphone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = liblinphone.a; sourceTree = BUILT_PRODUCTS_DIR; }; 22F51EF5107FA66500F98953 /* untitled.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = untitled.plist; sourceTree = ""; }; - 22F9D6B51463EBDC00C6FEAF /* AdvancedPhoneViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AdvancedPhoneViewController.m; sourceTree = ""; }; - 22F9D6B61463EBDC00C6FEAF /* AdvancedPhoneViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AdvancedPhoneViewController.h; sourceTree = ""; }; 288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; }; - 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; fileEncoding = 4; path = main.m; sourceTree = ""; }; + 29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; }; 32CA4F630368D1EE00C91783 /* linphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphone_Prefix.pch; sourceTree = ""; }; 70571E1913FABCB000CDD3C2 /* rootca.pem */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = rootca.pem; path = Resources/rootca.pem; sourceTree = ""; }; + 7066FC0B13E830E400EFC6DC /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = "liblinphone-sdk/apple-darwin/lib/libvpx.a"; sourceTree = ""; }; + 70E542F213E147E3002BA2C0 /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; }; + 70E542F413E147EB002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; 8D1107310486CEB800E47090 /* linphone-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "linphone-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = ""; }; - F0A486D71404FE53009EC0BE /* libsrtp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsrtp.a; path = "liblinphone-sdk/apple-darwin/lib/libsrtp.a"; sourceTree = ""; }; + F4D9F243145748E80035B0D0 /* liblinphone.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = liblinphone.xcodeproj; path = submodules/liblinphone.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -413,6 +450,14 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 7066FC0C13E830E400EFC6DC /* libvpx.a in Frameworks */, + 70E542F513E147EB002BA2C0 /* QuartzCore.framework in Frameworks */, + 70E542F313E147E3002BA2C0 /* OpenGLES.framework in Frameworks */, + 22276E8913C73DC000210156 /* CoreMedia.framework in Frameworks */, + 22276E8713C73D8A00210156 /* CoreVideo.framework in Frameworks */, + 22276E8313C73D3100210156 /* libavcodec.a in Frameworks */, + 22276E8413C73D3100210156 /* libavutil.a in Frameworks */, + 22276E8513C73D3100210156 /* libswscale.a in Frameworks */, 22E5B0AF133B5EA20044EA25 /* libssl.a in Frameworks */, 22E5B0B0133B5EA20044EA25 /* libcrypto.a in Frameworks */, 1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */, @@ -435,9 +480,14 @@ 228697C411AC29B800E9E0CA /* CFNetwork.framework in Frameworks */, 22A10F3B11F8960300373793 /* libortp.a in Frameworks */, 22D1B68112A3E0BE001AE361 /* libresolv.dylib in Frameworks */, + 226F2ED61344B0EF00F6EF27 /* libopencore-amrwb.a in Frameworks */, 226F2ED71344B0EF00F6EF27 /* libopencore-amrnb.a in Frameworks */, 226F2ED81344B0EF00F6EF27 /* libmsamr.a in Frameworks */, - F0A486D91404FE53009EC0BE /* libsrtp.a in Frameworks */, + 22AA8AFD13D7125600B30535 /* libx264.a in Frameworks */, + 22AA8AFE13D7125600B30535 /* libmsx264.a in Frameworks */, + 226183AD1472527D0037138E /* libSKP_SILK_SDK.a in Frameworks */, + 226183AE1472527D0037138E /* libsrtp.a in Frameworks */, + 226183B0147259670037138E /* libmssilk.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -447,8 +497,6 @@ 080E96DDFE201D6D7F000001 /* Classes */ = { isa = PBXGroup; children = ( - 22F9D6B51463EBDC00C6FEAF /* AdvancedPhoneViewController.m */, - 22F9D6B61463EBDC00C6FEAF /* AdvancedPhoneViewController.h */, 2214EB7012F84668002A5394 /* LinphoneUI */, 2218A92212FBE1340088A667 /* FirstLoginViewController.h */, 2218A92312FBE1340088A667 /* FirstLoginViewController.m */, @@ -474,6 +522,9 @@ 227BCDC110D4004600FBFD76 /* CallHistoryTableViewController.xib */, 2242D9C710D691F900E9963F /* GenericTabViewController.h */, 2242D9C810D691F900E9963F /* GenericTabViewController.m */, + 22E028B413B4CCBD0068A713 /* VideoViewController.h */, + 22E028B513B4CCBD0068A713 /* VideoViewController.m */, + 22E028B613B4CCBD0068A713 /* VideoViewController.xib */, ); path = Classes; sourceTree = ""; @@ -702,19 +753,12 @@ 22BB1A68132FF16A005CD7AA /* UIEraseButton.m */, 223963151393CFAE001DE689 /* FastAddressBook.h */, 223963161393CFAF001DE689 /* FastAddressBook.m */, + 22AA8AFF13D83F6300B30535 /* UICamSwitch.h */, + 22AA8B0013D83F6300B30535 /* UICamSwitch.m */, ); path = LinphoneUI; sourceTree = ""; }; - 22A10D9F11F88C1F00373793 /* Products */ = { - isa = PBXGroup; - children = ( - 22A10DA311F88C1F00373793 /* liblinphone.a */, - 223136D914433FF50035C1F4 /* mediastream.app */, - ); - name = Products; - sourceTree = ""; - }; 22C7560413265C6A007BC101 /* openssl */ = { isa = PBXGroup; children = ( @@ -796,9 +840,24 @@ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = { isa = PBXGroup; children = ( - F0A486D71404FE53009EC0BE /* libsrtp.a */, + 226183AF147259670037138E /* libmssilk.a */, + 226183AA1472527D0037138E /* libSKP_SILK_SDK.a */, + 226183AB1472527D0037138E /* libsrtp.a */, + F4D9F243145748E80035B0D0 /* liblinphone.xcodeproj */, + 7066FC0B13E830E400EFC6DC /* libvpx.a */, + 70E542F413E147EB002BA2C0 /* QuartzCore.framework */, + 70E542F213E147E3002BA2C0 /* OpenGLES.framework */, + 22AA8AFB13D7125500B30535 /* libx264.a */, + 22AA8AFC13D7125500B30535 /* libmsx264.a */, + 22F3D57D13CCC89600A0DA02 /* liblinphone.a */, + 22E1A9E713CAF4AA00219531 /* video.plist */, + 226B563E13CAF1CD00921595 /* audio.plist */, + 22276E8813C73DC000210156 /* CoreMedia.framework */, + 22276E8613C73D8A00210156 /* CoreVideo.framework */, + 22276E8013C73D3100210156 /* libavcodec.a */, + 22276E8113C73D3100210156 /* libavutil.a */, + 22276E8213C73D3100210156 /* libswscale.a */, 2214783B1386A2030020F8B8 /* Localizable.strings */, - 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */, 223148E51178A09900637D6A /* libmsilbc.a */, 223148E31178A08200637D6A /* libilbc.a */, 220FAD2810765B400068D98F /* libeXosip2.a */, @@ -808,6 +867,7 @@ 220FAD2E10765B400068D98F /* libosipparser2.a */, 220FAD2F10765B400068D98F /* libspeex.a */, 220FAD3010765B400068D98F /* libspeexdsp.a */, + 226F2ED31344B0EF00F6EF27 /* libopencore-amrwb.a */, 226F2ED41344B0EF00F6EF27 /* libopencore-amrnb.a */, 226F2ED51344B0EF00F6EF27 /* libmsamr.a */, 220FAC77107654FC0068D98F /* include */, @@ -886,6 +946,15 @@ name = Frameworks; sourceTree = ""; }; + F4D9F244145748E80035B0D0 /* Products */ = { + isa = PBXGroup; + children = ( + F4D9F24D145748E80035B0D0 /* liblinphone.a */, + F4D9F24F145748E80035B0D0 /* mediastream.app */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -912,9 +981,6 @@ /* Begin PBXProject section */ 29B97313FDCFA39411CA2CEA /* Project object */ = { isa = PBXProject; - attributes = { - LastUpgradeCheck = 0410; - }; buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "linphone" */; compatibilityVersion = "Xcode 3.1"; developmentRegion = English; @@ -930,8 +996,8 @@ projectDirPath = ""; projectReferences = ( { - ProductGroup = 22A10D9F11F88C1F00373793 /* Products */; - ProjectRef = 22A10D9E11F88C1F00373793 /* liblinphone.xcodeproj */; + ProductGroup = F4D9F244145748E80035B0D0 /* Products */; + ProjectRef = F4D9F243145748E80035B0D0 /* liblinphone.xcodeproj */; }, ); projectRoot = ""; @@ -942,18 +1008,18 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 223136D914433FF50035C1F4 /* mediastream.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = mediastream.app; - remoteRef = 223136D814433FF50035C1F4 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 22A10DA311F88C1F00373793 /* liblinphone.a */ = { + F4D9F24D145748E80035B0D0 /* liblinphone.a */ = { isa = PBXReferenceProxy; fileType = archive.ar; path = liblinphone.a; - remoteRef = 22A10DA211F88C1F00373793 /* PBXContainerItemProxy */; + remoteRef = F4D9F24C145748E80035B0D0 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + F4D9F24F145748E80035B0D0 /* mediastream.app */ = { + isa = PBXReferenceProxy; + fileType = wrapper.application; + path = mediastream.app; + remoteRef = F4D9F24E145748E80035B0D0 /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXReferenceProxy section */ @@ -995,6 +1061,9 @@ 228B19AF130290C500F154D3 /* iTunesArtwork in Resources */, 2214783D1386A2030020F8B8 /* Localizable.strings in Resources */, 22E19E48138A67A000FBFE87 /* missed_call.png in Resources */, + 22E028B813B4CCBD0068A713 /* VideoViewController.xib in Resources */, + 226B563F13CAF1CD00921595 /* audio.plist in Resources */, + 22E1A9E813CAF4AA00219531 /* video.plist in Resources */, 70571E1A13FABCB000CDD3C2 /* rootca.pem in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1026,6 +1095,8 @@ 22C755601317E59C007BC101 /* UIBluetoothButton.m in Sources */, 22BB1A69132FF16A005CD7AA /* UIEraseButton.m in Sources */, 223963171393CFAF001DE689 /* FastAddressBook.m in Sources */, + 22E028B713B4CCBD0068A713 /* VideoViewController.m in Sources */, + 22AA8B0113D83F6300B30535 /* UICamSwitch.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1047,18 +1118,19 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv7, - armv6, - i386, - ); + CODE_SIGN_IDENTITY = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + VIDEO_ENABLED, + HAVE_X264, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, @@ -1069,17 +1141,15 @@ submodules/externals/osip/include, submodules/externals/exosip/include, submodules/externals/speex/include, - submodules/externals/srtp/include, - submodules/externals/srtp/crypto/include, - submodules/externals/zrtpcpp/src, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + ORDER_FILE = ""; OTHER_LDFLAGS = ( "-l", linphone, @@ -1087,6 +1157,7 @@ mediastreamer, ); PRODUCT_NAME = linphone; + PROVISIONING_PROFILE = ""; SDKROOT = iphoneos; STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; TARGETED_DEVICE_FAMILY = 1; @@ -1097,7 +1168,7 @@ isa = XCBuildConfiguration; buildSettings = { ARCHS = "$(ARCHS_STANDARD_32_BIT)"; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution: jehan monnier"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: jehan monnier (E8MYPN2NXL)"; GCC_C_LANGUAGE_STANDARD = c99; GCC_WARN_ABOUT_RETURN_TYPE = YES; GCC_WARN_UNUSED_VARIABLE = YES; @@ -1106,7 +1177,7 @@ LIBRARY_SEARCH_PATHS = ""; LINK_WITH_STANDARD_LIBRARIES = YES; PREBINDING = NO; - "PROVISIONING_PROFILE[sdk=iphoneos*]" = "5B8A949D-21D7-4FB1-B7C0-6438B7297840"; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = "DD608A20-B0EC-49C6-BFD1-815C97DF3844"; SDKROOT = iphoneos; }; name = DistributionAdhoc; @@ -1115,20 +1186,20 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv7, - armv6, - i386, - ); CODE_SIGN_ENTITLEMENTS = untitled.plist; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; + GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + VIDEO_ENABLED, + HAVE_X264, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, @@ -1139,17 +1210,15 @@ submodules/externals/osip/include, submodules/externals/exosip/include, submodules/externals/speex/include, - submodules/externals/srtp/include, - submodules/externals/srtp/crypto/include, - submodules/externals/zrtpcpp/src, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + ORDER_FILE = ""; OTHER_LDFLAGS = ( "-l", linphone, @@ -1164,6 +1233,74 @@ }; name = DistributionAdhoc; }; + 22F3D55513CC3C9100A0DA02 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + GCC_C_LANGUAGE_STANDARD = c99; + GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + HEADER_SEARCH_PATHS = ""; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; + LIBRARY_SEARCH_PATHS = ""; + LINK_WITH_STANDARD_LIBRARIES = YES; + PREBINDING = NO; + SDKROOT = iphoneos; + }; + name = Release; + }; + 22F3D55613CC3C9100A0DA02 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + FRAMEWORK_SEARCH_PATHS = ""; + GCC_DYNAMIC_NO_PIC = NO; + GCC_OPTIMIZATION_LEVEL = s; + GCC_PRECOMPILE_PREFIX_HEADER = YES; + GCC_PREFIX_HEADER = linphone_Prefix.pch; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + VIDEO_ENABLED, + HAVE_X264, + HAVE_SILK, + ); + GCC_VERSION = com.apple.compilers.llvmgcc42; + HEADER_SEARCH_PATHS = ( + submodules/linphone/coreapi, + submodules/linphone/mediastreamer2/include, + submodules/linphone/mediastreamer2/include, + submodules/linphone/oRTP/include, + submodules/externals/gsm/, + submodules/externals/osip/include, + submodules/externals/exosip/include, + submodules/externals/speex/include, + ); + INFOPLIST_FILE = "linphone-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; + LIBRARY_SEARCH_PATHS = ( + "$(BUILT_PRODUCTS_DIR)", + "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", + "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", + ); + ORDER_FILE = ""; + OTHER_LDFLAGS = ( + "-l", + linphone, + "-l", + mediastreamer, + ); + PRODUCT_NAME = linphone; + "PROVISIONING_PROFILE[sdk=iphoneos*]" = ""; + SDKROOT = iphoneos; + STANDARD_C_PLUS_PLUS_LIBRARY_TYPE = dynamic; + TARGETED_DEVICE_FAMILY = 1; + }; + name = Release; + }; 22F51EE7107FA53D00F98953 /* Distribution */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1186,20 +1323,20 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - armv7, - armv6, - i386, - ); CODE_SIGN_ENTITLEMENTS = untitled.plist; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; FRAMEWORK_SEARCH_PATHS = ""; GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; + GCC_OPTIMIZATION_LEVEL = s; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = linphone_Prefix.pch; - GCC_PREPROCESSOR_DEFINITIONS = IN_LINPHONE; + GCC_PREPROCESSOR_DEFINITIONS = ( + IN_LINPHONE, + VIDEO_ENABLED, + HAVE_X264, + HAVE_SILK, + ); GCC_VERSION = com.apple.compilers.llvmgcc42; HEADER_SEARCH_PATHS = ( submodules/linphone/coreapi, @@ -1210,17 +1347,15 @@ submodules/externals/osip/include, submodules/externals/exosip/include, submodules/externals/speex/include, - submodules/externals/srtp/include, - submodules/externals/srtp/crypto/include, - submodules/externals/zrtpcpp/src, ); INFOPLIST_FILE = "linphone-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 3.1.2; + IPHONEOS_DEPLOYMENT_TARGET = 3.1; LIBRARY_SEARCH_PATHS = ( "$(BUILT_PRODUCTS_DIR)", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", "\"$(SRCROOT)/liblinphone-sdk/apple-darwin/lib\"", ); + ORDER_FILE = ""; OTHER_LDFLAGS = ( "-l", linphone, @@ -1259,6 +1394,7 @@ isa = XCConfigurationList; buildConfigurations = ( 1D6058940D05DD3E006BFB54 /* Debug */, + 22F3D55613CC3C9100A0DA02 /* Release */, 22F51EE8107FA53D00F98953 /* Distribution */, 228B19A71302902F00F154D3 /* DistributionAdhoc */, ); @@ -1269,6 +1405,7 @@ isa = XCConfigurationList; buildConfigurations = ( C01FCF4F08A954540054247B /* Debug */, + 22F3D55513CC3C9100A0DA02 /* Release */, 22F51EE7107FA53D00F98953 /* Distribution */, 228B19A61302902F00F154D3 /* DistributionAdhoc */, ); diff --git a/linphonerc b/linphonerc index 6f894b055..26be7bee4 100644 --- a/linphonerc +++ b/linphonerc @@ -1,6 +1,6 @@ [net] -download_bw=128 -upload_bw=128 +download_bw=256 +upload_bw=256 firewall_policy=0 mtu=0 @@ -32,3 +32,12 @@ echocancellation=0 [misc] history_max_size=30 max_calls=1 + +[video] +display=1 +capture=1 +show_local=0 +enabled=1 +size=ios-medium + + diff --git a/submodules/build/builder-iphone-os.mk b/submodules/build/builder-iphone-os.mk index 810ff22b1..d9fae0fde 100644 --- a/submodules/build/builder-iphone-os.mk +++ b/submodules/build/builder-iphone-os.mk @@ -25,7 +25,7 @@ enable_zrtp?=no enable_silk?=no config_site:=iphone-config.site library_mode:= --disable-shared --enable-static -linphone_configure_controls= --disable-video \ +linphone_configure_controls= \ --disable-strict \ --disable-nls \ --with-readline=none \ @@ -33,12 +33,16 @@ linphone_configure_controls= --disable-video \ --enable-console_ui=no \ --enable-ssl-hmac=no \ --enable-ssl=yes \ + --disable-theora \ + --disable-sdl \ + --disable-x11 \ --with-gsm=$(prefix) \ --disable-tests \ LIBZRTPCPP_CFLAGS="-I$(prefix)/include" \ LIBZRTPCPP_LIBS="-L$(prefix)/lib -lzrtpcpp -lcrypto" \ SRTP_LIBS="-L$(prefix)/lib -lsrtp -lcrypto" \ SRTP_CFLAGS="-I$(prefix)/include" \ + --enable-vp8 \ SPEEX_CFLAGS="-I$(prefix)/include" \ SPEEXDSP_CFLAGS="-I$(prefix)/include" \ SPEEXDSP_LIBS="-L$(prefix)/lib -lspeexdsp" \ @@ -81,7 +85,7 @@ endif prefix?=$(BUILDER_SRC_DIR)/../liblinphone-sdk/$(host) -.NOTPARALLEL all: build-linphone build-msilbc build-msamr build-mssilk +all: build-linphone build-msilbc build-msamr build-msx264 build-mssilk clean-makefile: clean-makefile-linphone clean: clean-linphone @@ -92,17 +96,18 @@ init: veryclean: veryclean-linphone rm -rf $(BUILDER_BUILD_DIR) -.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm $(LINPHONE_BUILD_DIR)/Makefile + +.NOTPARALLEL build-linphone: init build-openssl build-srtp build-zrtpcpp build-osip2 build-eXosip2 build-speex build-libgsm build-ffmpeg build-libvpx $(LINPHONE_BUILD_DIR)/Makefile cd $(LINPHONE_BUILD_DIR) && export PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig export CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make newdate && make && make install -clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk +clean-linphone: clean-osip2 clean-eXosip2 clean-speex clean-libgsm clean-srtp clean-zrtpcpp clean-msilbc clean-libilbc clean-openssl clean-msamr clean-mssilk clean-ffmpeg clean-libvpx clean-msx264 cd $(LINPHONE_BUILD_DIR) && make clean -veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk +veryclean-linphone: veryclean-osip2 veryclean-eXosip2 veryclean-speex veryclean-srtp veryclean-zrtpcpp veryclean-libgsm veryclean-msilbc veryclean-libilbc veryclean-openssl veryclean-msamr veryclean-mssilk veryclean-msx264 #-cd $(LINPHONE_BUILD_DIR) && make distclean -cd $(LINPHONE_SRC_DIR) && rm -f configure -clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-mssilk +clean-makefile-linphone: clean-makefile-osip2 clean-makefile-eXosip2 clean-makefile-speex clean-makefile-srtp clean-makefile-zrtpcpp clean-makefile-libilbc clean-makefile-msilbc clean-makefile-openssl clean-makefile-msamr clean-makefile-ffmpeg clean-makefile-libvpx clean-makefile-mssilk cd $(LINPHONE_BUILD_DIR) && rm -f Makefile && rm -f oRTP/Makefile && rm -f mediastreamer2/Makefile diff --git a/submodules/build/builders.d/ffmpeg.mk b/submodules/build/builders.d/ffmpeg.mk new file mode 100644 index 000000000..04f363f4f --- /dev/null +++ b/submodules/build/builders.d/ffmpeg.mk @@ -0,0 +1,47 @@ +ffmpeg_configure_options=\ + --disable-mmx \ + --enable-cross-compile \ + --disable-ffprobe --disable-ffserver --disable-avdevice \ + --disable-avfilter --disable-network \ + --disable-everything --enable-decoder=mjpeg --enable-encoder=mjpeg --enable-decoder=mpeg4 --enable-encoder=mpeg4 \ + --enable-decoder=h264 --disable-avformat --enable-armv5te --enable-armv6 --enable-armv6t2 \ + --enable-armvfp \ + --cross-prefix=$$SDK_BIN_PATH/ \ + --sysroot=$$SYSROOT_PATH --arch=$$ARCH \ + --enable-static --disable-shared --target-os=darwin \ + --extra-cflags="-arch $$ARCH " --extra-ldflags="-arch $$ARCH -Wl,-syslibroot,$$SYSROOT_PATH " \ + --source-path=$(BUILDER_SRC_DIR)/$(ffmpeg_dir) +# --as=$(BUILDER_SRC_DIR)/externals/x264/extras/gas-preprocessor.pl + +#--sysinclude=PATH location of cross-build system headers +ifneq (,$(findstring armv6,$(host))) + ffmpeg_configure_options+= --cpu=arm1176jzf-s +endif + +ifneq (,$(findstring armv7,$(host))) + ffmpeg_configure_options+= --enable-neon --cpu=cortex-a8 +endif +ffmpeg_dir?=externals/ffmpeg +$(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(ffmpeg_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/ffmpeg.patch \ + && touch $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched + +$(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/config.mak: $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/patched + mkdir -p $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) + cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/ \ + && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ + && $(BUILDER_SRC_DIR)/$(ffmpeg_dir)/configure --prefix=$(prefix) $(ffmpeg_configure_options) + +build-ffmpeg: $(BUILDER_BUILD_DIR)/$(ffmpeg_dir)/config.mak + cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install + +clean-ffmpeg: + cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && make clean + +veryclean-ffmpeg: + cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && make distclean + +clean-makefile-ffmpeg: + cd $(BUILDER_BUILD_DIR)/$(ffmpeg_dir) && rm -f config.mak + diff --git a/submodules/build/builders.d/ffmpeg.patch b/submodules/build/builders.d/ffmpeg.patch new file mode 100644 index 000000000..05e080905 --- /dev/null +++ b/submodules/build/builders.d/ffmpeg.patch @@ -0,0 +1,20 @@ +diff --git a/libavutil/arm/intmath.h b/libavutil/arm/intmath.h +index 8f03d4b..0504b95 100644 +--- a/libavutil/arm/intmath.h ++++ b/libavutil/arm/intmath.h +@@ -91,10 +91,12 @@ static av_always_inline av_const int FASTDIV(int a, int b) + static av_always_inline av_const int32_t av_clipl_int32_arm(int64_t a) + { + int x, y; +- __asm__ volatile ("adds %1, %R2, %Q2, lsr #31 \n\t" ++ union { uint64_t a; uint32_t hl[2]; } tmp_a; ++ tmp_a.a=a; ++ __asm__ volatile ("adds %1, %2, %3, lsr #31 \n\t" + "mvnne %1, #1<<31 \n\t" +- "eorne %0, %1, %R2, asr #31 \n\t" +- : "=r"(x), "=&r"(y) : "r"(a)); ++ "eorne %0, %1, %2, asr #31 \n\t" ++ : "=r"(x), "=&r"(y) : "r"(tmp_a.hl[0]),"r"(tmp_a.hl[1])); + return x; + } + diff --git a/submodules/build/builders.d/libvpx.mk b/submodules/build/builders.d/libvpx.mk new file mode 100644 index 000000000..793c0c33d --- /dev/null +++ b/submodules/build/builders.d/libvpx.mk @@ -0,0 +1,39 @@ +libvpx_configure_options=\ + --enable-static --disable-shared \ + --disable-examples +# --extra-cflags="-isysroot $$SYSROOT_PATH " +# -Wl,-syslibroot,$$SYSROOT_PATH " \ + --enable-error-concealment --disable-examples + +ifneq (,$(findstring armv6,$(host))) + libvpx_configure_options+= --target=armv6-darwin-gcc --cpu=arm1176jzf-s +else ifneq (,$(findstring armv7,$(host))) + libvpx_configure_options+= --target=armv7-darwin-gcc --cpu=cortex-a8 +else + libvpx_configure_options+= --force-target=x86-darwin10-gcc +endif +libvpx_dir?=externals/libvpx +$(BUILDER_SRC_DIR)/$(libvpx_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(libvpx_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/libvpx.patch \ + && touch $(BUILDER_SRC_DIR)/$(libvpx_dir)/patched + +$(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk: $(BUILDER_SRC_DIR)/$(libvpx_dir)/patched + mkdir -p $(BUILDER_BUILD_DIR)/$(libvpx_dir) + cd $(BUILDER_BUILD_DIR)/$(libvpx_dir)/ \ + && host_alias=${host} . $(BUILDER_SRC_DIR)/build/$(config_site) \ + && $(BUILDER_SRC_DIR)/$(libvpx_dir)/configure --prefix=$(prefix) $(libvpx_configure_options) + +build-libvpx: $(BUILDER_BUILD_DIR)/$(libvpx_dir)/config.mk + cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install + +clean-libvpx: + cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make clean + +veryclean-libvpx: + -cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && make distclean + rm -rf $(BUILDER_BUILD_DIR)/$(libvpx_dir) + +clean-makefile-libvpx: + cd $(BUILDER_BUILD_DIR)/$(libvpx_dir) && rm -f config.mak + diff --git a/submodules/build/builders.d/libvpx.patch b/submodules/build/builders.d/libvpx.patch new file mode 100644 index 000000000..effa15f01 --- /dev/null +++ b/submodules/build/builders.d/libvpx.patch @@ -0,0 +1,25 @@ +diff --git a/build/make/configure.sh b/build/make/configure.sh +index 009a6c4..1cd1ea8 100755 +--- a/build/make/configure.sh ++++ b/build/make/configure.sh +@@ -729,7 +729,7 @@ process_common_toolchain() { + TOOLCHAIN_PATH=${SDK_PATH}/usr/bin + CC=${TOOLCHAIN_PATH}/gcc + AR=${TOOLCHAIN_PATH}/ar +- LD=${TOOLCHAIN_PATH}/arm-apple-darwin10-gcc-4.2.1 ++ LD=${TOOLCHAIN_PATH}/gcc + AS=${TOOLCHAIN_PATH}/as + STRIP=${TOOLCHAIN_PATH}/strip + NM=${TOOLCHAIN_PATH}/nm +@@ -741,9 +741,9 @@ process_common_toolchain() { + ASFLAGS="-version -arch ${tgt_isa} -g" + + add_cflags -arch ${tgt_isa} +- add_ldflags -arch_only ${tgt_isa} ++ add_ldflags "-arch ${tgt_isa} -Wl,-syslibroot,${SDK_PATH}/SDKs/iPhoneOS5.0.sdk" + +- add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS4.3.sdk" ++ add_cflags "-isysroot ${SDK_PATH}/SDKs/iPhoneOS5.0.sdk" + + # This should be overridable + alt_libc=${SDK_PATH}/SDKs/iPhoneOS4.3.sdk diff --git a/submodules/build/builders.d/msx264.mk b/submodules/build/builders.d/msx264.mk new file mode 100644 index 000000000..aaf1e5e00 --- /dev/null +++ b/submodules/build/builders.d/msx264.mk @@ -0,0 +1,43 @@ +############################################################################ +# msx264.mk +# Copyright (C) 2011 Belledonne Communications,Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ +msx264_dir?=msx264 +$(BUILDER_SRC_DIR)/$(msx264_dir)/configure: + cd $(BUILDER_SRC_DIR)/$(msx264_dir) && ./autogen.sh + +$(BUILDER_BUILD_DIR)/$(msx264_dir)/Makefile: $(BUILDER_SRC_DIR)/$(msx264_dir)/configure + mkdir -p $(BUILDER_BUILD_DIR)/$(msx264_dir) + cd $(BUILDER_BUILD_DIR)/$(msx264_dir)/ \ + && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) \ + $(BUILDER_SRC_DIR)/$(msx264_dir)/configure -prefix=$(prefix) --host=$(host) ${library_mode} + +build-msx264: build-x264 $(BUILDER_BUILD_DIR)/$(msx264_dir)/Makefile + cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && PKG_CONFIG_PATH=$(prefix)/lib/pkgconfig CONFIG_SITE=$(BUILDER_SRC_DIR)/build/$(config_site) make && make install + +clean-msx264: clean-x264 + cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && make clean + +veryclean-msx264: veryclean-x264 + -cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && make distclean + -cd $(BUILDER_SRC_DIR)/$(msx264_dir) && rm -f configure + +clean-makefile-msx264: clean-makefile-x264 + cd $(BUILDER_BUILD_DIR)/$(msx264_dir) && rm -f Makefile diff --git a/submodules/build/builders.d/srtp.mk b/submodules/build/builders.d/srtp.mk index 2e2c9b1d6..97534a732 100644 --- a/submodules/build/builders.d/srtp.mk +++ b/submodules/build/builders.d/srtp.mk @@ -10,7 +10,7 @@ $(BUILDER_BUILD_DIR)/$(srtp_dir)/Makefile: $(BUILDER_SRC_DIR)/$(srtp_dir)/config $(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 install + cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make libsrtp.a && make uninstall && make install clean-srtp: -cd $(BUILDER_BUILD_DIR)/$(srtp_dir) && make clean diff --git a/submodules/build/builders.d/srtp.patch b/submodules/build/builders.d/srtp.patch new file mode 100644 index 000000000..c3d127b13 --- /dev/null +++ b/submodules/build/builders.d/srtp.patch @@ -0,0 +1,24 @@ +diff -rupN ../srtp_old/crypto/cipher/aes_icm.c ./crypto/cipher/aes_icm.c +--- ../srtp_old/crypto/cipher/aes_icm.c 2006-03-16 18:11:29.000000000 +0100 ++++ ./crypto/cipher/aes_icm.c 2011-09-06 10:19:16.000000000 +0200 +@@ -281,7 +281,7 @@ aes_icm_set_iv(aes_icm_ctx_t *c, void *i + * this is an internal, hopefully inlined function + */ + +-inline void ++static void + aes_icm_advance_ismacryp(aes_icm_ctx_t *c, uint8_t forIsmacryp) { + /* fill buffer with new keystream */ + v128_copy(&c->keystream_buffer, &c->counter); +diff -rupN ../srtp_old/crypto/math/datatypes.c ./crypto/math/datatypes.c +--- ../srtp_old/crypto/math/datatypes.c 2005-10-08 18:38:06.000000000 +0200 ++++ ./crypto/math/datatypes.c 2011-09-06 10:02:55.000000000 +0200 +@@ -124,7 +124,7 @@ octet_string_hex_string(const void *s, i + return bit_string; + } + +-inline int ++static int + hex_char_to_nibble(uint8_t c) { + switch(c) { + case ('0'): return 0x0; diff --git a/submodules/build/builders.d/x264.mk b/submodules/build/builders.d/x264.mk new file mode 100644 index 000000000..fbe943686 --- /dev/null +++ b/submodules/build/builders.d/x264.mk @@ -0,0 +1,72 @@ +############################################################################ +# x264.mk +# Copyright (C) 2011 Belledonne Communications,Grenoble France +# +############################################################################ +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +# +############################################################################ + +#--enable-static is mandatory otherwise the lib is not installed + +x264-configure-option= \ + --host=$(host)\ + --enable-static \ + --cross-prefix=$$SDK_BIN_PATH/ \ + --extra-ldflags="-arch $$ARCH -isysroot $$SYSROOT_PATH" + + + +ifneq (,$(findstring i386,$(host))) + x264-configure-option+= --extra-cflags="-arch $$ARCH -isysroot $$SYSROOT_PATH" +endif +ifneq (,$(findstring armv6,$(host))) + x264-configure-option+= --extra-cflags="-arch $$ARCH -mcpu=arm1176jzf-s -marm -isysroot $$SYSROOT_PATH" + x264-configure-option+= --disable-asm +endif + +ifneq (,$(findstring armv7,$(host))) + x264-configure-option+= --extra-cflags="-arch $$ARCH -mcpu=cortex-a8 -mfpu=neon -mfloat-abi=softfp -isysroot $$SYSROOT_PATH" +endif + +x264_dir?=externals/x264 +$(BUILDER_SRC_DIR)/$(x264_dir)/patched : + cd $(BUILDER_SRC_DIR)/$(x264_dir) \ + && git apply $(BUILDER_SRC_DIR)/build/builders.d/x264.patch \ + && touch $(BUILDER_SRC_DIR)/$(x264_dir)/patched + +$(BUILDER_BUILD_DIR)/$(x264_dir)/configure: $(BUILDER_SRC_DIR)/$(x264_dir)/patched + mkdir -p $(BUILDER_BUILD_DIR)/$(x264_dir) + cd $(BUILDER_BUILD_DIR)/$(x264_dir)/ \ + && rsync -av --exclude ".git" $(BUILDER_SRC_DIR)/$(x264_dir)/* . + +$(BUILDER_BUILD_DIR)/$(x264_dir)/config.mak: $(BUILDER_BUILD_DIR)/$(x264_dir)/configure + cd $(BUILDER_BUILD_DIR)/$(x264_dir)/ \ + && host_alias=$(host) . $(BUILDER_SRC_DIR)/build/$(config_site) \ + && ./configure --prefix=$(prefix) ${x264-configure-option} + +build-x264: $(BUILDER_BUILD_DIR)/$(x264_dir)/config.mak + cd $(BUILDER_BUILD_DIR)/$(x264_dir) make && make install + +clean-x264: + cd $(BUILDER_BUILD_DIR)/$(x264_dir) && make clean + +veryclean-x264: + -cd $(BUILDER_BUILD_DIR)/$(x264_dir) && make distclean + rm -rf $(BUILDER_BUILD_DIR)/$(x264_dir) + +clean-makefile-x264: + cd $(BUILDER_BUILD_DIR)/$(x264_dir) && rm -f config.mak diff --git a/submodules/build/builders.d/x264.patch b/submodules/build/builders.d/x264.patch new file mode 100644 index 000000000..e6781e304 --- /dev/null +++ b/submodules/build/builders.d/x264.patch @@ -0,0 +1,12 @@ +diff --git a/common/arm/asm.S b/common/arm/asm.S +index 8e70403..259bb92 100644 +--- a/common/arm/asm.S ++++ b/common/arm/asm.S +@@ -47,6 +47,7 @@ ELF .eabi_attribute 25, \val + .endm + + .macro function name ++ .align 2 + .global EXTERN_ASM\name + EXTERN_ASM\name: + ELF .hidden \name diff --git a/submodules/build/iphone-config.site b/submodules/build/iphone-config.site index d976c17a5..6ab8723a3 100644 --- a/submodules/build/iphone-config.site +++ b/submodules/build/iphone-config.site @@ -30,6 +30,7 @@ for SYSROOT_PATH in $SDK_PATH_LIST ; do echo $SYSROOT_PATH ; done ; echo "Selecting SDK path = ${SYSROOT_PATH}" COMMON_FLAGS=" -arch ${ARCH} ${MCPU} -isysroot ${SYSROOT_PATH} -miphoneos-version-min=${SDK_VERSION} -DTARGET_OS_IPHONE -D__IOS" CC="${SDK_BIN_PATH}/gcc -std=c99 $COMMON_FLAGS" +OBJC="${SDK_BIN_PATH}/gcc -std=c99 $COMMON_FLAGS" CXX="${SDK_BIN_PATH}/g++ $COMMON_FLAGS" LD="${SDK_BIN_PATH}/ld -arch ${ARCH}" AR=${SDK_BIN_PATH}/ar diff --git a/submodules/externals/ffmpeg b/submodules/externals/ffmpeg new file mode 160000 index 000000000..907783f22 --- /dev/null +++ b/submodules/externals/ffmpeg @@ -0,0 +1 @@ +Subproject commit 907783f221ad9594a528681e30777705f11bf0b5 diff --git a/submodules/externals/libvpx b/submodules/externals/libvpx new file mode 160000 index 000000000..4341e5af6 --- /dev/null +++ b/submodules/externals/libvpx @@ -0,0 +1 @@ +Subproject commit 4341e5af66c92531fcd3f3e66ac18e70b3752ca9 diff --git a/submodules/externals/x264 b/submodules/externals/x264 new file mode 160000 index 000000000..926a03a9c --- /dev/null +++ b/submodules/externals/x264 @@ -0,0 +1 @@ +Subproject commit 926a03a9c1f48d0fbd54b0e802d740774c100a78 diff --git a/submodules/liblinphone.xcodeproj/project.pbxproj b/submodules/liblinphone.xcodeproj/project.pbxproj index 3eb2650c2..8d22b5213 100644 --- a/submodules/liblinphone.xcodeproj/project.pbxproj +++ b/submodules/liblinphone.xcodeproj/project.pbxproj @@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ + 2203126F139F61990049A2ED /* ioscapture.m in Sources */ = {isa = PBXBuildFile; fileRef = 22D15AB3139F505400C7713A /* ioscapture.m */; }; + 2203127213A247B50049A2ED /* iosdisplay.h in Headers */ = {isa = PBXBuildFile; fileRef = 2203127013A247B40049A2ED /* iosdisplay.h */; }; + 2203127313A247B50049A2ED /* iosdisplay.m in Sources */ = {isa = PBXBuildFile; fileRef = 2203127113A247B40049A2ED /* iosdisplay.m */; }; + 2203127613A249F70049A2ED /* filter-template.c in Sources */ = {isa = PBXBuildFile; fileRef = 2203127413A249F70049A2ED /* filter-template.c */; }; 220ED19A13A8F87700AC21E0 /* libspeexdsp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19713A8F87700AC21E0 /* libspeexdsp.a */; }; 220ED19B13A8F87700AC21E0 /* libspeex.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19813A8F87700AC21E0 /* libspeex.a */; }; 220ED19C13A8F87700AC21E0 /* libortp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED19913A8F87700AC21E0 /* libortp.a */; }; @@ -16,9 +20,18 @@ 220ED1A313A903BF00AC21E0 /* libgsm.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A213A903BF00AC21E0 /* libgsm.a */; }; 220ED1A713A9040700AC21E0 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */; }; 220ED1A913A9041800AC21E0 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 220ED1A813A9041800AC21E0 /* AVFoundation.framework */; }; + 220ED1AC13A9062600AC21E0 /* nowebcam.h in Headers */ = {isa = PBXBuildFile; fileRef = 220ED1AA13A9062500AC21E0 /* nowebcam.h */; }; + 220ED1AD13A9062600AC21E0 /* nowebcam.c in Sources */ = {isa = PBXBuildFile; fileRef = 220ED1AB13A9062500AC21E0 /* nowebcam.c */; }; + 221F589C13AB4FC500D603C9 /* msvideo.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F589B13AB4FC500D603C9 /* msvideo.c */; }; 221F58A013AB50F800D603C9 /* CoreMedia.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 221F589F13AB50F800D603C9 /* CoreMedia.framework */; }; + 221F58A213AB6F8100D603C9 /* pixconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A113AB6F8000D603C9 /* pixconv.c */; }; 221F58A413AB708C00D603C9 /* alldescs.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F58A313AB708C00D603C9 /* alldescs.h */; }; 221F58A813AB716400D603C9 /* tonedetector.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A513AB716300D603C9 /* tonedetector.c */; }; + 221F58A913AB716400D603C9 /* jpegwriter.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A613AB716300D603C9 /* jpegwriter.c */; }; + 221F58AA13AB716400D603C9 /* h264dec.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58A713AB716300D603C9 /* h264dec.c */; }; + 221F58AC13AB71A400D603C9 /* sizeconv.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58AB13AB71A400D603C9 /* sizeconv.c */; }; + 221F58AE13ABA42800D603C9 /* scaler.c in Sources */ = {isa = PBXBuildFile; fileRef = 221F58AD13ABA42800D603C9 /* scaler.c */; }; + 221F58E413AF44B300D603C9 /* scaler.h in Headers */ = {isa = PBXBuildFile; fileRef = 221F58E313AF44B300D603C9 /* scaler.h */; }; 222CA63211F6CF7600621220 /* allfilters.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BE11F6CF7600621220 /* allfilters.h */; }; 222CA63311F6CF7600621220 /* dsptools.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5BF11F6CF7600621220 /* dsptools.h */; }; 222CA63411F6CF7600621220 /* dtmfgen.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5C011F6CF7600621220 /* dtmfgen.h */; }; @@ -56,6 +69,8 @@ 222CA65811F6CF7600621220 /* dtmfgen.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5E811F6CF7600621220 /* dtmfgen.c */; }; 222CA65B11F6CF7600621220 /* equalizer.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5EB11F6CF7600621220 /* equalizer.c */; }; 222CA65C11F6CF7600621220 /* eventqueue.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5EC11F6CF7600621220 /* eventqueue.c */; }; + 222CA65D11F6CF7600621220 /* extdisplay.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5ED11F6CF7600621220 /* extdisplay.c */; }; + 222CA65E11F6CF7600621220 /* ffmpeg-priv.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */; }; 222CA65F11F6CF7600621220 /* g711common.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA5EF11F6CF7600621220 /* g711common.h */; }; 222CA66011F6CF7600621220 /* gsm.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5F011F6CF7600621220 /* gsm.c */; }; 222CA66211F6CF7600621220 /* ice.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA5F211F6CF7600621220 /* ice.c */; }; @@ -97,6 +112,7 @@ 222CA6FB11F6CF9F00621220 /* rtpsession.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6AE11F6CF9F00621220 /* rtpsession.h */; }; 222CA6FC11F6CF9F00621220 /* rtpsignaltable.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */; }; 222CA6FD11F6CF9F00621220 /* sessionset.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B011F6CF9F00621220 /* sessionset.h */; }; + 222CA6FE11F6CF9F00621220 /* srtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B111F6CF9F00621220 /* srtp.h */; }; 222CA6FF11F6CF9F00621220 /* str_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B211F6CF9F00621220 /* str_utils.h */; }; 222CA70011F6CF9F00621220 /* stun.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B311F6CF9F00621220 /* stun.h */; }; 222CA70111F6CF9F00621220 /* stun_udp.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA6B411F6CF9F00621220 /* stun_udp.h */; }; @@ -155,18 +171,26 @@ 222CA78411F6CFB100621220 /* siplogin.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA76211F6CFB100621220 /* siplogin.c */; }; 222CA78511F6CFB100621220 /* sipsetup.c in Sources */ = {isa = PBXBuildFile; fileRef = 222CA76311F6CFB100621220 /* sipsetup.c */; }; 222CA78611F6CFB100621220 /* sipsetup.h in Headers */ = {isa = PBXBuildFile; fileRef = 222CA76411F6CFB100621220 /* sipsetup.h */; }; + 22512699145F13CE0041FBF2 /* aqsnd.c in Sources */ = {isa = PBXBuildFile; fileRef = 22512698145F13CE0041FBF2 /* aqsnd.c */; }; 2252935B12F6CA4700DD9BFB /* ec-calibrator.c in Sources */ = {isa = PBXBuildFile; fileRef = 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */; }; - 225AA2DF144F0AA800BA809B /* libSKP_SILK_SDK.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 225AA2DE144F0AA800BA809B /* libSKP_SILK_SDK.a */; }; - 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E0144F1C6600BA809B /* bitratedriver.c */; }; - 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2E2144F1E3400BA809B /* qosanalyzer.c */; }; - 225AA2FD1451A95400BA809B /* conference.c in Sources */ = {isa = PBXBuildFile; fileRef = 225AA2FC1451A95400BA809B /* conference.c */; }; + 2258C44113A9377B0087A596 /* swscale.h in Headers */ = {isa = PBXBuildFile; fileRef = 2258C44013A9377B0087A596 /* swscale.h */; }; + 2258C44513A945520087A596 /* libswscale.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44213A945520087A596 /* libswscale.a */; }; + 2258C44613A945520087A596 /* libavutil.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44313A945520087A596 /* libavutil.a */; }; + 2258C44713A945520087A596 /* libavcodec.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 2258C44413A945520087A596 /* libavcodec.a */; }; + 2258C44B13A946890087A596 /* videostream.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44813A946890087A596 /* videostream.c */; }; + 2258C44C13A946890087A596 /* videoenc.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44913A946890087A596 /* videoenc.c */; }; + 2258C44D13A946890087A596 /* videodec.c in Sources */ = {isa = PBXBuildFile; fileRef = 2258C44A13A946890087A596 /* videodec.c */; }; 225D355A124B1FF60008581C /* linphonecall.c in Sources */ = {isa = PBXBuildFile; fileRef = 225D3559124B1FF60008581C /* linphonecall.c */; }; - 22985D9314643BEF005CA0B5 /* aqsnd.c in Sources */ = {isa = PBXBuildFile; fileRef = 22985D9214643BEF005CA0B5 /* aqsnd.c */; }; 229A614D13DDFE3500090183 /* g722_decode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614913DDFE3500090183 /* g722_decode.c */; }; 229A614E13DDFE3500090183 /* g722_encode.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614A13DDFE3500090183 /* g722_encode.c */; }; 229A614F13DDFE3500090183 /* g722.h in Headers */ = {isa = PBXBuildFile; fileRef = 229A614B13DDFE3500090183 /* g722.h */; }; 229A615013DDFE3500090183 /* msg722.c in Sources */ = {isa = PBXBuildFile; fileRef = 229A614C13DDFE3500090183 /* msg722.c */; }; + 229A615313DEE8A500090183 /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 229A615113DEE8A400090183 /* libx264.a */; }; + 229A615413DEE8A500090183 /* libmsx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 229A615213DEE8A400090183 /* libmsx264.a */; }; 229B9D5913043EAB00EFCD1C /* linphonecore_utils.h in Headers */ = {isa = PBXBuildFile; fileRef = 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */; }; + 229ECDEB143AEA6300D611B8 /* msvideo_neon.c in Sources */ = {isa = PBXBuildFile; fileRef = 229ECDEA143AEA6300D611B8 /* msvideo_neon.c */; }; + 229ECDED143AEBDA00D611B8 /* conference.c in Sources */ = {isa = PBXBuildFile; fileRef = 229ECDEC143AEBDA00D611B8 /* conference.c */; }; + 229ECDEF143AEC2400D611B8 /* audioconference.c in Sources */ = {isa = PBXBuildFile; fileRef = 229ECDEE143AEC2400D611B8 /* audioconference.c */; }; 22A10B5611F84E2D00373793 /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B4F11F84E2D00373793 /* config.h */; }; 22A10B5711F84E2D00373793 /* gsm.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5011F84E2D00373793 /* gsm.h */; }; 22A10B5811F84E2D00373793 /* private.h in Headers */ = {isa = PBXBuildFile; fileRef = 22A10B5211F84E2D00373793 /* private.h */; }; @@ -187,12 +211,24 @@ 22DD21B413A8E3310018ECD4 /* mediastreamViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 22DD21AD13A8E3310018ECD4 /* mediastreamViewController.m */; }; 22FC56A813CB69FB002FD0F1 /* qualityindicator.c in Sources */ = {isa = PBXBuildFile; fileRef = 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */; }; 22FC56AA13CB6A4F002FD0F1 /* bitratecontrol.c in Sources */ = {isa = PBXBuildFile; fileRef = 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */; }; + 7014533813FA7AEA00A01D86 /* opengles_display.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533513FA7AEA00A01D86 /* opengles_display.c */; }; + 7014533913FA7AEA00A01D86 /* opengles_display.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533613FA7AEA00A01D86 /* opengles_display.h */; }; + 7014533A13FA7AEA00A01D86 /* shaders.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533713FA7AEA00A01D86 /* shaders.c */; }; 7014533C13FA7ECA00A01D86 /* zrtp.h in Headers */ = {isa = PBXBuildFile; fileRef = 7014533B13FA7ECA00A01D86 /* zrtp.h */; }; 7014533E13FA841E00A01D86 /* zrtp.c in Sources */ = {isa = PBXBuildFile; fileRef = 7014533D13FA841E00A01D86 /* zrtp.c */; }; + 7066FC0713E82A3600EFC6DC /* vp8.c in Sources */ = {isa = PBXBuildFile; fileRef = 7066FC0613E82A3600EFC6DC /* vp8.c */; }; + 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 */; }; + 70E542FA13E14816002BA2C0 /* shaders.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F613E14816002BA2C0 /* shaders.h */; }; + 70E542FC13E14816002BA2C0 /* yuv2rgb.fs.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */; }; + 70E542FD13E14816002BA2C0 /* yuv2rgb.vs.h in Headers */ = {isa = PBXBuildFile; fileRef = 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */; }; AA747D9F0F9514B9006C5449 /* liblinphone_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */; }; AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; }; + F4D9F23F145710540035B0D0 /* netsim.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F23D145710540035B0D0 /* netsim.c */; }; + F4D9F240145710540035B0D0 /* ortp_srtp.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F23E145710540035B0D0 /* ortp_srtp.c */; }; + F4D9F26014583B580035B0D0 /* bitratedriver.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F25E14583B580035B0D0 /* bitratedriver.c */; }; + F4D9F26114583B580035B0D0 /* qosanalyzer.c in Sources */ = {isa = PBXBuildFile; fileRef = F4D9F25F14583B580035B0D0 /* qosanalyzer.c */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -206,6 +242,9 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ + 2203127013A247B40049A2ED /* iosdisplay.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = iosdisplay.h; sourceTree = ""; }; + 2203127113A247B40049A2ED /* iosdisplay.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = iosdisplay.m; sourceTree = ""; }; + 2203127413A249F70049A2ED /* filter-template.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = "filter-template.c"; sourceTree = ""; }; 220ED19713A8F87700AC21E0 /* libspeexdsp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeexdsp.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeexdsp.a"; sourceTree = ""; }; 220ED19813A8F87700AC21E0 /* libspeex.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libspeex.a; path = "../liblinphone-sdk/apple-darwin/lib/libspeex.a"; sourceTree = ""; }; 220ED19913A8F87700AC21E0 /* libortp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libortp.a; path = "../liblinphone-sdk/apple-darwin/lib/libortp.a"; sourceTree = ""; }; @@ -215,11 +254,20 @@ 220ED1A413A903E100AC21E0 /* AudioUnit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioUnit.framework; path = System/Library/Frameworks/AudioUnit.framework; sourceTree = SDKROOT; }; 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; }; 220ED1A813A9041800AC21E0 /* AVFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AVFoundation.framework; path = System/Library/Frameworks/AVFoundation.framework; sourceTree = SDKROOT; }; + 220ED1AA13A9062500AC21E0 /* nowebcam.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = nowebcam.h; sourceTree = ""; }; + 220ED1AB13A9062500AC21E0 /* nowebcam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = nowebcam.c; sourceTree = ""; }; 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreFoundation.framework; path = System/Library/Frameworks/CoreFoundation.framework; sourceTree = SDKROOT; }; + 221F589B13AB4FC500D603C9 /* msvideo.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msvideo.c; sourceTree = ""; }; 221F589D13AB503F00D603C9 /* CoreVideo.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreVideo.framework; path = System/Library/Frameworks/CoreVideo.framework; sourceTree = SDKROOT; }; 221F589F13AB50F800D603C9 /* CoreMedia.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreMedia.framework; path = System/Library/Frameworks/CoreMedia.framework; sourceTree = SDKROOT; }; + 221F58A113AB6F8000D603C9 /* pixconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = pixconv.c; sourceTree = ""; }; 221F58A313AB708C00D603C9 /* alldescs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = alldescs.h; path = build/iphone/alldescs.h; sourceTree = ""; }; 221F58A513AB716300D603C9 /* tonedetector.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = tonedetector.c; sourceTree = ""; }; + 221F58A613AB716300D603C9 /* jpegwriter.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = jpegwriter.c; sourceTree = ""; }; + 221F58A713AB716300D603C9 /* h264dec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = h264dec.c; sourceTree = ""; }; + 221F58AB13AB71A400D603C9 /* sizeconv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sizeconv.c; sourceTree = ""; }; + 221F58AD13ABA42800D603C9 /* scaler.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = scaler.c; sourceTree = ""; }; + 221F58E313AF44B300D603C9 /* scaler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = scaler.h; sourceTree = ""; }; 222CA5B911F6CF7600621220 /* .gitignore */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = .gitignore; sourceTree = ""; }; 222CA5BA11F6CF7600621220 /* Makefile.am */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.am; sourceTree = ""; }; 222CA5BB11F6CF7600621220 /* Makefile.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = Makefile.in; sourceTree = ""; }; @@ -264,6 +312,8 @@ 222CA5E811F6CF7600621220 /* dtmfgen.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = dtmfgen.c; sourceTree = ""; }; 222CA5EB11F6CF7600621220 /* equalizer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = equalizer.c; sourceTree = ""; }; 222CA5EC11F6CF7600621220 /* eventqueue.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = eventqueue.c; sourceTree = ""; }; + 222CA5ED11F6CF7600621220 /* extdisplay.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = extdisplay.c; sourceTree = ""; }; + 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "ffmpeg-priv.h"; sourceTree = ""; }; 222CA5EF11F6CF7600621220 /* g711common.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = g711common.h; sourceTree = ""; }; 222CA5F011F6CF7600621220 /* gsm.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = gsm.c; sourceTree = ""; }; 222CA5F211F6CF7600621220 /* ice.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ice.c; sourceTree = ""; }; @@ -313,6 +363,7 @@ 222CA6AE11F6CF9F00621220 /* rtpsession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsession.h; sourceTree = ""; }; 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = rtpsignaltable.h; sourceTree = ""; }; 222CA6B011F6CF9F00621220 /* sessionset.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sessionset.h; sourceTree = ""; }; + 222CA6B111F6CF9F00621220 /* srtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = srtp.h; sourceTree = ""; }; 222CA6B211F6CF9F00621220 /* str_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = str_utils.h; sourceTree = ""; }; 222CA6B311F6CF9F00621220 /* stun.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun.h; sourceTree = ""; }; 222CA6B411F6CF9F00621220 /* stun_udp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = stun_udp.h; sourceTree = ""; }; @@ -382,18 +433,29 @@ 222CA76211F6CFB100621220 /* siplogin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = siplogin.c; sourceTree = ""; }; 222CA76311F6CFB100621220 /* sipsetup.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = sipsetup.c; sourceTree = ""; }; 222CA76411F6CFB100621220 /* sipsetup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = sipsetup.h; sourceTree = ""; }; + 22313679143DED490035C1F4 /* msandroidvideo.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = msandroidvideo.cpp; sourceTree = ""; }; + 224AD571143208BB00510FF3 /* android-display.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "android-display.c"; path = "../../../../../../workspace-android/linphone-android/submodules/linphone/mediastreamer2/src/android-display.c"; sourceTree = ""; }; + 224AD57314320EB400510FF3 /* scaler_arm.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = scaler_arm.S; path = "../../../../../../workspace-android/linphone-android/submodules/linphone/mediastreamer2/src/scaler_arm.S"; sourceTree = ""; }; + 22512698145F13CE0041FBF2 /* aqsnd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aqsnd.c; sourceTree = ""; }; 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = "ec-calibrator.c"; path = "linphone/coreapi/ec-calibrator.c"; sourceTree = SOURCE_ROOT; }; - 225AA2DE144F0AA800BA809B /* libSKP_SILK_SDK.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libSKP_SILK_SDK.a; path = "../liblinphone-sdk/apple-darwin/lib/libSKP_SILK_SDK.a"; sourceTree = ""; }; - 225AA2E0144F1C6600BA809B /* bitratedriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratedriver.c; sourceTree = ""; }; - 225AA2E2144F1E3400BA809B /* qosanalyzer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qosanalyzer.c; sourceTree = ""; }; - 225AA2FC1451A95400BA809B /* conference.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = conference.c; sourceTree = ""; }; + 2258C44013A9377B0087A596 /* swscale.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = swscale.h; sourceTree = ""; }; + 2258C44213A945520087A596 /* libswscale.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libswscale.a; path = "../liblinphone-sdk/apple-darwin/lib/libswscale.a"; sourceTree = ""; }; + 2258C44313A945520087A596 /* libavutil.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavutil.a; path = "../liblinphone-sdk/apple-darwin/lib/libavutil.a"; sourceTree = ""; }; + 2258C44413A945520087A596 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = "../liblinphone-sdk/apple-darwin/lib/libavcodec.a"; sourceTree = ""; }; + 2258C44813A946890087A596 /* videostream.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videostream.c; sourceTree = ""; }; + 2258C44913A946890087A596 /* videoenc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videoenc.c; sourceTree = ""; }; + 2258C44A13A946890087A596 /* videodec.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = videodec.c; sourceTree = ""; }; 225D3559124B1FF60008581C /* linphonecall.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = linphonecall.c; sourceTree = ""; }; - 22985D9214643BEF005CA0B5 /* aqsnd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = aqsnd.c; sourceTree = ""; }; 229A614913DDFE3500090183 /* g722_decode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_decode.c; sourceTree = ""; }; 229A614A13DDFE3500090183 /* g722_encode.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = g722_encode.c; sourceTree = ""; }; 229A614B13DDFE3500090183 /* g722.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = g722.h; sourceTree = ""; }; 229A614C13DDFE3500090183 /* msg722.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msg722.c; sourceTree = ""; }; + 229A615113DEE8A400090183 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = "../liblinphone-sdk/apple-darwin/lib/libx264.a"; sourceTree = ""; }; + 229A615213DEE8A400090183 /* libmsx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libmsx264.a; path = "../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins/libmsx264.a"; sourceTree = ""; }; 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = linphonecore_utils.h; sourceTree = ""; }; + 229ECDEA143AEA6300D611B8 /* msvideo_neon.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = msvideo_neon.c; sourceTree = ""; }; + 229ECDEC143AEBDA00D611B8 /* conference.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = conference.c; sourceTree = ""; }; + 229ECDEE143AEC2400D611B8 /* audioconference.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = audioconference.c; sourceTree = ""; }; 22A10B4F11F84E2D00373793 /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = ""; }; 22A10B5011F84E2D00373793 /* gsm.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = gsm.h; sourceTree = ""; }; 22A10B5111F84E2D00373793 /* gsm.h.orig */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = gsm.h.orig; sourceTree = ""; }; @@ -403,6 +465,8 @@ 22A10B5511F84E2D00373793 /* unproto.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = unproto.h; sourceTree = ""; }; 22A10EE711F8920F00373793 /* mswebcam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = mswebcam.c; path = linphone/mediastreamer2/src/mswebcam.c; sourceTree = SOURCE_ROOT; }; 22B5106813AFD37B00CD87DA /* nowebcamCIF.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = nowebcamCIF.jpg; path = src/nowebcamCIF.jpg; sourceTree = ""; }; + 22D15AB3139F505400C7713A /* ioscapture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ioscapture.m; sourceTree = ""; }; + 22D15AB5139F579D00C7713A /* qtcapture.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = qtcapture.m; sourceTree = ""; }; 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; }; @@ -418,13 +482,25 @@ 22DD21AD13A8E3310018ECD4 /* mediastreamViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = mediastreamViewController.m; sourceTree = ""; }; 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qualityindicator.c; sourceTree = ""; }; 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratecontrol.c; sourceTree = ""; }; + 7014533513FA7AEA00A01D86 /* opengles_display.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = opengles_display.c; sourceTree = ""; }; + 7014533613FA7AEA00A01D86 /* opengles_display.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = opengles_display.h; sourceTree = ""; }; + 7014533713FA7AEA00A01D86 /* shaders.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = shaders.c; sourceTree = ""; }; 7014533B13FA7ECA00A01D86 /* zrtp.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = zrtp.h; sourceTree = ""; }; 7014533D13FA841E00A01D86 /* zrtp.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = zrtp.c; sourceTree = ""; }; + 7066FC0613E82A3600EFC6DC /* vp8.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = vp8.c; 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; }; 70E542F013E147CE002BA2C0 /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; }; + 70E542F613E14816002BA2C0 /* shaders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = shaders.h; sourceTree = ""; }; + 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yuv2rgb.fs.h; sourceTree = ""; }; + 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = yuv2rgb.vs.h; sourceTree = ""; }; AA747D9E0F9514B9006C5449 /* liblinphone_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = liblinphone_Prefix.pch; sourceTree = SOURCE_ROOT; }; AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; D2AAC07E0554694100DB518D /* liblinphone.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = liblinphone.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 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 = ""; }; + F4D9F25E14583B580035B0D0 /* bitratedriver.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = bitratedriver.c; sourceTree = ""; }; + F4D9F25F14583B580035B0D0 /* qosanalyzer.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = qosanalyzer.c; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -432,10 +508,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 225AA2DF144F0AA800BA809B /* libSKP_SILK_SDK.a in Frameworks */, + 7066FC0A13E830B800EFC6DC /* libvpx.a in Frameworks */, 70E542F113E147CE002BA2C0 /* QuartzCore.framework in Frameworks */, 70E542EE13E147C7002BA2C0 /* OpenGLES.framework in Frameworks */, + 229A615313DEE8A500090183 /* libx264.a in Frameworks */, + 229A615413DEE8A500090183 /* libmsx264.a in Frameworks */, 221F58A013AB50F800D603C9 /* CoreMedia.framework in Frameworks */, + 2258C44513A945520087A596 /* libswscale.a in Frameworks */, + 2258C44613A945520087A596 /* libavutil.a in Frameworks */, + 2258C44713A945520087A596 /* libavcodec.a in Frameworks */, 220ED1A913A9041800AC21E0 /* AVFoundation.framework in Frameworks */, 220ED1A713A9040700AC21E0 /* AudioToolbox.framework in Frameworks */, 220ED1A313A903BF00AC21E0 /* libgsm.a in Frameworks */, @@ -473,12 +554,17 @@ 0867D691FE84028FC02AAC07 /* liblinphone */ = { isa = PBXGroup; children = ( - 225AA2DE144F0AA800BA809B /* libSKP_SILK_SDK.a */, + 7066FC0913E830B800EFC6DC /* libvpx.a */, 70E542F013E147CE002BA2C0 /* QuartzCore.framework */, 70E542ED13E147C7002BA2C0 /* OpenGLES.framework */, + 229A615113DEE8A400090183 /* libx264.a */, + 229A615213DEE8A400090183 /* libmsx264.a */, 221F589F13AB50F800D603C9 /* CoreMedia.framework */, 221F589D13AB503F00D603C9 /* CoreVideo.framework */, 221F589913AB4EEE00D603C9 /* CoreFoundation.framework */, + 2258C44213A945520087A596 /* libswscale.a */, + 2258C44313A945520087A596 /* libavutil.a */, + 2258C44413A945520087A596 /* libavcodec.a */, 220ED1A813A9041800AC21E0 /* AVFoundation.framework */, 220ED1A613A9040700AC21E0 /* AudioToolbox.framework */, 220ED1A413A903E100AC21E0 /* AudioUnit.framework */, @@ -601,16 +687,42 @@ 222CA5DC11F6CF7600621220 /* src */ = { isa = PBXGroup; children = ( - 22985D9214643BEF005CA0B5 /* aqsnd.c */, - 225AA2E2144F1E3400BA809B /* qosanalyzer.c */, - 225AA2E0144F1C6600BA809B /* bitratedriver.c */, + 22512698145F13CE0041FBF2 /* aqsnd.c */, + F4D9F25E14583B580035B0D0 /* bitratedriver.c */, + F4D9F25F14583B580035B0D0 /* qosanalyzer.c */, + 22313679143DED490035C1F4 /* msandroidvideo.cpp */, + 229ECDEE143AEC2400D611B8 /* audioconference.c */, + 229ECDEA143AEA6300D611B8 /* msvideo_neon.c */, + 224AD57314320EB400510FF3 /* scaler_arm.S */, + 224AD571143208BB00510FF3 /* android-display.c */, + 7014533513FA7AEA00A01D86 /* opengles_display.c */, + 7014533613FA7AEA00A01D86 /* opengles_display.h */, + 7014533713FA7AEA00A01D86 /* shaders.c */, + 7066FC0613E82A3600EFC6DC /* vp8.c */, + 70E542F613E14816002BA2C0 /* shaders.h */, + 70E542F813E14816002BA2C0 /* yuv2rgb.fs.h */, + 70E542F913E14816002BA2C0 /* yuv2rgb.vs.h */, 229A614913DDFE3500090183 /* g722_decode.c */, 229A614A13DDFE3500090183 /* g722_encode.c */, 229A614B13DDFE3500090183 /* g722.h */, 229A614C13DDFE3500090183 /* msg722.c */, 22FC56A913CB6A4F002FD0F1 /* bitratecontrol.c */, 22FC56A713CB69FA002FD0F1 /* qualityindicator.c */, + 221F58AD13ABA42800D603C9 /* scaler.c */, + 221F58AB13AB71A400D603C9 /* sizeconv.c */, 221F58A513AB716300D603C9 /* tonedetector.c */, + 221F58A613AB716300D603C9 /* jpegwriter.c */, + 221F58A713AB716300D603C9 /* h264dec.c */, + 221F58A113AB6F8000D603C9 /* pixconv.c */, + 221F589B13AB4FC500D603C9 /* msvideo.c */, + 2258C44813A946890087A596 /* videostream.c */, + 2258C44913A946890087A596 /* videoenc.c */, + 2258C44A13A946890087A596 /* videodec.c */, + 2258C44013A9377B0087A596 /* swscale.h */, + 220ED1AA13A9062500AC21E0 /* nowebcam.h */, + 220ED1AB13A9062500AC21E0 /* nowebcam.c */, + 22D15AB5139F579D00C7713A /* qtcapture.m */, + 22D15AB3139F505400C7713A /* ioscapture.m */, 2252935A12F6CA4700DD9BFB /* ec-calibrator.c */, 222CA5DD11F6CF7600621220 /* .gitignore */, 222CA5DE11F6CF7600621220 /* _kiss_fft_guts.h */, @@ -622,6 +734,8 @@ 222CA5E811F6CF7600621220 /* dtmfgen.c */, 222CA5EB11F6CF7600621220 /* equalizer.c */, 222CA5EC11F6CF7600621220 /* eventqueue.c */, + 222CA5ED11F6CF7600621220 /* extdisplay.c */, + 222CA5EE11F6CF7600621220 /* ffmpeg-priv.h */, 222CA5EF11F6CF7600621220 /* g711common.h */, 222CA5F011F6CF7600621220 /* gsm.c */, 222CA5F211F6CF7600621220 /* ice.c */, @@ -655,6 +769,10 @@ 222CA62311F6CF7600621220 /* ulaw.c */, 222CA62411F6CF7600621220 /* vfw-missing.h */, 222CA62911F6CF7600621220 /* void.c */, + 2203127013A247B40049A2ED /* iosdisplay.h */, + 2203127113A247B40049A2ED /* iosdisplay.m */, + 2203127413A249F70049A2ED /* filter-template.c */, + 221F58E313AF44B300D603C9 /* scaler.h */, ); path = src; sourceTree = ""; @@ -687,6 +805,7 @@ 222CA6AE11F6CF9F00621220 /* rtpsession.h */, 222CA6AF11F6CF9F00621220 /* rtpsignaltable.h */, 222CA6B011F6CF9F00621220 /* sessionset.h */, + 222CA6B111F6CF9F00621220 /* srtp.h */, 222CA6B211F6CF9F00621220 /* str_utils.h */, 222CA6B311F6CF9F00621220 /* stun.h */, 222CA6B411F6CF9F00621220 /* stun_udp.h */, @@ -698,6 +817,8 @@ 222CA6B611F6CF9F00621220 /* src */ = { isa = PBXGroup; children = ( + F4D9F23D145710540035B0D0 /* netsim.c */, + F4D9F23E145710540035B0D0 /* ortp_srtp.c */, 7014533D13FA841E00A01D86 /* zrtp.c */, 222CA6B711F6CF9F00621220 /* .gitignore */, 222CA6B811F6CF9F00621220 /* avprofile.c */, @@ -739,7 +860,7 @@ 222CA72D11F6CFB100621220 /* coreapi */ = { isa = PBXGroup; children = ( - 225AA2FC1451A95400BA809B /* conference.c */, + 229ECDEC143AEBDA00D611B8 /* conference.c */, 229B9D5813043EAB00EFCD1C /* linphonecore_utils.h */, 225D3559124B1FF60008581C /* linphonecall.c */, 22A10EE711F8920F00373793 /* mswebcam.c */, @@ -888,6 +1009,7 @@ 222CA64C11F6CF7600621220 /* rfc3984.h in Headers */, 222CA64D11F6CF7600621220 /* waveheader.h in Headers */, 222CA64E11F6CF7600621220 /* _kiss_fft_guts.h in Headers */, + 222CA65E11F6CF7600621220 /* ffmpeg-priv.h in Headers */, 222CA65F11F6CF7600621220 /* g711common.h in Headers */, 222CA66511F6CF7600621220 /* kiss_fft.h in Headers */, 222CA66711F6CF7600621220 /* kiss_fftr.h in Headers */, @@ -903,6 +1025,7 @@ 222CA6FB11F6CF9F00621220 /* rtpsession.h in Headers */, 222CA6FC11F6CF9F00621220 /* rtpsignaltable.h in Headers */, 222CA6FD11F6CF9F00621220 /* sessionset.h in Headers */, + 222CA6FE11F6CF9F00621220 /* srtp.h in Headers */, 222CA6FF11F6CF9F00621220 /* str_utils.h in Headers */, 222CA70011F6CF9F00621220 /* stun.h in Headers */, 222CA70111F6CF9F00621220 /* stun_udp.h in Headers */, @@ -928,8 +1051,16 @@ 22A10B5A11F84E2D00373793 /* toast.h in Headers */, 22A10B5B11F84E2D00373793 /* unproto.h in Headers */, 229B9D5913043EAB00EFCD1C /* linphonecore_utils.h in Headers */, + 2203127213A247B50049A2ED /* iosdisplay.h in Headers */, + 220ED1AC13A9062600AC21E0 /* nowebcam.h in Headers */, + 2258C44113A9377B0087A596 /* swscale.h in Headers */, 221F58A413AB708C00D603C9 /* alldescs.h in Headers */, + 221F58E413AF44B300D603C9 /* scaler.h in Headers */, 229A614F13DDFE3500090183 /* g722.h in Headers */, + 70E542FA13E14816002BA2C0 /* shaders.h in Headers */, + 70E542FC13E14816002BA2C0 /* yuv2rgb.fs.h in Headers */, + 70E542FD13E14816002BA2C0 /* yuv2rgb.vs.h in Headers */, + 7014533913FA7AEA00A01D86 /* opengles_display.h in Headers */, 7014533C13FA7ECA00A01D86 /* zrtp.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1037,6 +1168,7 @@ 222CA65811F6CF7600621220 /* dtmfgen.c in Sources */, 222CA65B11F6CF7600621220 /* equalizer.c in Sources */, 222CA65C11F6CF7600621220 /* eventqueue.c in Sources */, + 222CA65D11F6CF7600621220 /* extdisplay.c in Sources */, 222CA66011F6CF7600621220 /* gsm.c in Sources */, 222CA66211F6CF7600621220 /* ice.c in Sources */, 222CA66311F6CF7600621220 /* itc.c in Sources */, @@ -1106,17 +1238,37 @@ 22A10EE811F8920F00373793 /* mswebcam.c in Sources */, 225D355A124B1FF60008581C /* linphonecall.c in Sources */, 2252935B12F6CA4700DD9BFB /* ec-calibrator.c in Sources */, + 2203126F139F61990049A2ED /* ioscapture.m in Sources */, + 2203127313A247B50049A2ED /* iosdisplay.m in Sources */, + 2203127613A249F70049A2ED /* filter-template.c in Sources */, + 220ED1AD13A9062600AC21E0 /* nowebcam.c in Sources */, + 2258C44B13A946890087A596 /* videostream.c in Sources */, + 2258C44C13A946890087A596 /* videoenc.c in Sources */, + 2258C44D13A946890087A596 /* videodec.c in Sources */, + 221F589C13AB4FC500D603C9 /* msvideo.c in Sources */, + 221F58A213AB6F8100D603C9 /* pixconv.c in Sources */, 221F58A813AB716400D603C9 /* tonedetector.c in Sources */, + 221F58A913AB716400D603C9 /* jpegwriter.c in Sources */, + 221F58AA13AB716400D603C9 /* h264dec.c in Sources */, + 221F58AC13AB71A400D603C9 /* sizeconv.c in Sources */, + 221F58AE13ABA42800D603C9 /* scaler.c in Sources */, 22FC56A813CB69FB002FD0F1 /* qualityindicator.c in Sources */, 22FC56AA13CB6A4F002FD0F1 /* bitratecontrol.c in Sources */, 229A614D13DDFE3500090183 /* g722_decode.c in Sources */, 229A614E13DDFE3500090183 /* g722_encode.c in Sources */, 229A615013DDFE3500090183 /* msg722.c in Sources */, + 7066FC0713E82A3600EFC6DC /* vp8.c in Sources */, + 7014533813FA7AEA00A01D86 /* opengles_display.c in Sources */, + 7014533A13FA7AEA00A01D86 /* shaders.c in Sources */, 7014533E13FA841E00A01D86 /* zrtp.c in Sources */, - 225AA2E1144F1C6600BA809B /* bitratedriver.c in Sources */, - 225AA2E3144F1E3400BA809B /* qosanalyzer.c in Sources */, - 225AA2FD1451A95400BA809B /* conference.c in Sources */, - 22985D9314643BEF005CA0B5 /* aqsnd.c in Sources */, + 229ECDEB143AEA6300D611B8 /* msvideo_neon.c in Sources */, + 229ECDED143AEBDA00D611B8 /* conference.c in Sources */, + 229ECDEF143AEC2400D611B8 /* audioconference.c in Sources */, + F4D9F23F145710540035B0D0 /* netsim.c in Sources */, + F4D9F240145710540035B0D0 /* ortp_srtp.c in Sources */, + F4D9F26014583B580035B0D0 /* bitratedriver.c in Sources */, + F4D9F26114583B580035B0D0 /* qosanalyzer.c in Sources */, + 22512699145F13CE0041FBF2 /* aqsnd.c in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1162,10 +1314,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; COPY_PHASE_STRIP = NO; DSTROOT = /tmp/liblinphone.dst; GCC_DYNAMIC_NO_PIC = NO; @@ -1175,7 +1324,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = liblinphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( - __MAC_AQ_ENABLED__, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1189,9 +1337,12 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - "PACKAGE_DATA_DIR=\\\"\\\"", + __MAC_AQ_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1205,12 +1356,11 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include/silk", + "../liblinphone-sdk/apple-darwin/include", ); INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; - USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; + SKIP_INSTALL = YES; }; name = Debug; }; @@ -1218,16 +1368,12 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; DSTROOT = /tmp/liblinphone.dst; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = liblinphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( - __MAC_AQ_ENABLED__, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1241,9 +1387,12 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - "PACKAGE_DATA_DIR=\\\"\\\"", + __MAC_AQ_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1257,12 +1406,11 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include/silk", + "../liblinphone-sdk/apple-darwin/include", ); INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; - USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; + SKIP_INSTALL = YES; }; name = Release; }; @@ -1396,16 +1544,12 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); + ARCHS = "$(ARCHS_STANDARD_32_BIT)"; DSTROOT = /tmp/liblinphone.dst; GCC_MODEL_TUNING = G5; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = liblinphone_Prefix.pch; GCC_PREPROCESSOR_DEFINITIONS = ( - __MAC_AQ_ENABLED__, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1419,9 +1563,12 @@ "PACKAGE=\\\"ortp\\\"", "POSIXTIMER_INTERVAL=10000", IN_LINPHONE, - "PACKAGE_DATA_DIR=\\\"\\\"", + __MAC_AQ_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, TARGET_OS_IPHONE, ); GCC_UNROLL_LOOPS = NO; @@ -1435,12 +1582,11 @@ externals/speex/include, externals/ffmpeg, external/ffmpeg/swscale, - "../liblinphone-sdk/apple-darwin/include/silk", + "../liblinphone-sdk/apple-darwin/include", ); INSTALL_PATH = /usr/local/lib; - IPHONEOS_DEPLOYMENT_TARGET = 3.1; PRODUCT_NAME = linphone; - USER_HEADER_SEARCH_PATHS = "linphone/mediastreamer2/build/iphone linphone/mediastreamer2/include linphone/oRTP/include externals/gsm/ externals/osip/include externals/exosip/include externals/speex/include externals/ffmpeg external/ffmpeg/swscale ../liblinphone-sdk/apple-darwin/include/"; + SKIP_INSTALL = YES; }; name = DistributionAdhoc; }; @@ -1448,17 +1594,12 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( - HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1475,6 +1616,10 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, + HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -1488,6 +1633,7 @@ ); OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; }; @@ -1497,10 +1643,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; GCC_C_LANGUAGE_STANDARD = gnu99; @@ -1508,7 +1650,6 @@ GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( - HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1525,6 +1666,10 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, + HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -1537,6 +1682,7 @@ "\"$(SRCROOT)/../liblinphone-sdk/apple-darwin/lib/mediastreamer/plugins\"", ); PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; WRAPPER_EXTENSION = app; }; name = Debug; @@ -1545,17 +1691,12 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; - ARCHS = ( - "$(ARCHS_STANDARD_32_BIT)", - armv6, - ); "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_PRECOMPILE_PREFIX_HEADER = YES; GCC_PREFIX_HEADER = "linphone/mediastreamer2/tests/ios/mediastream-Prefix.pch"; GCC_PREPROCESSOR_DEFINITIONS = ( - HAVE_SILK, "_BYTE_ORDER=_LITTLE_ENDIAN", ORTP_INET6, ENABLE_TRACE, @@ -1572,6 +1713,10 @@ __IOSIOUNIT_ENABLED__, HAVE_EXOSIP_GET_SOCKET, MS2_INTERNAL, + VIDEO_ENABLED, + HAVE_LIBAVCODEC_AVCODEC_H, + HAVE_LIBSWSCALE_SWSCALE_H, + HAVE_X264, "TARGET_OS_IPHONE=1", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; @@ -1585,6 +1730,7 @@ ); OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1"; PRODUCT_NAME = "$(TARGET_NAME)"; + SKIP_INSTALL = YES; VALIDATE_PRODUCT = YES; WRAPPER_EXTENSION = app; }; diff --git a/submodules/linphone b/submodules/linphone index f13744a76..ce510f9d1 160000 --- a/submodules/linphone +++ b/submodules/linphone @@ -1 +1 @@ -Subproject commit f13744a765200961c74617c12295d04640a74f05 +Subproject commit ce510f9d1fa8d66aabcca308f0d2a9174f68acd4 diff --git a/submodules/msx264 b/submodules/msx264 new file mode 160000 index 000000000..6ba1b8699 --- /dev/null +++ b/submodules/msx264 @@ -0,0 +1 @@ +Subproject commit 6ba1b86990d60f1a29d11a4e0cdd71d7b6b1b5bf