diff --git a/Classes/InCallViewController-ipad.xib b/Classes/InCallViewController-ipad.xib
index 5eafb957e..517f2cf6f 100644
--- a/Classes/InCallViewController-ipad.xib
+++ b/Classes/InCallViewController-ipad.xib
@@ -39,33 +39,9 @@
274
-
- -2147483374
+ 274
@@ -73,7 +49,7 @@
{768, 1024}
-
+
_NS:569
NO
IBIPadFramework
@@ -99,51 +75,12 @@
3
MQA
-
+
+ 2
+
IBIPadFramework
-
-
- 292
- {{0, 962}, {108, 62}}
-
-
-
- NO
- IBIPadFramework
- 0
- 0
- 1
- switch
-
- 3
- MQA
-
-
- 1
- MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA
-
-
- 3
- MC41AA
-
-
- NSImage
- clavier-01-108px.png
-
-
- Helvetica-Bold
- Helvetica
- 2
- 15
-
-
- Helvetica-Bold
- 15
- 16
-
-
{768, 1024}
@@ -156,6 +93,69 @@
IBIPadFramework
+
+
+ 292
+ {{224, 740}, {320, 66}}
+
+
+
+ NO
+ IBIPadFramework
+ 0
+ 0
+ 1
+ Change camera
+
+ 3
+ MQA
+
+
+ 1
+ MC4xOTYwNzg0MzQ2IDAuMzA5ODAzOTMyOSAwLjUyMTU2ODY1NgA
+
+
+ 3
+ MC41AA
+
+
+ NSImage
+ clavier-01-108px.png
+
+
+ Helvetica-Bold
+ Helvetica
+ 2
+ 15
+
+
+ Helvetica-Bold
+ 15
+ 16
+
+
+
+
+ 274
+ {768, 805}
+
+
+
+ _NS:408
+
+ 3
+ MSAwAA
+
+
+ YES
+ IBIPadFramework
+ YES
+ 0
+ YES
+ 80
+ 22
+ 22
+
292
@@ -475,7 +475,7 @@
{{119, 251}, {82, 52}}
-
+
NO
NO
@@ -1048,6 +1048,14 @@
163
+
+
+ videoCameraSwitch
+
+
+
+ 164
+
dataSource
@@ -1126,8 +1134,9 @@
-
+
+
@@ -1319,7 +1328,6 @@
-
@@ -1337,17 +1345,17 @@
video_view
-
- 154
-
-
-
153
call_quality_video
+
+ 154
+
+
+
@@ -1416,7 +1424,7 @@
- 163
+ 164
@@ -1462,6 +1470,7 @@
UIButton
UIButton
UIImageView
+ UICamSwitch
UIView
UIView
UIView
@@ -1577,6 +1586,10 @@
videoCallQuality
UIImageView
+
+ videoCameraSwitch
+ UICamSwitch
+
videoGroup
UIView
diff --git a/Classes/IncallViewController.h b/Classes/IncallViewController.h
index 696937041..e3d57e1c7 100644
--- a/Classes/IncallViewController.h
+++ b/Classes/IncallViewController.h
@@ -62,6 +62,7 @@
UIView* videoView;
UIView* videoPreview;
UIImageView* videoCallQuality;
+ UICamSwitch* videoCameraSwitch;
bool dismissed;
@@ -131,4 +132,5 @@
@property (nonatomic, retain) IBOutlet UIView* videoView;
@property (nonatomic, retain) IBOutlet UIView* videoPreview;
@property (nonatomic, retain) IBOutlet UIImageView* videoCallQuality;
+@property (nonatomic, retain) IBOutlet UICamSwitch* videoCameraSwitch;
@end
diff --git a/Classes/IncallViewController.m b/Classes/IncallViewController.m
index 12098d3b0..f4c0d7d0f 100644
--- a/Classes/IncallViewController.m
+++ b/Classes/IncallViewController.m
@@ -71,6 +71,7 @@ const NSInteger SECURE_BUTTON_TAG=5;
@synthesize videoView;
@synthesize videoPreview;
@synthesize videoCallQuality;
+@synthesize videoCameraSwitch;
@synthesize addVideo;
@@ -183,6 +184,10 @@ void addAnimationFadeTransition(UIView* view, float duration) {
[UIView setAnimationDuration:0.3];
[controlSubView setAlpha:1.0];
[hangUpView setAlpha:1.0];
+ if ([LinphoneManager instance].frontCamId !=nil ) {
+ // only show camera switch button if we have more than 1 camera
+ [videoCameraSwitch setAlpha:1.0];
+ }
[UIView commitAnimations];
// hide controls in 5 sec
@@ -194,6 +199,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
[UIView setAnimationDuration:0.3];
[controlSubView setAlpha:0.0];
[hangUpView setAlpha:0.0];
+ [videoCameraSwitch setAlpha:0.0];
[UIView commitAnimations];
hideControlsTimer = nil;
@@ -232,6 +238,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
[controlSubView setAlpha:1.0];
[hangUpView setAlpha:1.0];
[callTableView setAlpha:1.0];
+ [videoCameraSwitch setAlpha:0.0];
[UIView commitAnimations];
if (hideControlsTimer != nil) {
@@ -376,7 +383,7 @@ void addAnimationFadeTransition(UIView* view, float duration) {
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(orientationChanged:) name:UIDeviceOrientationDidChangeNotification object:nil];
-
+ [videoCameraSwitch setPreview:videoPreview];
}
-(void) addCallPressed {
diff --git a/Classes/IncallViewController.xib b/Classes/IncallViewController.xib
index 35234f6ba..ef6e7df9a 100644
--- a/Classes/IncallViewController.xib
+++ b/Classes/IncallViewController.xib
@@ -12,11 +12,11 @@
YES
- IBUIImageView
- IBUIViewController
- IBUIButton
- IBUIView
IBUITableView
+ IBUIViewController
+ IBUIImageView
+ IBUIView
+ IBUIButton
IBProxyObject
@@ -54,7 +54,7 @@
{320, 480}
-
+
_NS:196
3
@@ -78,7 +78,7 @@
IBCocoaTouchFramework
-
+
292
{{4, 428}, {28, 28}}
@@ -99,6 +99,52 @@
NO
IBCocoaTouchFramework
+
+
+ 292
+ {320, 66}
+
+
+
+
+ 1
+ MSAwIDAuMDgyMzIwMjU5MDQgMC4xOAA
+
+ NO
+ NO
+ 0.0
+ IBCocoaTouchFramework
+ 0
+ 0
+ Change camera
+
+ 3
+ MQA
+
+
+ 1
+ MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA
+
+
+ 3
+ MC41AA
+
+
+ NSImage
+ clavier-01-106px.png
+
+
+ Helvetica-Bold
+ Helvetica
+ 2
+ 15
+
+
+ Helvetica-Bold
+ 15
+ 16
+
+
274
@@ -139,37 +185,19 @@
IBCocoaTouchFramework
0
0
-
- 3
- MQA
-
+
1
MC4xOTYwNzg0MyAwLjMwOTgwMzkzIDAuNTIxNTY4NjYAA
-
- 3
- MC41AA
-
+
NSImage
stopcall-red.png
-
- NSImage
- clavier-01-106px.png
-
-
- Helvetica-Bold
- Helvetica
- 2
- 15
-
-
- Helvetica-Bold
- 15
- 16
-
+
+
+
{{0, 393.5}, {320, 77}}
@@ -456,7 +484,7 @@
{{119, 251}, {82, 52}}
-
+
NO
NO
@@ -471,7 +499,7 @@
-
+
@@ -494,7 +522,7 @@
-
+
@@ -517,7 +545,7 @@
-
+
@@ -537,7 +565,7 @@
-
+
@@ -560,7 +588,7 @@
-
+
@@ -583,7 +611,7 @@
-
+
@@ -606,7 +634,7 @@
-
+
@@ -629,7 +657,7 @@
-
+
@@ -652,7 +680,7 @@
-
+
@@ -675,7 +703,7 @@
-
+
@@ -698,7 +726,7 @@
-
+
@@ -721,7 +749,7 @@
-
+
@@ -744,7 +772,7 @@
-
+
{{0, 71}, {320, 310}}
@@ -782,219 +810,11 @@
YES
- view
+ videoCallQuality
-
+
- 23
-
-
-
- endCtrl
-
-
-
- 99
-
-
-
- star
-
-
-
- 56
-
-
-
- two
-
-
-
- 59
-
-
-
- one
-
-
-
- 54
-
-
-
- four
-
-
-
- 67
-
-
-
- hash
-
-
-
- 57
-
-
-
- nine
-
-
-
- 58
-
-
-
- padSubView
-
-
-
- 45
-
-
-
- zero
-
-
-
- 55
-
-
-
- seven
-
-
-
- 73
-
-
-
- three
-
-
-
- 60
-
-
-
- close
-
-
-
- 51
-
-
-
- six
-
-
-
- 71
-
-
-
- five
-
-
-
- 69
-
-
-
- hangUpView
-
-
-
- 122
-
-
-
- callTableView
-
-
-
- 109
-
-
-
- controlSubView
-
-
-
- 44
-
-
-
- mute
-
-
-
- 80
-
-
-
- addCall
-
-
-
- 112
-
-
-
- dialer
-
-
-
- 49
-
-
-
- pause
-
-
-
- 115
-
-
-
- speaker
-
-
-
- 82
-
-
-
- contacts
-
-
-
- 84
-
-
-
- mergeCalls
-
-
-
- 114
-
-
-
- addVideo
-
-
-
- 125
-
-
-
- videoGroup
-
-
-
- 129
+ 138
@@ -1012,6 +832,174 @@
133
+
+
+ videoGroup
+
+
+
+ 129
+
+
+
+ addVideo
+
+
+
+ 125
+
+
+
+ mergeCalls
+
+
+
+ 114
+
+
+
+ mute
+
+
+
+ 80
+
+
+
+ addCall
+
+
+
+ 112
+
+
+
+ contacts
+
+
+
+ 84
+
+
+
+ dialer
+
+
+
+ 49
+
+
+
+ speaker
+
+
+
+ 82
+
+
+
+ pause
+
+
+
+ 115
+
+
+
+ controlSubView
+
+
+
+ 44
+
+
+
+ callTableView
+
+
+
+ 109
+
+
+
+ five
+
+
+
+ 69
+
+
+
+ nine
+
+
+
+ 58
+
+
+
+ seven
+
+
+
+ 73
+
+
+
+ six
+
+
+
+ 71
+
+
+
+ four
+
+
+
+ 67
+
+
+
+ three
+
+
+
+ 60
+
+
+
+ zero
+
+
+
+ 55
+
+
+
+ two
+
+
+
+ 59
+
+
+
+ close
+
+
+
+ 51
+
+
+
+ hash
+
+
+
+ 57
+
eight
@@ -1022,11 +1010,59 @@
- videoCallQuality
+ one
-
+
- 138
+ 54
+
+
+
+ star
+
+
+
+ 56
+
+
+
+ padSubView
+
+
+
+ 45
+
+
+
+ endCtrl
+
+
+
+ 99
+
+
+
+ hangUpView
+
+
+
+ 122
+
+
+
+ view
+
+
+
+ 23
+
+
+
+ videoCameraSwitch
+
+
+
+ 141
@@ -1113,24 +1149,109 @@
+
- 120
-
+ 126
+
YES
-
+
+
+
- hangupview
+ video
- 18
-
-
- end
+ 137
+
+
+ videocallquality
+
+
+ 127
+
+
+ preview
+
+
+ 132
+
+
+ display
+
+
+ 26
+
+
+ YES
+
+
+
+
+
+
+
+
+
+
+ controls
+
+
+ 123
+
+
+ video
+
+
+ 104
+
+
+ merge
+
+
+ 16
+
+
+ mute
+
+
+ 111
+
+
+ addcall
+
+
+ 15
+
+
+ contacts
+
+
+ 17
+
+
+ dialer
+
+
+ 13
+
+
+ speaker
+
+
+ 113
+
+
+ pauseresume
+
+
+ 106
+
+
27
@@ -1154,72 +1275,12 @@
pad
-
- 31
-
-
- star
-
-
- 30
-
-
- 1
-
-
- 40
-
-
- hash
-
36
5
-
- 29
-
-
- close
-
-
- 39
-
-
- 2
-
-
- 41
-
-
- 0
-
-
- 38
-
-
- 3
-
-
- 35
-
-
- 4
-
-
- 37
-
-
- 6
-
-
- 34
-
-
- 7
-
32
@@ -1227,107 +1288,52 @@
9
- 106
-
-
+ 34
+
+
+ 7
- 26
-
-
- YES
-
-
-
-
-
-
-
-
-
-
- controls
+ 37
+
+
+ 6
- 113
-
-
- pauseresume
+ 35
+
+
+ 4
- 13
-
-
- speaker
+ 38
+
+
+ 3
- 17
-
-
- dialer
+ 41
+
+
+ 0
- 15
-
-
- contacts
+ 39
+
+
+ 2
- 111
-
-
- addcall
+ 29
+
+
+ close
- 16
-
-
- mute
-
-
- 104
-
-
- merge
-
-
- 123
-
-
- video
-
-
- 126
-
-
- YES
-
-
-
-
-
- video
-
-
- 127
-
-
- YES
-
-
- preview
-
-
- 132
-
-
- display
-
-
- 137
-
-
- videocallquality
+ 40
+
+
+ hash
33
@@ -1335,6 +1341,40 @@
8
+
+ 30
+
+
+ 1
+
+
+ 31
+
+
+ star
+
+
+ 120
+
+
+ YES
+
+
+
+ hangupview
+
+
+ 18
+
+
+ end
+
+
+ 140
+
+
+ camswitch
+
@@ -1363,6 +1403,8 @@
13.IBUIButtonInspectorSelectedStateConfigurationMetadataKey
132.IBPluginDependency
137.IBPluginDependency
+ 140.CustomClassName
+ 140.IBPluginDependency
15.IBPluginDependency
16.CustomClassName
16.IBPluginDependency
@@ -1425,6 +1467,8 @@
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
+ UICamSwitch
+ com.apple.InterfaceBuilder.IBCocoaTouchPlugin
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
UIMuteButton
com.apple.InterfaceBuilder.IBCocoaTouchPlugin
@@ -1476,7 +1520,7 @@
- 138
+ 141
@@ -1526,6 +1570,7 @@
three
two
videoCallQuality
+ videoCameraSwitch
videoGroup
videoPreview
videoView
@@ -1561,6 +1606,7 @@
UIButton
UIButton
UIImageView
+ UICamSwitch
UIView
UIView
UIView
@@ -1599,6 +1645,7 @@
three
two
videoCallQuality
+ videoCameraSwitch
videoGroup
videoPreview
videoView
@@ -1715,6 +1762,10 @@
videoCallQuality
UIImageView
+
+ videoCameraSwitch
+ UICamSwitch
+
videoGroup
UIView
diff --git a/Classes/LinphoneUI/UICamSwitch.m b/Classes/LinphoneUI/UICamSwitch.m
index 45c208c4d..aa0f5e51d 100644
--- a/Classes/LinphoneUI/UICamSwitch.m
+++ b/Classes/LinphoneUI/UICamSwitch.m
@@ -25,7 +25,7 @@
@synthesize preview;
-(void) touchUp:(id) sender {
if (nextCamId!=currentCamId) {
- ms_message("Swithcing from [%s] to [%s]",currentCamId,nextCamId);
+ ms_message("Switching from [%s] to [%s]",currentCamId,nextCamId);
linphone_core_set_video_device([LinphoneManager getLc], nextCamId);
nextCamId=currentCamId;
currentCamId = linphone_core_get_video_device([LinphoneManager getLc]);
diff --git a/submodules/linphone b/submodules/linphone
index 933c931a0..058d6b297 160000
--- a/submodules/linphone
+++ b/submodules/linphone
@@ -1 +1 @@
-Subproject commit 933c931a0cd928e74bece7807099f38583d42a3c
+Subproject commit 058d6b2972138f8d2b3eb945fca19980544a1f12