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/01/13 08:09:25 UTC

svn commit: r1778506 - in /openmeetings/application: branches/3.2.x/openmeetings-flash/src/main/swf/ branches/3.2.x/openmeetings-flash/src/main/swf/base/ branches/3.2.x/openmeetings-flash/src/main/swf/base/hibernate/ branches/3.2.x/openmeetings-flash/s...

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