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


The following commit(s) were added to refs/heads/master by this push:
     new eeb02d2  [OPENMEETINGS-1955] room recording seems to work as expected
eeb02d2 is described below

commit eeb02d208f4f539c415b9696162cde2061a9840a
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Sun Mar 3 19:46:57 2019 +0700

    [OPENMEETINGS-1955] room recording seems to work as expected
---
 .../core/converter/InterviewConverter.java           |  4 +++-
 .../org/apache/openmeetings/web/room/RoomPanel.java  |  5 ++---
 .../org/apache/openmeetings/web/room/raw-video.js    |  2 +-
 .../openmeetings/web/room/wb/InterviewWbPanel.html   |  2 +-
 .../openmeetings/web/room/wb/InterviewWbPanel.java   | 20 +++++++++-----------
 openmeetings-web/src/test/jetty/jetty-ssl.xml        | 11 -----------
 6 files changed, 16 insertions(+), 28 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
index 1d12e99..f3d7890 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/InterviewConverter.java
@@ -280,8 +280,10 @@ public class InterviewConverter extends BaseConverter 
implements IRecordingConve
                }
 
                public static void add(List<PodPart> parts, long duration) {
-                       if (duration != 0L) {
+                       if (duration > 19L) { // ffmpeg ignores durations less 
than 19ms, can hang
                                parts.add(new PodPart(duration));
+                       } else {
+                               log.warn("PodPart with duration less than 19ms 
found: {}", duration);
                        }
                }
        }
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 211d2db..e267abd 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
@@ -170,7 +170,6 @@ public class RoomPanel extends BasePanel {
 
                private void initVideos(AjaxRequestTarget target) {
                        StringBuilder sb = new StringBuilder();
-                       Client _c = getClient();
                        JSONArray streams = new JSONArray();
                        for (Client c: cm.listByRoom(getRoom().getId())) {
                                for (StreamDesc sd : c.getStreams()) {
@@ -180,7 +179,7 @@ public class RoomPanel extends BasePanel {
                                        
sb.append("VideoManager.play(").append(streams).append(", 
").append(kHandler.getTurnServers()).append(");");
                                }
                        }
-                       if (interview && 
!streamProcessor.isRecording(r.getId()) && streams.length() > 0 && 
_c.hasRight(Right.moderator)) {
+                       if (interview && 
streamProcessor.recordingAllowed(getClient())) {
                                sb.append("WbArea.setRecEnabled(true);");
                        }
                        if (!Strings.isEmpty(sb)) {
@@ -556,7 +555,7 @@ public class RoomPanel extends BasePanel {
                if (interview && _c.hasRight(Right.moderator)) {
                        if (streamProcessor.isRecording(r.getId())) {
                                handler.appendJavaScript("if (typeof(WbArea) 
=== 'object') {WbArea.setRecStarted(true);}");
-                       } else {
+                       } else if 
(streamProcessor.recordingAllowed(getClient())) {
                                boolean hasStreams = false;
                                for (Client cl : cm.listByRoom(r.getId())) {
                                        if (!cl.getStreams().isEmpty()) {
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
index d115d8b..e16fd49 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/raw-video.js
@@ -354,7 +354,6 @@ var Video = (function() {
                sd.self = sd.cuid === opts.uid;
                const contSel = _initContainer(_id, name, opts);
                v = $('#' + _id);
-               t = v.parent().find('.ui-dialog-titlebar').attr('title', name);
                f = v.find('.footer');
                if (!sd.self && isSharing) {
                        Sharer.close();
@@ -379,6 +378,7 @@ var Video = (function() {
                if (!isSharing && !isRecording) {
                        _initCamDialog();
                }
+               t = v.parent().find('.ui-dialog-titlebar').attr('title', name);
                v.on('remove', _cleanup);
                vc = v.find('.video');
                vc.width(_w).height(_h);
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
index 2de9596..cb610d9 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.html
@@ -23,7 +23,7 @@
        <div class="pod-area" style="width: 1000px;height: 600px;">
                <div class="pod-big"></div>
        </div>
-       <div class="rec-btn ui-state-error" 
wicket:message="data-title-start:871,data-title-stop:872">
+       <div class="rec-btn ui-state-error" 
wicket:message="data-title-start:871, data-title-stop:872">
                &nbsp;
        </div>
 </wicket:panel>
diff --git 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
index c047835..263456e 100644
--- 
a/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
+++ 
b/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/wb/InterviewWbPanel.java
@@ -55,17 +55,15 @@ public class InterviewWbPanel extends AbstractWbPanel {
        @Override
        protected void processWbAction(WbAction a, JSONObject obj, 
AjaxRequestTarget target) throws IOException {
                Client c = rp.getClient();
-               if (streamProcessor.recordingAllowed(c)) {
-                       switch (a) {
-                               case startRecording:
-                                       streamProcessor.startRecording(c);
-                                       break;
-                               case stopRecording:
-                                       streamProcessor.stopRecording(c);
-                                       break;
-                               default:
-                                       //no-op
-                       }
+               switch (a) {
+                       case startRecording:
+                               streamProcessor.startRecording(c);
+                               break;
+                       case stopRecording:
+                               streamProcessor.stopRecording(c);
+                               break;
+                       default:
+                               //no-op
                }
        }
 }
diff --git a/openmeetings-web/src/test/jetty/jetty-ssl.xml 
b/openmeetings-web/src/test/jetty/jetty-ssl.xml
index a739639..10f6497 100644
--- a/openmeetings-web/src/test/jetty/jetty-ssl.xml
+++ b/openmeetings-web/src/test/jetty/jetty-ssl.xml
@@ -26,17 +26,6 @@
   <Set name="KeyStorePassword"><Property name="jetty.keystore.password" 
default="openmeetings"/></Set>
   <Set name="KeyManagerPassword"><Property name="jetty.keymanager.password" 
default="openmeetings"/></Set>
   <Set name="EndpointIdentificationAlgorithm"></Set>
-  <Set name="ExcludeCipherSuites">
-    <Array type="String">
-      <Item>SSL_RSA_WITH_DES_CBC_SHA</Item>
-      <Item>SSL_DHE_RSA_WITH_DES_CBC_SHA</Item>
-      <Item>SSL_DHE_DSS_WITH_DES_CBC_SHA</Item>
-      <Item>SSL_RSA_EXPORT_WITH_RC4_40_MD5</Item>
-      <Item>SSL_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
-      <Item>SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA</Item>
-      <Item>SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA</Item>
-    </Array>
-  </Set>
   <!-- =========================================================== -->
   <!-- Create a TLS specific HttpConfiguration based on the        -->
   <!-- common HttpConfiguration defined in jetty.xml               -->

Reply via email to