You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2017/09/07 15:51:48 UTC
openmeetings git commit: [OPENMEETINGS-1644] exclusive audio seems to
be implemented
Repository: openmeetings
Updated Branches:
refs/heads/master af2425ae9 -> 0bf05e68a
[OPENMEETINGS-1644] exclusive audio seems to be implemented
Project: http://git-wip-us.apache.org/repos/asf/openmeetings/repo
Commit: http://git-wip-us.apache.org/repos/asf/openmeetings/commit/0bf05e68
Tree: http://git-wip-us.apache.org/repos/asf/openmeetings/tree/0bf05e68
Diff: http://git-wip-us.apache.org/repos/asf/openmeetings/diff/0bf05e68
Branch: refs/heads/master
Commit: 0bf05e68a221151464d2c061760aa069841fb67e
Parents: af2425a
Author: Maxim Solodovnik <so...@gmail.com>
Authored: Thu Sep 7 22:51:38 2017 +0700
Committer: Maxim Solodovnik <so...@gmail.com>
Committed: Thu Sep 7 22:51:38 2017 +0700
----------------------------------------------------------------------
openmeetings-flash/src/main/flex/main.mxml | 26 ++++++++++++++------
.../apache/openmeetings/web/room/RoomPanel.java | 1 +
.../org/apache/openmeetings/web/room/room.js | 7 +++---
3 files changed, 24 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/0bf05e68/openmeetings-flash/src/main/flex/main.mxml
----------------------------------------------------------------------
diff --git a/openmeetings-flash/src/main/flex/main.mxml b/openmeetings-flash/src/main/flex/main.mxml
index 990083d..2962845 100644
--- a/openmeetings-flash/src/main/flex/main.mxml
+++ b/openmeetings-flash/src/main/flex/main.mxml
@@ -52,6 +52,7 @@
private var activityTimer:Timer = new Timer(100);
private var active:Boolean = false;
private var userId:String = null;
+ private var cuid:String = null;
[Bindable]
private var interview:Boolean = false;
[Embed(source="assets/micro.png")]
@@ -88,6 +89,10 @@
return _hasVideo(activities);
}
+ private function hasRightExclusive():Boolean {
+ return rights.indexOf('exclusive') > -1 || rights.indexOf('moderator') > -1 || rights.indexOf('superModerator') > -1;
+ }
+
private function getIntParam(param:String, def:int):int {
var val:int = parseInt(param);
return (isNaN(val) || val < 1 ? def : val);
@@ -108,6 +113,7 @@
activities = params.av == null ? [] : params.av.split(',');
rights = params.rights == null ? [] : params.rights.split(',');
userId = params.userId;
+ cuid = params.cuid;
switch (params.mode) {
case 'settings': {
ExternalInterface.addCallback("getDevices", function ():Object {
@@ -153,7 +159,7 @@
video.setVolume(vol);
}
});
- ExternalInterface.addCallback("rightsUpdated", rightsUpdatedCallback);
+ ExternalInterface.addCallback("setRights", setRightsCallback);
video.connect(function ():void {
// trust no-one
video.getNc().call("check", new Responder(function (check:Object):void {
@@ -206,14 +212,17 @@
addImage(params.width, params.height);
_resize(params.width, params.height);
refreshCallback(null);
+ _updateExclusive();
ExternalInterface.addCallback("setVolume", function (vol:int):void {
video.setStreamVolume(vol);
});
ExternalInterface.addCallback("update", function (c:Object):void {
- //no-op for now
+ debug("update Callback", c.activities);
+ activities = c.activities;
+ _updateExclusive();
});
ExternalInterface.addCallback("refresh", refreshCallback);
- ExternalInterface.addCallback("rightsUpdated", rightsUpdatedCallback);
+ ExternalInterface.addCallback("setRights", setRightsCallback);
}
break;
}
@@ -221,7 +230,8 @@
}
private function _updateExclusive():void {
- if (hasAudio()) {
+ debug("_updateExclusive", rights, activities);
+ if (hasAudio() && hasRightExclusive()) {
addEventListener(MouseEvent.MOUSE_OUT, exclMouseOutHandler);
addEventListener(MouseEvent.MOUSE_OVER, exclMouseOverHandler);
addEventListener(MouseEvent.CLICK, exclMouseClickHandler);
@@ -241,7 +251,7 @@
}
private function exclMouseClickHandler(event:MouseEvent):void {
- //exclusiveMic.visible = true;
+ ExternalInterface.call("VideoManager.clickExclusive", cuid);
}
private function _resize(_width:int, _height:int):void {
@@ -281,8 +291,10 @@
}
}
- private function rightsUpdatedCallback(rights:Array):void {
- debug("rightsUpdatedCallback", rights);
+ private function setRightsCallback(_rights:Array):void {
+ debug("setRightsCallback", _rights);
+ rights = _rights;
+ _updateExclusive();
}
private function refreshCallback(opts:Object):void {
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/0bf05e68/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
index b1dbc02..3735608 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/RoomPanel.java
@@ -135,6 +135,7 @@ public class RoomPanel extends BasePanel {
Client _c = getClient();
JSONObject options = VideoSettings.getInitJson(cp, r.getId(), _c.getSid())
.put("uid", _c.getUid())
+ .put("rights", _c.toJson(true).getJSONArray("rights"))
.put("interview", isInterview)
.put("showMicStatus", !r.getHiddenElements().contains(RoomElement.MicrophoneStatus))
.put("exclusiveTitle", getString("1386"));
http://git-wip-us.apache.org/repos/asf/openmeetings/blob/0bf05e68/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
----------------------------------------------------------------------
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
index c47b2f9..4a47f33 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/room.js
@@ -312,15 +312,16 @@ var Video = (function() {
o.cam = c.cam;
o.mic = c.mic;
o.mode = 'broadcast';
- o.av = c.activities.join();
} else {
o.mode = 'play';
}
+ o.av = c.activities.join();
o.rights = o.rights.join();
o.width = c.width;
o.height = c.height;
o.sid = c.sid;
o.uid = c.uid;
+ o.cuid = c.cuid;
o.userId = c.user.id;
o.broadcastId = c.broadcastId;
delete o.keycode;
@@ -342,8 +343,8 @@ var Video = (function() {
c.pod = _c.pod;
v.dialog('option', 'appendTo', '.pod.pod-' + c.pod);
}
- if (c.self && swf[0].update !== undefined) {
- swf[0].update();
+ if (swf[0].update !== undefined) {
+ c.self ? swf[0].update() : swf[0].update(c);
}
}
function _refresh(_opts) {