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 2018/03/23 05:59:56 UTC
[openmeetings] branch master updated (3748038 -> 8bd0bd0)
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git.
from 3748038 [OPENMEETINGS-1854] Timer is better positioned and styled
new 54da287 [OPENMEETINGS-1859] kurento-client version is updated
new 8bd0bd0 [OPENMEETINGS-1854] js improvements
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
openmeetings-core/pom.xml | 2 +-
.../web/common/OmAjaxClientInfoBehavior.java | 9 ++
.../org/apache/openmeetings/web/common/main.js | 40 +++++-
.../openmeetings/web/room/VideoSettings.java | 5 +-
.../apache/openmeetings/web/room/settings-base.js | 134 ++++++++++-----------
.../apache/openmeetings/web/room/video-manager.js | 22 ++--
.../java/org/apache/openmeetings/web/room/video.js | 14 +--
.../apache/openmeetings/web/room/wb/wb-board.js | 4 +-
8 files changed, 132 insertions(+), 98 deletions(-)
--
To stop receiving notification emails like this one, please contact
solomax@apache.org.
[openmeetings] 02/02: [OPENMEETINGS-1854] js improvements
Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit 8bd0bd003418d5fb344dd25111d58334d525181e
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Fri Mar 23 12:59:47 2018 +0700
[OPENMEETINGS-1854] js improvements
---
.../web/common/OmAjaxClientInfoBehavior.java | 9 ++
.../org/apache/openmeetings/web/common/main.js | 40 +++++-
.../openmeetings/web/room/VideoSettings.java | 5 +-
.../apache/openmeetings/web/room/settings-base.js | 134 ++++++++++-----------
.../apache/openmeetings/web/room/video-manager.js | 22 ++--
.../java/org/apache/openmeetings/web/room/video.js | 14 +--
.../apache/openmeetings/web/room/wb/wb-board.js | 4 +-
7 files changed, 131 insertions(+), 97 deletions(-)
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmAjaxClientInfoBehavior.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmAjaxClientInfoBehavior.java
index d087a11..0c81c78 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmAjaxClientInfoBehavior.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/OmAjaxClientInfoBehavior.java
@@ -18,8 +18,11 @@
*/
package org.apache.openmeetings.web.common;
+import static org.apache.wicket.RuntimeConfigurationType.DEVELOPMENT;
+
import java.util.List;
+import org.apache.openmeetings.web.app.Application;
import org.apache.openmeetings.web.app.WebSession;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxClientInfoBehavior;
@@ -32,6 +35,8 @@ import org.apache.wicket.protocol.http.request.WebClientInfo;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.resource.JavaScriptResourceReference;
+import com.github.openjson.JSONObject;
+
public class OmAjaxClientInfoBehavior extends AjaxClientInfoBehavior {
private static final long serialVersionUID = 1L;
private static final JavaScriptResourceReference MAIN_JS = new JavaScriptResourceReference(MainPanel.class, "main.js") {
@@ -49,6 +54,10 @@ public class OmAjaxClientInfoBehavior extends AjaxClientInfoBehavior {
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forReference(MAIN_JS)));
+ response.render(new PriorityHeaderItem(JavaScriptHeaderItem.forScript(
+ String.format("OmUtil.init(%s)", new JSONObject()
+ .put("debug", DEVELOPMENT == Application.get().getConfigurationType()))
+ , "om-util-init")));
}
@Override
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
index 1745c0c..2e1b975 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/common/main.js
@@ -23,7 +23,12 @@ var Settings = (function() {
};
})();
var OmUtil = (function() {
+ let options, errs
const self = {};
+
+ function _init(_options) {
+ options = _options;
+ }
function _confirmDlg(_id, okHandler) {
const confirm = $('#' + _id);
confirm.dialog({
@@ -49,13 +54,44 @@ var OmUtil = (function() {
function _tmpl(tmplId, newId) {
return $(tmplId).clone().attr('id', newId || '');
}
+ function _error(msg) {
+ if (typeof(msg) === 'object') {
+ msg = msg.name + ": " + msg.message;
+ }
+ if (!!errs && errs.length > 0) {
+ errs.data("kendoNotification").show(msg, "error");
+ }
+ return console.error(msg);
+ }
+ function _debugEnabled() {
+ return !!options && !!options.debug;
+ }
+ function _info() {
+ if (_debugEnabled()) {
+ console.info.apply(this, arguments);
+ }
+ }
+ function _log() {
+ if (_debugEnabled()) {
+ console.log.apply(this, arguments);
+ }
+ }
+ self.init = _init;
self.confirmDlg = _confirmDlg;
self.tmpl = _tmpl;
- self.sendMessage = function(m) {
- const msg = JSON.stringify(m || {});
+ self.debugEnabled = _debugEnabled;
+ self.enableDebug = function() { if (!!options) { options.debug = true; } };
+ self.sendMessage = function(_m, _base) {
+ const base = _base || {}
+ , m = _m || {}
+ , msg = JSON.stringify($.extend({}, base, m));
Wicket.WebSocket.send(msg);
};
+ self.initErrs = function(_e) { errs = _e; };
+ self.error = _error;
+ self.info = _info;
+ self.log = _log;
return self;
})();
Wicket.BrowserInfo.collectExtraInfo = function(info) {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
index fb9bcab..b6e0c38 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/VideoSettings.java
@@ -19,9 +19,7 @@
package org.apache.openmeetings.web.room;
import static org.apache.openmeetings.util.OpenmeetingsVariables.getRoomSettings;
-import static org.apache.wicket.RuntimeConfigurationType.DEVELOPMENT;
-import org.apache.openmeetings.web.app.Application;
import org.apache.wicket.markup.head.IHeaderResponse;
import org.apache.wicket.markup.head.JavaScriptHeaderItem;
import org.apache.wicket.markup.head.PriorityHeaderItem;
@@ -51,7 +49,6 @@ public class VideoSettings extends Panel {
public static JSONObject getInitJson(String sid) {
return new JSONObject(getRoomSettings().toString())
- .put("sid", sid)
- .put("debug", DEVELOPMENT == Application.get().getConfigurationType());
+ .put("sid", sid);
}
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/settings-base.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/settings-base.js
index 13c90ee..eb4b9c1 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/settings-base.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/settings-base.js
@@ -53,7 +53,8 @@ var MicLevel = (function() {
var VideoSettings = (function() {
let vs, lm, s, cam, mic, res, o, rtcPeer, offerSdp, timer
, vidScroll, vid, recBtn, playBtn, recAllowed = false
- , errs, level;
+ , level;
+ const MsgBase = {type: 'kurento', mode: 'test'};
function _load() {
s = Settings.load();
if (!s.video) {
@@ -98,19 +99,17 @@ var VideoSettings = (function() {
Wicket.Event.unsubscribe("/websocket/message", _onWsMessage);
}
function _onIceCandidate(candidate) {
- console.log('Local candidate' + JSON.stringify(candidate));
+ OmUtil.log('Local candidate' + JSON.stringify(candidate));
OmUtil.sendMessage({
id : 'iceCandidate'
- , type: 'kurento'
- , mode: 'test'
, candidate: candidate
- });
+ }, MsgBase);
}
function _init(options) {
o = JSON.parse(JSON.stringify(options));
- errs = $('#jsNotifications').kendoNotification({
+ OmUtil.initErrs($('#jsNotifications').kendoNotification({
autoHideAfter: 20000
- }).data("kendoNotification");
+ }));
vs = $('#video-settings');
lm = vs.find('.level-meter');
cam = vs.find('select.cam');
@@ -119,58 +118,58 @@ var VideoSettings = (function() {
vidScroll = vs.find('.vid-block .video-conainer');
timer = vs.find('.timer');
vid = vidScroll.find('video');
- recBtn = vs.find('.rec-start').click(function() {
- recBtn.prop('disabled', true).button('refresh');
- playBtn.prop('disabled', true).button('refresh');
- cam.prop('disabled', true);
- mic.prop('disabled', true);
- res.prop('disabled', true);
+ recBtn = vs.find('.rec-start')
+ .button({icon: "ui-icon-bullet"})
+ .click(function() {
+ recBtn.prop('disabled', true).button('refresh');
+ playBtn.prop('disabled', true).button('refresh');
+ cam.prop('disabled', true);
+ mic.prop('disabled', true);
+ res.prop('disabled', true);
- console.info('Invoking SDP offer callback function');
- const cnts = _constraints();
- OmUtil.sendMessage({
- id : 'start'
- , type: 'kurento'
- , mode: 'test'
- , sdpOffer: offerSdp
- , video: cnts.video !== false
- , audio: cnts.audio !== false
+ OmUtil.info('Invoking SDP offer callback function');
+ const cnts = _constraints();
+ OmUtil.sendMessage({
+ id : 'start'
+ , sdpOffer: offerSdp
+ , video: cnts.video !== false
+ , audio: cnts.audio !== false
+ }, MsgBase);
+ rtcPeer.on('icecandidate', _onIceCandidate);
});
- rtcPeer.on('icecandidate', _onIceCandidate);
- });
- playBtn = vs.find('.play').click(function() {
- recBtn.prop('disabled', true).button('refresh');
- playBtn.prop('disabled', true).button('refresh');
- cam.prop('disabled', true);
- mic.prop('disabled', true);
- res.prop('disabled', true);
- _clear();
- rtcPeer = new kurentoUtils.WebRtcPeer.WebRtcPeerRecvonly(
- {
- remoteVideo: vid[0]
- , mediaConstraints: {
- audio: true
- , video: true
- }
- , onicecandidate: _onIceCandidate
- }
- , function(error) {
- if (error) {
- return _error(error);
+ playBtn = vs.find('.play')
+ .button({icon: "ui-icon-play"})
+ .click(function() {
+ recBtn.prop('disabled', true).button('refresh');
+ playBtn.prop('disabled', true).button('refresh');
+ cam.prop('disabled', true);
+ mic.prop('disabled', true);
+ res.prop('disabled', true);
+ _clear();
+ rtcPeer = new kurentoUtils.WebRtcPeer.WebRtcPeerRecvonly(
+ {
+ remoteVideo: vid[0]
+ , mediaConstraints: {
+ audio: true
+ , video: true
+ }
+ , onicecandidate: _onIceCandidate
}
- rtcPeer.generateOffer(function(error, offerSdp) {
+ , function(error) {
if (error) {
- return _error('Error generating the offer');
+ return OmUtil.error(error);
}
- OmUtil.sendMessage({
- id : 'play'
- , type: 'kurento'
- , mode: 'test'
- , sdpOffer: offerSdp
+ rtcPeer.generateOffer(function(error, offerSdp) {
+ if (error) {
+ return OmUtil.error('Error generating the offer');
+ }
+ OmUtil.sendMessage({
+ id : 'play'
+ , sdpOffer: offerSdp
+ }, MsgBase);
});
});
- });
- });
+ });
vs.dialog({
classes: {
'ui-dialog': 'ui-corner-all video'
@@ -208,7 +207,6 @@ var VideoSettings = (function() {
o.rights = (o.rights || []).join();
delete o.keycode;
vs.find('input, button').prop('disabled', true);
- vs.find('button').button();
const rr = vs.find('.cam-resolution').parents('.sett-row');
if (!o.interview) {
rr.show();
@@ -267,13 +265,13 @@ var VideoSettings = (function() {
localVideo: vid[0], mediaConstraints: cnts
}, function(error) {
if (error) {
- return _error(error);
+ return OmUtil.error(error);
}
level = MicLevel();
- level.meter(rtcPeer, _micActivity, _error);
+ level.meter(rtcPeer, _micActivity, OmUtil.error);
rtcPeer.generateOffer(function(error, _offerSdp) {
if (error) {
- return _error('Error generating the offer');
+ return OmUtil.error('Error generating the offer');
}
offerSdp = _offerSdp;
_allowRec(true);
@@ -294,16 +292,9 @@ var VideoSettings = (function() {
function _micActivity(level) {
lm.progressbar("value", Math.max(0, level));
}
- function _error(msg) {
- if (typeof(msg) === 'object') {
- msg = msg.name + ": " + msg.message;
- }
- errs.show(msg, "error");
- return console.error(msg);
- }
function _initDevices() {
if (!navigator.mediaDevices || !navigator.mediaDevices.enumerateDevices) {
- _error("enumerateDevices() not supported.");
+ OmUtil.error("enumerateDevices() not supported.");
return;
}
cam.find('option[value!="-1"]').remove();
@@ -358,7 +349,7 @@ var VideoSettings = (function() {
_readValues();
})
.catch(function(err) {
- _error(err);
+ OmUtil.error(err);
});
}
function _open() {
@@ -366,6 +357,7 @@ var VideoSettings = (function() {
recAllowed = false;
timer.hide();
_micActivity(0);
+ playBtn.prop('disabled', true).button('refresh');
vs.dialog('open');
_load();
_initDevices();
@@ -378,22 +370,22 @@ var VideoSettings = (function() {
}
const m = jQuery.parseJSON(msg);
if (m && 'kurento' === m.type && 'test' === m.mode) {
- console.info('Received message: ', m);
+ OmUtil.info('Received message: ', m);
switch (m.id) {
case 'playResponse':
case 'startResponse':
- console.log('SDP answer received from server. Processing ...');
+ OmUtil.log('SDP answer received from server. Processing ...');
rtcPeer.processAnswer(m.sdpAnswer, function(error) {
if (error) {
- return _error(error);
+ return OmUtil.error(error);
}
});
break;
case 'iceCandidate':
rtcPeer.addIceCandidate(m.candidate, function(error) {
if (error) {
- return _error('Error adding candidate: ' + error);
+ return OmUtil.error('Error adding candidate: ' + error);
}
});
break;
@@ -410,12 +402,12 @@ var VideoSettings = (function() {
res.prop('disabled', false);
break;
default:
- _error('Unrecognized message: ' + msg);
+ OmUtil.error('Unrecognized message: ' + msg);
}
}
} catch (err) {
//no-op
- _error(err);
+ OmUtil.error(err);
}
}
return {
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
index 7da3866..548e619 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video-manager.js
@@ -10,7 +10,7 @@ var VideoManager = (function() {
v.getPeer().processAnswer(m.sdpAnswer, function (error) {
if (error) {
- return console.error(error);
+ return OmUtil.error(error);
}
});
}
@@ -20,7 +20,7 @@ var VideoManager = (function() {
const w = $('#' + VideoUtil.getVid(uid))
, v = w.data()
, cl = v.client();
- console.log(uid + " registered in room");
+ OmUtil.log(uid + " registered in room");
v.setPeer(new kurentoUtils.WebRtcPeer.WebRtcPeerSendonly(
{
@@ -41,7 +41,7 @@ var VideoManager = (function() {
}
, function (error) {
if (error) {
- return console.error(error);
+ return OmUtil.error(error);
}
this.generateOffer(v.offerToReceiveVideo);
}));
@@ -58,7 +58,7 @@ var VideoManager = (function() {
}
, function (error) {
if(error) {
- return console.error(error);
+ return OmUtil.error(error);
}
this.generateOffer(v.offerToReceiveVideo);
}
@@ -73,7 +73,7 @@ var VideoManager = (function() {
}
const m = jQuery.parseJSON(msg);
if (m && 'kurento' === m.type && 'test' !== m.mode) {
- console.info('Received message: ' + m);
+ OmUtil.info('Received message: ' + m);
switch (m.id) {
case 'broadcast':
@@ -89,19 +89,19 @@ var VideoManager = (function() {
v.getPeer().addIceCandidate(m.candidate, function (error) {
if (error) {
- console.error("Error adding candidate: " + error);
+ OmUtil.error("Error adding candidate: " + error);
return;
}
});
}
break;
default:
- console.error('Unrecognized message', m);
+ OmUtil.error('Unrecognized message ' + msg);
}
}
} catch (err) {
//no-op
- console.error(err);
+ OmUtil.error(err);
}
}
@@ -126,9 +126,8 @@ var VideoManager = (function() {
, av = VideoUtil.hasAudio(cl) || VideoUtil.hasVideo(cl)
, v = $('#' + _id);
if (av && v.length !== 1 && !!cl.self) {
- OmUtil.sendMessage({
+ VideoManager.sendMessage({
id: 'joinRoom' //TODO stream uid
- , type: 'kurento'
});
Video().init(cl, VideoUtil.getPos(VideoUtil.getRects(VID_SEL), cl.width, cl.height + 25));
@@ -270,6 +269,9 @@ var VideoManager = (function() {
self.mute = _mute;
self.clickExclusive = _clickExclusive;
self.exclusive = _exclusive;
+ self.sendMessage = function(_m) {
+ OmUtil.sendMessage(_m, {type: 'kurento'});
+ }
self.destroy = function() {
Wicket.Event.unsubscribe("/websocket/message", _onWsMessage);
}
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
index af41d52..a012e25 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/video.js
@@ -172,7 +172,7 @@ var Video = (function() {
}
}
v.on("remove", function () {
- console.log('Disposing participant ' + c.uid);
+ OmUtil.log('Disposing participant ' + c.uid);
if (!!rtcPeer) {
rtcPeer.dispose();
}
@@ -280,22 +280,20 @@ var Video = (function() {
self.setPeer = function(p) { rtcPeer = p; };
self.getPeer = function() { return rtcPeer; };
self.onIceCandidate = function(candidate, wp) {
- console.log("Local candidate" + JSON.stringify(candidate));
- OmUtil.sendMessage({
+ OmUtil.log("Local candidate" + JSON.stringify(candidate));
+ VideoManager.sendMessage({
id: 'onIceCandidate'
- , type: 'kurento'
, candidate: candidate
, uid: c.uid
});
};
self.offerToReceiveVideo = function(error, offerSdp, wp) {
if (error) {
- return console.error("sdp offer error");
+ return OmUtil.error("sdp offer error");
}
- console.log('Invoking SDP offer callback function');
- OmUtil.sendMessage({
+ OmUtil.log('Invoking SDP offer callback function');
+ VideoManager.sendMessage({
id : "receiveVideoFrom"
- , type: 'kurento'
, sender: c.uid
, sdpOffer: offerSdp
});
diff --git a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js
index fa5a0c0..48d9a2c 100644
--- a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js
+++ b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/wb-board.js
@@ -513,11 +513,11 @@ var Wb = function() {
/*TODO interactive text change
var textEditedHandler = function (e) {
var obj = e.target;
- console.log('Text Edit Exit', obj);
+ OmUtil.log('Text Edit Exit', obj);
};
var textChangedHandler = function (e) {
var obj = e.target;
- console.log('Text Changed', obj);
+ OmUtil.log('Text Changed', obj);
};*/
function setHandlers(canvas) {
// off everything first to prevent duplicates
--
To stop receiving notification emails like this one, please contact
solomax@apache.org.
[openmeetings] 01/02: [OPENMEETINGS-1859] kurento-client version is
updated
Posted by so...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
solomax pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/openmeetings.git
commit 54da28765e82f4d591acb296bbf6da77de9babcd
Author: Maxim Solodovnik <so...@gmail.com>
AuthorDate: Fri Mar 23 12:58:44 2018 +0700
[OPENMEETINGS-1859] kurento-client version is updated
---
openmeetings-core/pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openmeetings-core/pom.xml b/openmeetings-core/pom.xml
index e7ec3aa..ca9f300 100644
--- a/openmeetings-core/pom.xml
+++ b/openmeetings-core/pom.xml
@@ -99,7 +99,7 @@
<dependency>
<groupId>org.kurento</groupId>
<artifactId>kurento-client</artifactId>
- <version>6.6.2</version>
+ <version>6.7.1</version>
</dependency>
<!-- Test dependencies -->
<dependency>
--
To stop receiving notification emails like this one, please contact
solomax@apache.org.