Author: solomax
Date: Fri Jan 13 08:09:25 2017
New Revision: 1778506

URL: http://svn.apache.org/viewvc?rev=1778506&view=rev
Log:
[OPENMEETINGS-1376] AV autostarted on enter to conf room, another attemp to 
handle 'bad' settings

Modified:
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/commonVideoViewContentSWF10.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
    
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx
 Fri Jan 13 08:09:25 2017
@@ -462,6 +462,11 @@
                                hib.userobject = user;
                                canvas.currentRoomObj = value[1];
                                parent.getCurrentRoomClient.doCall();
+
+                               canvas.commonVideoViewContent.ensureAVsettings(
+                                               
canvas.myConfigSet.getPointer().xpathQuery('config/availableCameraResolutions/resolution[@isDefault="true"]/@width')
+                                               , 
canvas.myConfigSet.getPointer().xpathQuery('config/availableCameraResolutions/resolution[@isDefault="true"]/@height')
+                                       );
                        } else {
                                new lz.labelerrorPopup(canvas, {errorlabelid: 
1599});
                        }

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx
 Fri Jan 13 08:09:25 2017
@@ -125,11 +125,6 @@
                
this.setAttribute('protocol',canvas.myConfigSet.getPointer().xpathQuery('config/protocol/text()'));
                
this.setAttribute('proxyType',canvas.myConfigSet.getPointer().xpathQuery('config/proxyType/text()'));
 
-               canvas.commonVideoViewContent.ensureAVsettings(
-                               
canvas.myConfigSet.getPointer().xpathQuery('config/availableCameraResolutions/resolution[@isDefault="true"]/@width')
-                               , 
canvas.myConfigSet.getPointer().xpathQuery('config/availableCameraResolutions/resolution[@isDefault="true"]/@height')
-                       );
-
                //set user color
                canvas.currentusercolor = canvas.getColorForUser();
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/commonVideoViewContentSWF10.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/commonVideoViewContentSWF10.lzx?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/commonVideoViewContentSWF10.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/commonVideoViewContentSWF10.lzx
 Fri Jan 13 08:09:25 2017
@@ -706,7 +706,6 @@
 
        <method name="storeAVsettings" args="cam, mic, w, h">
        <![CDATA[
-               //if ($debug) Debug.write("sharedobject store::  [width, 
height] : [" + w + ", " + h + "]");
                var t:SharedObject = SharedObject.getLocal('userdata');
                var g = t.data;
                if (!g) g = new Array();
@@ -715,6 +714,7 @@
                g["width"] = w;
                g["height"] = h;
                t.flush();
+               //if ($debug) Debug.write("sharedobject store:: ", g);
                syncAVsettings(g);
        ]]>
        </method>

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx
 Fri Jan 13 08:09:25 2017
@@ -207,8 +207,8 @@
        <method name="selectListItem" args="combo, selected, select">
                if (selected != null) {
                        combo.selectItem(selected);
-               } else if (select) {
-                       combo.selectItemAt(0);
+               } else {
+                       combo.selectItemAt(select ? 1 : 0);
                }
        </method>
 

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 Fri Jan 13 08:09:25 2017
@@ -80,6 +80,7 @@ public class RoomSidebar extends Panel {
        private final SelfIconsPanel selfRights;
        private final ConfirmableAjaxBorder confirmKick;
        private boolean showFiles;
+       private boolean avInited = false;
        private Client kickedClient;
        private final ListView<Client> users = new ListView<Client>("user", new 
ArrayList<Client>()) {
                private static final long serialVersionUID = 1L;
@@ -168,37 +169,7 @@ public class RoomSidebar extends Panel {
                                }
                                Activity a = 
Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
                                Client c = getOnlineClient(uid);
-                               if (c == null) {
-                                       return;
-                               }
-                               if (!activityAllowed(c, a, room.getRoom()) && 
room.getClient().hasRight(Right.moderator)) {
-                                       if (a == Activity.broadcastA || a == 
Activity.broadcastAV) {
-                                               
c.getRights().add(Room.Right.audio);
-                                       }
-                                       if (!room.getRoom().isAudioOnly() && (a 
== Activity.broadcastV || a == Activity.broadcastAV)) {
-                                               
c.getRights().add(Room.Right.video);
-                                       }
-                               }
-                               if (activityAllowed(c, a, room.getRoom())) {
-                                       if (a == Activity.broadcastA && 
!c.isMicEnabled()) {
-                                               return;
-                                       }
-                                       if (a == Activity.broadcastV && 
!c.isCamEnabled()) {
-                                               return;
-                                       }
-                                       if (a == Activity.broadcastAV && 
!c.isMicEnabled() && !c.isCamEnabled()) {
-                                               return;
-                                       }
-                                       Pod pod = c.getPod();
-                                       
c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
-                                       if (pod != Pod.none && pod != 
c.getPod()) {
-                                               //pod has changed, no need to 
toggle
-                                               c.set(a);
-                                       } else {
-                                               c.toggle(a);
-                                       }
-                                       room.broadcast(target, c);
-                               }
+                               toggleActivity(c, a, target);
                        } catch (Exception e) {
                                log.error("Unexpected exception while toggle 
'activity'", e);
                        }
@@ -212,12 +183,19 @@ public class RoomSidebar extends Panel {
                        StringValue s = 
getRequest().getRequestParameters().getParameterValue(PARAM_SETTINGS);
                        if (!s.isEmpty()) {
                                JSONObject o = new JSONObject(s.toString());
-                               room.getClient().setCam(o.optInt("cam", -1));
-                               room.getClient().setMic(o.optInt("mic", -1));
+                               Client c = room.getClient();
+                               c.setCam(o.optInt("cam", -1));
+                               c.setMic(o.optInt("mic", -1));
                                boolean interview = Room.Type.interview == 
room.getRoom().getType();
-                               room.getClient().setWidth(interview ? 320 : 
o.optInt("width"));
-                               room.getClient().setHeight(interview ? 260 : 
o.optInt("height"));
-                               room.broadcast(target, room.getClient());
+                               c.setWidth(interview ? 320 : o.optInt("width"));
+                               c.setHeight(interview ? 260 : 
o.optInt("height"));
+                               if (!avInited) {
+                                       avInited = true;
+                                       if (Room.Type.conference == 
room.getRoom().getType()) {
+                                               toggleActivity(c, 
Activity.broadcastAV, target);
+                                       }
+                               }
+                               room.broadcast(target, c);
                        }
                }
        };
@@ -336,6 +314,40 @@ public class RoomSidebar extends Panel {
                upload.open(handler);
        }
 
+       public void toggleActivity(Client c, Activity a, AjaxRequestTarget 
target) {
+               if (c == null) {
+                       return;
+               }
+               if (!activityAllowed(c, a, room.getRoom()) && 
room.getClient().hasRight(Right.moderator)) {
+                       if (a == Activity.broadcastA || a == 
Activity.broadcastAV) {
+                               c.getRights().add(Room.Right.audio);
+                       }
+                       if (!room.getRoom().isAudioOnly() && (a == 
Activity.broadcastV || a == Activity.broadcastAV)) {
+                               c.getRights().add(Room.Right.video);
+                       }
+               }
+               if (activityAllowed(c, a, room.getRoom())) {
+                       if (a == Activity.broadcastA && !c.isMicEnabled()) {
+                               return;
+                       }
+                       if (a == Activity.broadcastV && !c.isCamEnabled()) {
+                               return;
+                       }
+                       if (a == Activity.broadcastAV && !c.isMicEnabled() && 
!c.isCamEnabled()) {
+                               return;
+                       }
+                       Pod pod = c.getPod();
+                       
c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
+                       if (pod != Pod.none && pod != c.getPod()) {
+                               //pod has changed, no need to toggle
+                               c.set(a);
+                       } else {
+                               c.toggle(a);
+                       }
+                       room.broadcast(target, c);
+               }
+       }
+
        public static boolean activityAllowed(Client c, Activity a, Room room) {
                boolean r = false;
                switch (a) {

Modified: 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
 (original)
+++ 
openmeetings/application/branches/3.2.x/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
 Fri Jan 13 08:09:25 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.room.sidebar.icon.activity;
 
+import static 
org.apache.openmeetings.web.room.sidebar.RoomSidebar.activityAllowed;
 import static 
org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_TOGGLE_ACTIVITY;
 
 import org.apache.openmeetings.db.entity.room.Room;
@@ -25,7 +26,6 @@ import org.apache.openmeetings.web.app.C
 import org.apache.openmeetings.web.app.Client.Activity;
 import org.apache.openmeetings.web.app.Client.Pod;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.RoomSidebar;
 import org.apache.openmeetings.web.room.sidebar.icon.ClientIcon;
 
 public abstract class RoomActivityIcon extends ClientIcon {
@@ -47,7 +47,7 @@ public abstract class RoomActivityIcon e
 
        protected boolean visible() {
                return Room.Type.interview != room.getRoom().getType()
-                               && RoomSidebar.activityAllowed(client, 
activity, room.getRoom());
+                               && activityAllowed(client, activity, 
room.getRoom());
        }
 
        @Override

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/RoomSidebar.java
 Fri Jan 13 08:09:25 2017
@@ -80,6 +80,7 @@ public class RoomSidebar extends Panel {
        private final SelfIconsPanel selfRights;
        private final ConfirmableAjaxBorder confirmKick;
        private boolean showFiles;
+       private boolean avInited = false;
        private Client kickedClient;
        private final ListView<Client> users = new ListView<Client>("user", new 
ArrayList<Client>()) {
                private static final long serialVersionUID = 1L;
@@ -168,37 +169,7 @@ public class RoomSidebar extends Panel {
                                }
                                Activity a = 
Activity.valueOf(getRequest().getRequestParameters().getParameterValue(PARAM_ACTIVITY).toString());
                                Client c = getOnlineClient(uid);
-                               if (c == null) {
-                                       return;
-                               }
-                               if (!activityAllowed(c, a, room.getRoom()) && 
room.getClient().hasRight(Right.moderator)) {
-                                       if (a == Activity.broadcastA || a == 
Activity.broadcastAV) {
-                                               
c.getRights().add(Room.Right.audio);
-                                       }
-                                       if (!room.getRoom().isAudioOnly() && (a 
== Activity.broadcastV || a == Activity.broadcastAV)) {
-                                               
c.getRights().add(Room.Right.video);
-                                       }
-                               }
-                               if (activityAllowed(c, a, room.getRoom())) {
-                                       if (a == Activity.broadcastA && 
!c.isMicEnabled()) {
-                                               return;
-                                       }
-                                       if (a == Activity.broadcastV && 
!c.isCamEnabled()) {
-                                               return;
-                                       }
-                                       if (a == Activity.broadcastAV && 
!c.isMicEnabled() && !c.isCamEnabled()) {
-                                               return;
-                                       }
-                                       Pod pod = c.getPod();
-                                       
c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
-                                       if (pod != Pod.none && pod != 
c.getPod()) {
-                                               //pod has changed, no need to 
toggle
-                                               c.set(a);
-                                       } else {
-                                               c.toggle(a);
-                                       }
-                                       room.broadcast(target, c);
-                               }
+                               toggleActivity(c, a, target);
                        } catch (Exception e) {
                                log.error("Unexpected exception while toggle 
'activity'", e);
                        }
@@ -212,12 +183,19 @@ public class RoomSidebar extends Panel {
                        StringValue s = 
getRequest().getRequestParameters().getParameterValue(PARAM_SETTINGS);
                        if (!s.isEmpty()) {
                                JSONObject o = new JSONObject(s.toString());
-                               room.getClient().setCam(o.optInt("cam", -1));
-                               room.getClient().setMic(o.optInt("mic", -1));
+                               Client c = room.getClient();
+                               c.setCam(o.optInt("cam", -1));
+                               c.setMic(o.optInt("mic", -1));
                                boolean interview = Room.Type.interview == 
room.getRoom().getType();
-                               room.getClient().setWidth(interview ? 320 : 
o.optInt("width"));
-                               room.getClient().setHeight(interview ? 260 : 
o.optInt("height"));
-                               room.broadcast(target, room.getClient());
+                               c.setWidth(interview ? 320 : o.optInt("width"));
+                               c.setHeight(interview ? 260 : 
o.optInt("height"));
+                               if (!avInited) {
+                                       avInited = true;
+                                       if (Room.Type.conference == 
room.getRoom().getType()) {
+                                               toggleActivity(c, 
Activity.broadcastAV, target);
+                                       }
+                               }
+                               room.broadcast(target, c);
                        }
                }
        };
@@ -336,6 +314,40 @@ public class RoomSidebar extends Panel {
                upload.open(handler);
        }
 
+       public void toggleActivity(Client c, Activity a, AjaxRequestTarget 
target) {
+               if (c == null) {
+                       return;
+               }
+               if (!activityAllowed(c, a, room.getRoom()) && 
room.getClient().hasRight(Right.moderator)) {
+                       if (a == Activity.broadcastA || a == 
Activity.broadcastAV) {
+                               c.getRights().add(Room.Right.audio);
+                       }
+                       if (!room.getRoom().isAudioOnly() && (a == 
Activity.broadcastV || a == Activity.broadcastAV)) {
+                               c.getRights().add(Room.Right.video);
+                       }
+               }
+               if (activityAllowed(c, a, room.getRoom())) {
+                       if (a == Activity.broadcastA && !c.isMicEnabled()) {
+                               return;
+                       }
+                       if (a == Activity.broadcastV && !c.isCamEnabled()) {
+                               return;
+                       }
+                       if (a == Activity.broadcastAV && !c.isMicEnabled() && 
!c.isCamEnabled()) {
+                               return;
+                       }
+                       Pod pod = c.getPod();
+                       
c.setPod(getRequest().getRequestParameters().getParameterValue(PARAM_POD).toOptionalInteger());
+                       if (pod != Pod.none && pod != c.getPod()) {
+                               //pod has changed, no need to toggle
+                               c.set(a);
+                       } else {
+                               c.toggle(a);
+                       }
+                       room.broadcast(target, c);
+               }
+       }
+
        public static boolean activityAllowed(Client c, Activity a, Room room) {
                boolean r = false;
                switch (a) {

Modified: 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java?rev=1778506&r1=1778505&r2=1778506&view=diff
==============================================================================
--- 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
 (original)
+++ 
openmeetings/application/trunk/openmeetings-web/src/main/java/org/apache/openmeetings/web/room/sidebar/icon/activity/RoomActivityIcon.java
 Fri Jan 13 08:09:25 2017
@@ -18,6 +18,7 @@
  */
 package org.apache.openmeetings.web.room.sidebar.icon.activity;
 
+import static 
org.apache.openmeetings.web.room.sidebar.RoomSidebar.activityAllowed;
 import static 
org.apache.openmeetings.web.room.sidebar.RoomSidebar.FUNC_TOGGLE_ACTIVITY;
 
 import org.apache.openmeetings.db.entity.room.Room;
@@ -25,7 +26,6 @@ import org.apache.openmeetings.web.app.C
 import org.apache.openmeetings.web.app.Client.Activity;
 import org.apache.openmeetings.web.app.Client.Pod;
 import org.apache.openmeetings.web.room.RoomPanel;
-import org.apache.openmeetings.web.room.sidebar.RoomSidebar;
 import org.apache.openmeetings.web.room.sidebar.icon.ClientIcon;
 
 public abstract class RoomActivityIcon extends ClientIcon {
@@ -47,7 +47,7 @@ public abstract class RoomActivityIcon e
 
        protected boolean visible() {
                return Room.Type.interview != room.getRoom().getType()
-                               && RoomSidebar.activityAllowed(client, 
activity, room.getRoom());
+                               && activityAllowed(client, activity, 
room.getRoom());
        }
 
        @Override


Reply via email to