diff --git a/bigbluebutton-client/branding/default/style/css/BBBDefault.css b/bigbluebutton-client/branding/default/style/css/BBBDefault.css
index 2b9bc55fd5..1f08c11c1c 100755
--- a/bigbluebutton-client/branding/default/style/css/BBBDefault.css
+++ b/bigbluebutton-client/branding/default/style/css/BBBDefault.css
@@ -529,7 +529,7 @@ TitleWindow {
.micSettingsWindowHearFromHeadsetLabelStyle, .micSettingsWindowSpeakIntoMicLabelStyle, .micSettingsWindowMicNameLabelStyle, .webcamPermissionSettingsTextStyle {
fontFamily: Arial;
- fontSize: 12;
+ fontSize: 14;
}
.micSettingsWindowPlaySoundButtonStyle, .micSettingsWindowChangeMicButtonStyle {
@@ -883,4 +883,12 @@ PollChoicesModal {
fontSize: 14;
paddingLeft: 16;
paddingRight: 16;
+}
+
+.chatOptionsLabel {
+ fontSize: 12;
+ color: #000000;
+ textRollOverColor: #000000;
+ textSelectedColor: #000000;
+ fontFamily: Arial;
}
diff --git a/bigbluebutton-client/locale/en_US/bbbResources.properties b/bigbluebutton-client/locale/en_US/bbbResources.properties
index f0592da75c..bc98fe2771 100755
--- a/bigbluebutton-client/locale/en_US/bbbResources.properties
+++ b/bigbluebutton-client/locale/en_US/bbbResources.properties
@@ -75,6 +75,7 @@ bbb.webrtcWarning.failedError.1006 = Error 1006: Call timed out
bbb.webrtcWarning.failedError.1007 = Error 1007: ICE negotiation failed
bbb.webrtcWarning.failedError.1008 = Error 1008: Transfer failed
bbb.webrtcWarning.failedError.1009 = Error 1009: Could not fetch STUN/TURN server information
+bbb.webrtcWarning.failedError.1010 = Error 1010: ICE negotiation timeout
bbb.webrtcWarning.failedError.unknown = Error {0}: Unknown error code
bbb.webrtcWarning.failedError.mediamissing = Could not get your microphone for a WebRTC call
bbb.webrtcWarning.failedError.endedunexpectedly = The WebRTC echo test ended unexpectedly
diff --git a/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js b/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
index 782e3c5f9f..884026f2e4 100755
--- a/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
+++ b/bigbluebutton-client/resources/prod/lib/bbb_webrtc_bridge_sip.js
@@ -1,5 +1,5 @@
-var userID, callerIdName, conferenceVoiceBridge, userAgent=null, userMicMedia, userWebcamMedia, currentSession=null, callTimeout, callActive, callICEConnected, callFailCounter, callPurposefullyEnded, uaConnected, transferTimeout;
+var userID, callerIdName, conferenceVoiceBridge, userAgent=null, userMicMedia, userWebcamMedia, currentSession=null, callTimeout, callActive, callICEConnected, iceConnectedTimeout, callFailCounter, callPurposefullyEnded, uaConnected, transferTimeout;
var inEchoTest = true;
function webRTCCallback(message) {
@@ -419,6 +419,17 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly
callback({'status':'started'});
} else {
callback({'status':'waitingforice'});
+ console.log('Waiting for ICE negotiation');
+ iceConnectedTimeout = setTimeout(function() {
+ console.log('60 seconds without ICE finishing');
+ callback({'status':'failed', 'errorcode': 1010}); // Failure on call
+ currentSession = null;
+ if (userAgent != null) {
+ var userAgentTemp = userAgent;
+ userAgent = null;
+ userAgentTemp.stop();
+ }
+ }, 60000);
}
clearTimeout(callTimeout);
});
@@ -426,6 +437,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly
console.log('received ice negotiation failed');
callback({'status':'failed', 'errorcode': 1007}); // Failure on call
currentSession = null;
+ clearTimeout(iceConnectedTimeout);
if (userAgent != null) {
var userAgentTemp = userAgent;
userAgent = null;
@@ -441,6 +453,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly
console.log('Received ICE status changed to connected');
if (callICEConnected === false) {
callICEConnected = true;
+ clearTimeout(iceConnectedTimeout);
if (callActive === true) {
callback({'status':'started'});
}
@@ -452,6 +465,7 @@ function make_call(username, voiceBridge, server, callback, recall, isListenOnly
console.log('Received ICE status changed to completed');
if (callICEConnected === false) {
callICEConnected = true;
+ clearTimeout(iceConnectedTimeout);
if (callActive === true) {
callback({'status':'started'});
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml
old mode 100644
new mode 100755
index a37d6d7e1f..9038640c4b
--- a/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/main/views/FlashMicSettings.mxml
@@ -21,7 +21,7 @@ with BigBlueButton; if not, see .
.
var chromeBrowser:ChromeMicPermissionImage = PopUpManager.createPopUp(mdiCanvas, ChromeMicPermissionImage, true) as ChromeMicPermissionImage;
chromeBrowser.addEventListener(FlexEvent.CREATION_COMPLETE, function(e:Event):void {
chromeBrowser.x = 20;
- chromeBrowser.y = 80;
+ chromeBrowser.y = 130;
});
}
}
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/events/ChatNoiseEnabledEvent.as b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/events/ChatNoiseEnabledEvent.as
new file mode 100755
index 0000000000..43da5e5b10
--- /dev/null
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/events/ChatNoiseEnabledEvent.as
@@ -0,0 +1,15 @@
+package org.bigbluebutton.modules.chat.events {
+ import flash.events.Event;
+
+ public class ChatNoiseEnabledEvent extends Event {
+ public static const CHAT_NOISE_CHANGE_EVENT:String = "chat noise change event";
+
+ public var enabled:Boolean = false;
+
+ public function ChatNoiseEnabledEvent(enabled:Boolean) {
+ super(CHAT_NOISE_CHANGE_EVENT, true);
+
+ this.enabled = enabled;
+ }
+ }
+}
\ No newline at end of file
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
old mode 100644
new mode 100755
index 9576101898..13268d5e16
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/AddChatTabBox.mxml
@@ -43,6 +43,7 @@ with BigBlueButton; if not, see .
import org.bigbluebutton.core.managers.UserManager;
import org.bigbluebutton.main.model.users.BBBUser;
import org.bigbluebutton.main.model.users.Conference;
+ import org.bigbluebutton.modules.chat.events.ChatNoiseEnabledEvent;
import org.bigbluebutton.modules.chat.events.ChatOptionsEvent;
import org.bigbluebutton.modules.chat.model.ChatOptions;
import org.bigbluebutton.util.i18n.ResourceUtil;
@@ -63,6 +64,7 @@ with BigBlueButton; if not, see .
} else {
LOGGER.debug("fontSize in config.xml not found: {0}", [chatOptions.fontSize]);
}
+ chatNoiseCheckBox.visible = Accessibility.active;
}
public function accessibleClick(event:KeyboardEvent):void{
@@ -78,6 +80,11 @@ with BigBlueButton; if not, see .
dispatchEvent(e);
}
+ private function changeChatNoise():void {
+ LOGGER.debug("changing chat noise, active=" + chatNoiseCheckBox.selected);
+ dispatchEvent(new ChatNoiseEnabledEvent(chatNoiseCheckBox.selected));
+ }
+
protected function openPrivateChat(event:Event):void{
if (usersList.selectedIndex == -1) return;
@@ -117,23 +124,21 @@ with BigBlueButton; if not, see .
]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
old mode 100644
new mode 100755
index 72d40ede1d..75f86197d6
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/chat/views/ChatView.mxml
@@ -35,26 +35,27 @@ with BigBlueButton; if not, see .
.
private static const PUBLIC_TAB_NEW:String = ResourceUtil.getInstance().getString("bbb.accessibility.chat.chatView.publicTabNew");
private var publicWaiting:Boolean = false;
private var publicFocus:Boolean = false;
- private var noticeLabel:String;
+ private var noticeLabel:String;
+ private var chatNoiseEnabled:Boolean = true;
[Embed(source="../sounds/notice.mp3")]
private var noticeSoundClass:Class;
@@ -85,19 +87,20 @@ with BigBlueButton; if not, see .
}
- private function onCreationComplete():void{
+ private function onCreationComplete():void{
openChatBoxFor(PUBLIC_CHAT_USERID, true);
- makePublicChatUncloseable();
-
- if (chatOptions.privateEnabled) {
- createAddTabBox();
- makeAddPrivateChatUncloseable();
- }
+ makePublicChatUncloseable();
+
+ if (chatOptions.privateEnabled) {
+ createAddTabBox();
+ makeAddPrivateChatUncloseable();
+ }
ResourceUtil.getInstance().addEventListener(Event.CHANGE, localeChanged); // Listen for locale changing
addEventListener(SuperTabEvent.TAB_CLOSE, onUserClosedTab);
-
+ addEventListener(ChatNoiseEnabledEvent.CHAT_NOISE_CHANGE_EVENT, onChatNoiseChangeEvent);
+
systemManager.stage.addEventListener(Event.MOUSE_LEAVE, mouseLeave);
systemManager.stage.addEventListener(Event.ACTIVATE, activate);
systemManager.stage.addEventListener(Event.DEACTIVATE, deactivate);
@@ -293,9 +296,7 @@ with BigBlueButton; if not, see .
// Activates an audio alert for screen-reader users on public message reception
private function publicNotification():void {
publicWaiting = true;
- if (Accessibility.active){
- noticeSound.play();
- }
+ playSound();
chatTabs.getChildByName(PUBLIC_CHAT_USERID).addEventListener(FocusEvent.FOCUS_IN, publicChatFocus);
chatTabs.getChildByName(PUBLIC_CHAT_USERID).addEventListener(FocusEvent.FOCUS_OUT, publicChatUnfocus);
}
@@ -303,12 +304,20 @@ with BigBlueButton; if not, see .
// Activates an audio alert for screen-reader users on private message reception
private function privateNotification(event:PrivateChatMessageEvent):void{
if (! UsersUtil.isMe(event.message.fromUserID)) {
- if (Accessibility.active){
- noticeSound.play();
- }
+ playSound();
}
}
+ private function playSound():void {
+ if (Accessibility.active && chatNoiseEnabled){
+ noticeSound.play();
+ }
+ }
+
+ private function onChatNoiseChangeEvent(e:ChatNoiseEnabledEvent):void {
+ chatNoiseEnabled = e.enabled;
+ }
+
public function publicChatFocus(event:FocusEvent):void{
publicFocus = true;
publicWaiting = false;
diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
index 7d6d523661..47640819d5 100755
--- a/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
+++ b/bigbluebutton-client/src/org/bigbluebutton/modules/present/ui/views/PresentationWindow.mxml
@@ -798,7 +798,7 @@ with BigBlueButton; if not, see .
mouseUp="mouseDown = false" verticalScrollPolicy="off" horizontalScrollPolicy="off"/>
-
+
@@ -829,6 +829,6 @@ with BigBlueButton; if not, see .
-
+