This is an automated email from the ASF dual-hosted git repository.

solomax pushed a commit to branch 4.0.x
in repository https://gitbox.apache.org/repos/asf/openmeetings.git


The following commit(s) were added to refs/heads/4.0.x by this push:
     new ccc1fc6  [OPENMEETINGS-1877] the issue seems to be fixed
ccc1fc6 is described below

commit ccc1fc604abb4bad3b6d8d1eacf260a260813853
Author: Maxim Solodovnik <[email protected]>
AuthorDate: Tue Apr 24 18:44:57 2018 +0700

    [OPENMEETINGS-1877] the issue seems to be fixed
---
 .../openmeetings/core/converter/BaseConverter.java |  4 +-
 .../core/remote/ScopeApplicationAdapter.java       | 27 ++------
 .../apache/openmeetings/db/dto/room/CheckDto.java  | 74 ---------------------
 openmeetings-flash/src/main/flex/main.mxml         | 75 +++++++++-------------
 .../main/flex/org/apache/openmeetings/OmVideo.as   |  7 +-
 .../src/main/assembly/conf/jee-container.xml       | 10 +--
 .../java/org/apache/openmeetings/web/room/video.js |  2 +-
 7 files changed, 45 insertions(+), 154 deletions(-)

diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
index 904e86d..e9af1e4 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
@@ -74,7 +74,7 @@ public abstract class BaseConverter {
        @Autowired
        protected FileItemLogDao logDao;
 
-       protected static class Dimension {
+       public static class Dimension {
                private final int width;
                private final int height;
 
@@ -406,7 +406,7 @@ public abstract class BaseConverter {
                logs.add(ProcessHelper.executeScript(String.format("generate 
preview PNG :: %s", f.getHash()), argv));
        }
 
-       protected static Dimension getDimension(String txt) {
+       public static Dimension getDimension(String txt) {
                Matcher matcher = p.matcher(txt);
 
                while (matcher.find()) {
diff --git 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
index cd76dd4..78e417c 100644
--- 
a/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
+++ 
b/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/ScopeApplicationAdapter.java
@@ -37,6 +37,7 @@ import java.util.Map;
 import java.util.UUID;
 
 import org.apache.openmeetings.IApplication;
+import org.apache.openmeetings.core.converter.BaseConverter;
 import org.apache.openmeetings.core.service.RecordingService;
 import org.apache.openmeetings.core.util.IClientUtil;
 import org.apache.openmeetings.core.util.WebSocketHelper;
@@ -47,7 +48,6 @@ import org.apache.openmeetings.db.dao.record.RecordingDao;
 import org.apache.openmeetings.db.dao.room.RoomDao;
 import org.apache.openmeetings.db.dao.room.SipDao;
 import org.apache.openmeetings.db.dao.user.UserDao;
-import org.apache.openmeetings.db.dto.room.CheckDto;
 import org.apache.openmeetings.db.entity.basic.Client;
 import org.apache.openmeetings.db.entity.log.ConferenceLog;
 import org.apache.openmeetings.db.entity.room.Room;
@@ -501,6 +501,12 @@ public class ScopeApplicationAdapter extends 
MultiThreadedApplicationAdapter imp
                        String streamName = stream.getPublishedName();
                        _log.debug("start streamPublishStart broadcast start: 
{}, CONN {}", streamName, current);
                        c.setBroadcastId(streamName);
+                       final int sizeIdx = streamName.indexOf("__");
+                       if (sizeIdx > -1) {
+                               BaseConverter.Dimension d = 
BaseConverter.getDimension(streamName.substring(sizeIdx + 2));
+                               c.setWidth(d.getWidth());
+                               c.setHeight(d.getHeight());
+                       }
 
                        if (Client.Type.sharing != c.getType() && 
Client.Type.mobile != c.getType()) {
                                if (Strings.isEmpty(c.getAvsettings()) || 
"n".equals(c.getAvsettings())) {
@@ -1030,23 +1036,4 @@ public class ScopeApplicationAdapter extends 
MultiThreadedApplicationAdapter imp
                }
                return count != null && count > 0 ? count - 1 : 0;
        }
-
-       public CheckDto check() {
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-               Client cl = clientManager.getBySid(c.getSid());
-               return new CheckDto(cl);
-       }
-
-       public void resize(Double width, Double height) {
-               if (width == null || height == null) {
-                       return;
-               }
-               IConnection current = Red5.getConnectionLocal();
-               StreamClient c = 
streamClientManager.get(IClientUtil.getId(current.getClient()));
-               if (c == null) {
-                       return;
-               }
-               
streamClientManager.update(c.setWidth(width.intValue()).setHeight(height.intValue()));
-       }
 }
diff --git 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
 
b/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
deleted file mode 100644
index 1ef1d2b..0000000
--- 
a/openmeetings-db/src/main/java/org/apache/openmeetings/db/dto/room/CheckDto.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License") +  you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.openmeetings.db.dto.room;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.xml.bind.annotation.XmlAccessType;
-import javax.xml.bind.annotation.XmlAccessorType;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import org.apache.openmeetings.db.entity.basic.Client;
-import org.apache.openmeetings.db.entity.basic.Client.Activity;
-import org.apache.openmeetings.db.entity.basic.Client.Pod;
-import org.apache.openmeetings.db.entity.room.Room;
-
-@XmlRootElement
-@XmlAccessorType(XmlAccessType.FIELD)
-public class CheckDto {
-       private final long roomId;
-       private final Room.Type roomType;
-       private final boolean audioOnly;
-       private final Set<Activity> activities = new HashSet<>();
-       private final Pod pod;
-
-       public CheckDto(Client c) {
-               roomId = c.getRoom().getId();
-               roomType = c.getRoom().getType();
-               audioOnly = c.getRoom().isAudioOnly();
-               if (c.hasActivity(Activity.broadcastA)) {
-                       activities.add(Activity.broadcastA);
-               }
-               if (c.hasActivity(Activity.broadcastV)) {
-                       activities.add(Activity.broadcastV);
-               }
-               pod = c.getPod();
-       }
-
-       public long getRoomId() {
-               return roomId;
-       }
-
-       public Room.Type getRoomType() {
-               return roomType;
-       }
-
-       public boolean isAudioOnly() {
-               return audioOnly;
-       }
-
-       public Set<Activity> getActivities() {
-               return activities;
-       }
-
-       public Pod getPod() {
-               return pod;
-       }
-}
diff --git a/openmeetings-flash/src/main/flex/main.mxml 
b/openmeetings-flash/src/main/flex/main.mxml
index 105fc2a..e6a336d 100644
--- a/openmeetings-flash/src/main/flex/main.mxml
+++ b/openmeetings-flash/src/main/flex/main.mxml
@@ -184,50 +184,35 @@
                                        
ExternalInterface.addCallback("setRights", setRightsCallback);
                                        
ExternalInterface.addCallback("cleanup", cleanupCallback);
                                        video.connect(function ():void {
-                                               // trust no-one
-                                               video.getNc().call("check", new 
Responder(function (check:Object):void {
-                                                       debug("check", check);
-                                                       audioOnly = 
check.audioOnly;
-                                                       activities = 
check.activities;
-                                                       interview = 'interview' 
== check.roomType;
-                                                       
checkAvPermissions(function ():void {
-                                                               // trust no-one
-                                                               
video.getNc().call("check", new Responder(function (check:Object):void {
-                                                                       
debug("check", check);
-                                                                       
activities = check.activities;
-                                                                       
addImage(params.width, params.height);
-                                                                       
_resize(params.width, params.height);
-                                                                       
_updateExclusive();
-                                                                       
activityTimer.addEventListener(TimerEvent.TIMER, broadcastTimerListener);
-                                                                       
refreshBroadcast(null);
-                                                                       
ExternalInterface.call("VideoManager.securityMode", params.uid, false);
-                                                                       
ExternalInterface.addCallback("refresh", refreshBroadcast);
-                                                                       
ExternalInterface.addCallback("update", function ():void {
-                                                                               
video.getNc().call("check", new Responder(function (check:Object):void {
-                                                                               
        debug("check", check);
-                                                                               
        var pVideo:Boolean = hasVideo(), nVideo:Boolean = 
_hasVideo(check.activities)
-                                                                               
                        , pAudio:Boolean = hasAudio(), nAudio:Boolean = 
_hasAudio(check.activities);
-                                                                               
        if (nVideo != pVideo || nAudio != pAudio) {
-                                                                               
                // activities are changed
-                                                                               
                activities = check.activities;
-                                                                               
                if (nVideo && pVideo) {
-                                                                               
                        nAudio ? video.unmute() : video.mute();
-                                                                               
                        if (mic != null) {
-                                                                               
                                activityTimer.start();
-                                                                               
                        } else {
-                                                                               
                                activityTimer.stop();
-                                                                               
                        }
-                                                                               
                } else {
-                                                                               
                        refreshBroadcast(null);
-                                                                               
                }
-                                                                               
        }
-                                                                               
        _updateExclusive();
-                                                                               
        //debug("Client updated: ", c);
-                                                                               
}));
-                                                                       });
-                                                               }));
+                                               checkAvPermissions(function 
():void {
+                                                       addImage(params.width, 
params.height);
+                                                       _resize(params.width, 
params.height);
+                                                       _updateExclusive();
+                                                       
activityTimer.addEventListener(TimerEvent.TIMER, broadcastTimerListener);
+                                                       refreshBroadcast(null);
+                                                       
ExternalInterface.call("VideoManager.securityMode", params.uid, false);
+                                                       
ExternalInterface.addCallback("refresh", refreshBroadcast);
+                                                       
ExternalInterface.addCallback("update", function(c:Object):void {
+                                                               var 
pVideo:Boolean = hasVideo(), nVideo:Boolean = _hasVideo(c.activities)
+                                                                               
, pAudio:Boolean = hasAudio(), nAudio:Boolean = _hasAudio(c.activities);
+                                                               if (nVideo != 
pVideo || nAudio != pAudio) {
+                                                                       // 
activities are changed
+                                                                       
activities = c.activities;
+                                                                       if 
(nVideo && pVideo) {
+                                                                               
nAudio ? video.unmute() : video.mute();
+                                                                               
if (mic != null) {
+                                                                               
        activityTimer.start();
+                                                                               
} else {
+                                                                               
        activityTimer.stop();
+                                                                               
}
+                                                                       } else {
+                                                                               
refreshBroadcast(null);
+                                                                       }
+                                                               }
+                                                               
_updateExclusive();
+                                                               //debug("Client 
updated: ", c);
                                                        });
-                                               }))
+                                               });
                                        });
                                }
                                        break;
@@ -613,8 +598,8 @@
                        volumeRect.height = ah;
                        if (active !== _active) {
                                active = _active;
-                               video.getNc().call("micActivity", new 
Responder(function (res:Object):void {
-                               }), active);
+                               //video.getNc().call("micActivity", new 
Responder(function (res:Object):void {
+                               //}), active);
                                
ExternalInterface.call("VideoManager.micActivity", params.uid, active);
                        }
                }
diff --git 
a/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as 
b/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
index cd0a0e8..bc863db 100644
--- a/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
+++ b/openmeetings-flash/src/main/flex/org/apache/openmeetings/OmVideo.as
@@ -193,7 +193,8 @@ public class OmVideo {
                this.mic = _mic;
                createStream();
 
-               ns.publish(name, (mode === BROADCAST) ? LIVE : mode);
+               ns.publish(name + "__" + (cam === null ? 0 : cam.width) + "x" + 
(cam === null ? 0 : cam.height)
+                               , (mode === BROADCAST) ? LIVE : mode);
                ns.attachCamera(cam);
                attachCamera(cam);
                if (cam !== null) {
@@ -306,9 +307,7 @@ public class OmVideo {
 
        public function broadcast(name:String, cam:Camera, 
_mic:Microphone):void {
                connect(function():void {
-                       nc.call("resize", new Responder(function ():void {
-                               _publish(BROADCAST, name, cam, _mic, null);
-                       }), cam === null ? 0 : cam.width, cam === null ? 0 : 
cam.height);
+                       _publish(BROADCAST, name, cam, _mic, null);
                });
        }
 
diff --git a/openmeetings-server/src/main/assembly/conf/jee-container.xml 
b/openmeetings-server/src/main/assembly/conf/jee-container.xml
index 79d274d..4266859 100644
--- a/openmeetings-server/src/main/assembly/conf/jee-container.xml
+++ b/openmeetings-server/src/main/assembly/conf/jee-container.xml
@@ -40,6 +40,7 @@
                                        <property name="redirectPort" 
value="${https.port}" />
                                        <property name="connectionProperties">
                                                <map>
+                                                       <entry 
key="maxHttpHeaderSize" value="${http.max_headers_size}"/>
                                                        <entry 
key="maxKeepAliveRequests" value="${http.max_keep_alive_requests}"/>
                                                        <entry 
key="keepAliveTimout" value="-1"/>
                                                </map>
@@ -61,10 +62,6 @@
                                        <property name="pattern" value="common" 
/>
                                        <property name="rotatable" value="true" 
/>
                                </bean>
-                               <bean id="valve.error" 
class="org.apache.catalina.valves.ErrorReportValve">
-                                       <property name="showReport" 
value="false" />
-                                       <property name="showServerInfo" 
value="false" />
-                               </bean>
                        </list>
                </property>
        </bean>
@@ -97,6 +94,7 @@
                                                        <entry 
key="truststorePass" value="${rtmps.truststorepass}" />
                                                        <entry key="clientAuth" 
value="false" />
                                                        <entry 
key="allowUnsafeLegacyRenegotiation" value="true" />
+                                                       <entry 
key="maxHttpHeaderSize" value="${http.max_headers_size}"/>
                                                        <entry 
key="maxKeepAliveRequests" value="${http.max_keep_alive_requests}"/>
                                                        <entry 
key="keepAliveTimout" value="-1"/>
                                                        <entry 
key="useExecutor" value="true"/>
@@ -122,10 +120,6 @@
                                        <property name="pattern" value="common" 
/>
                                        <property name="rotatable" value="true" 
/>
                                </bean>
-                               <bean id="valve.error" 
class="org.apache.catalina.valves.ErrorReportValve">
-                                       <property name="showReport" 
value="false" />
-                                       <property name="showServerInfo" 
value="false" />
-                               </bean>
                        </list>
                </property>
        </bean>
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 47f8011..9ce3d20 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
@@ -228,7 +228,7 @@ var Video = (function() {
                const name = _getName();
                v.dialog('option', 'title', 
name).parent().find('.ui-dialog-titlebar').attr('title', name);
                if (typeof(swf[0].update) === 'function') {
-                       c.self ? swf[0].update() : swf[0].update(c);
+                       swf[0].update(c);
                }
        }
        function _refresh(_opts) {

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to