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 2015/10/19 21:26:17 UTC

svn commit: r1709468 - in /openmeetings/branches/3.0.x/WebContent: src/ src/base/ src/modules/conference/ src/modules/conference/restricted/ swf10/ swf10/video/

Author: solomax
Date: Mon Oct 19 19:26:16 2015
New Revision: 1709468

URL: http://svn.apache.org/viewvc?rev=1709468&view=rev
Log:
[OPENMEETINGS-1271] LocalConnection problems should be fixed

Modified:
    openmeetings/branches/3.0.x/WebContent/src/base/mainMethods.lzx
    openmeetings/branches/3.0.x/WebContent/src/main.lzx
    openmeetings/branches/3.0.x/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx
    openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserList.lzx
    openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx
    openmeetings/branches/3.0.x/WebContent/swf10/commonVideoViewContentSWF10.lzx
    openmeetings/branches/3.0.x/WebContent/swf10/main.as3.lzx
    openmeetings/branches/3.0.x/WebContent/swf10/video/baseVideoObject.lzx

Modified: openmeetings/branches/3.0.x/WebContent/src/base/mainMethods.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/base/mainMethods.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/base/mainMethods.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/base/mainMethods.lzx Mon Oct 19 19:26:16 2015
@@ -1018,42 +1018,9 @@
 		return downloadurl;
 	]]>
 	</method>
-		
+
 	<method name="sendViaLocalConnection" args="lc_name,methodName,tArray">
-		var so:SharedObject = SharedObject.getLocal("__getObjectSizeHelper");
-		so.data.o = tArray;
-		var size:Number = so.getSize();
-		so.clear();
-		if (size > 35000) {
-			if ($debug) Debug.warn("Too big object being sent via localConnection ", size); //,tArray
-			return;
-		}
-		//if ($debug) Debug.info("sendViaLocalConnection ",lc_name,methodName); //,tArray
-		if (tArray == null || tArray.length == 0) {
-			canvas.lc.send(lc_name,methodName);
-		} else if (tArray.length == 1) {
-			canvas.lc.send(lc_name,methodName,tArray[0]);
-		} else if (tArray.length == 2) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1]);
-		} else if (tArray.length == 3) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2]);
-		} else if (tArray.length == 4) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3]);
-		} else if (tArray.length == 5) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4]);
-		} else if (tArray.length == 6) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5]);
-		} else if (tArray.length == 7) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6]);
-		} else if (tArray.length == 8) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7]);
-		} else if (tArray.length == 9) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8]);
-		} else if (tArray.length == 10) {
-			canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8],tArray[9]);
-		} else {
-			if ($debug) Debug.error("tArray in sendViaLocalConnection longer then allowed")
-		}
+		canvas.localConnectionSendQ.push({cName: lc_name, mName: methodName, tArray: tArray});
 	</method>
 	
 	<method name="getNotNullString" args="value">

Modified: openmeetings/branches/3.0.x/WebContent/src/main.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/main.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/main.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/main.lzx Mon Oct 19 19:26:16 2015
@@ -47,20 +47,94 @@
 <silverstyle name="itemStyle" textcolor="0xFFFFFF" />
 
 <whitestyle name="menuStyle" textcolor="0x000000" />
-             
+<attribute name="localConnectionSendQ" type="object" value="null" />
+<attribute name="localConnectionQProcessorDelegate" type="object" value="null"/>
 
-<!-- main colors: 264269 -->
-<handler name="oninit">
-	flash.external.ExternalInterface.call("loadingComplete");
-	doDebugInit();
-    var cmenu = new LzContextMenu();
-    canvas.setDefaultContextMenu(cmenu);
-    cmenu.hideBuiltInItems();
-    if($debug) Debug.write("main.lzx/oninit:",this);
-    canvas.lc = new LocalConnection();
+	<!-- main colors: 264269 -->
+	<handler name="oninit">
+		flash.external.ExternalInterface.call("loadingComplete");
+		doDebugInit();
+		var cmenu = new LzContextMenu();
+		canvas.setDefaultContextMenu(cmenu);
+		cmenu.hideBuiltInItems();
+		if($debug) Debug.write("main.lzx/oninit:",this);
+		canvas.lc = new LocalConnection();
+		localConnectionSendQ = new Array();
+		if($debug) Debug.write("canvas.lc: ", canvas.lc);
+		localConnectionQProcessorDelegate = new LzDelegate(parent, "processLocalQ");
+		lz.Timer.addTimer(localConnectionQProcessorDelegate, 0);
+		canvas.lc.onStatus = function(obj:flash.events.StatusEvent) {
+			if (obj.level == 'error') {
+				if($debug) Debug.warn("LocalConnection:: error while sending ", obj);
+			} else {
+				var sm = localConnectionSendQ.shift();
+				if (sm) {
+					realSendViaLocalConnection(sm.cName, sm.mName, sm.tArray);
+				} else {
+					lz.Timer.resetTimer(localConnectionQProcessorDelegate, 100);
+				}
+			}
+		}
+	
+		getTimeZoneOffset(this);
+	</handler>
+	
+	<method name="processLocalQ" args="none">
+	<![CDATA[
+		//if ($debug) Debug.info("  ::processLocalQ !!!!! ");
+		if (localConnectionSendQ.length > 0) {
+			var sm = localConnectionSendQ.shift();
+			realSendViaLocalConnection(sm.cName, sm.mName, sm.tArray);
+		} else {
+			lz.Timer.resetTimer(localConnectionQProcessorDelegate, 100);
+		}
+	]]>
+	</method>
 
-	getTimeZoneOffset(this);
-</handler>
+	<method name="realSendViaLocalConnection" args="lc_name,methodName,tArray">
+	<![CDATA[
+		var so:SharedObject = SharedObject.getLocal("__getObjectSizeHelper");
+		so.data.o = tArray;
+		var size:Number = so.getSize();
+		so.clear();
+		if (size > 10000 && size < 30001) {
+			if ($debug) Debug.warn("Too big object being sent via localConnection::10K warn ", size); //,tArray
+		} else if (size > 30000) {
+			if ($debug) Debug.error("Too big object being sent via localConnection ", size); //,tArray
+			return;
+		}
+		if ($debug) Debug.info("sendViaLocalConnection ", lc_name, methodName, size); //,tArray
+		try{
+			if (tArray == null || tArray.length == 0) {
+				canvas.lc.send(lc_name,methodName);
+			} else if (tArray.length == 1) {
+				canvas.lc.send(lc_name,methodName,tArray[0]);
+			} else if (tArray.length == 2) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1]);
+			} else if (tArray.length == 3) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2]);
+			} else if (tArray.length == 4) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3]);
+			} else if (tArray.length == 5) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4]);
+			} else if (tArray.length == 6) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5]);
+			} else if (tArray.length == 7) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6]);
+			} else if (tArray.length == 8) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7]);
+			} else if (tArray.length == 9) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8]);
+			} else if (tArray.length == 10) {
+				canvas.lc.send(lc_name,methodName,tArray[0],tArray[1],tArray[2],tArray[3],tArray[4],tArray[5],tArray[6],tArray[7],tArray[8],tArray[9]);
+			} else {
+				if ($debug) Debug.error("tArray in sendViaLocalConnection longer then allowed")
+			}
+		} catch(e:Error) {
+			if ($debug) Debug.error("Error while sending ", e);
+		}
+	]]>
+	</method>
 
 <handler name="onerror" args="errmsg">
 	canvas.remoteLogWrite("error " + errmsg);

Modified: openmeetings/branches/3.0.x/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/conference/commonVideoComponentAdapter.lzx Mon Oct 19 19:26:16 2015
@@ -92,6 +92,10 @@
         canvas.sendViaLocalConnection(canvas.vid_lc_name, "createVideoObject", [publicSID, isBroadcasting, interviewPodId,object]);
     </method>
 
+	<method name="batchCreateVideo" args="selfStreamId, clients">
+		canvas.sendViaLocalConnection(canvas.vid_lc_name, "batchCreateVideo", [selfStreamId, clients]);
+	</method>
+
     <!---
         invoked whenever a User starts to Stream Video in this Room,
         interviewPodId has only a meaning in the Room Type Interview

Modified: openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserList.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserList.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserList.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserList.lzx Mon Oct 19 19:26:16 2015
@@ -32,7 +32,12 @@
     
     <attribute name="allowUserQuestions" value="true" type="boolean" />
 
-    <attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
+	<attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
+	<attribute name="timeout" value="500" type="number"/>
+	<attribute name="batchSize" value="10" type="number"/>
+	<attribute name="counter" value="0" type="number"/>
+	<attribute name="batchCreateVideoDelegate" type="object" value="null"/>
+	<attribute name="initClients" type="object" />
     
     <handler name="onallowUserQuestions" args="bool">
         if (bool != null) {
@@ -178,18 +183,12 @@
                 } else {
                     value[i].selfItem = false;
                 }
-
-                //value[i].lastname = value[i].lastname + "T: " + t;
-                
-                //if ($debug) Debug.write("getClientListScope value: ",value[i]);
-                this.parent.addItemInitial(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,
-                              '',value[i].formatedDate,value[i].userpos,value[i].usercolor,value[i]);
-            }
-            
-            //this content must be inited _after_ setting the default values
-            canvas.thishib.getCurrentModeratorList.doCall(); 
-            //FIXME Issue-1076
-            canvas.thishib.checkLzRecording.doCall();
+				parent.addItemInitial(value[i]);
+			}
+			parent.batchCreateVideoDelegate = new LzDelegate(parent, "batchCreateVideo");
+			parent.counter = 0;
+			parent.initClients = value;
+			lz.Timer.addTimer(parent.batchCreateVideoDelegate, 0);
             
             //Render and Show User-List
             parent._participants.sortAndRenderList();
@@ -201,37 +200,47 @@
         </handler>  
     </netRemoteCallHib>
 
+	<method name="batchCreateVideo" args="none">
+	<![CDATA[
+		if ($debug) Debug.write("interval 0 :: ", counter, initClients.length);
+		if (!batchCreateVideoDelegate) {
+			return;
+		}
+		var cl = new Array();
+		for (var i = 0; i < batchSize; ++i) {
+			cl[i] = initClients[counter++];
+			if (counter == initClients.length) {
+				break;
+			}
+		}
+		if ($debug) Debug.write("interval:: ", counter, cl.length);
+		this._videoviewcontent.batchCreateVideo(canvas.streamid, cl);
+		if (counter == initClients.length) {
+			lz.Timer.removeTimer(batchCreateVideoDelegate);
+			batchCreateVideoDelegate = null;
+			
+			//this content must be inited _after_ setting the default values
+			canvas.thishib.getCurrentModeratorList.doCall();
+			//FIXME Issue-1076
+			canvas.thishib.checkLzRecording.doCall();
+		} else {
+			lz.Timer.resetTimer(batchCreateVideoDelegate, timeout);
+		}
+	]]>
+	</method>
+
     <!-- invoked if another client logs into the room 
     after choosing devices -->     
     <method name="setAVSettingsToClient" args="rcl">
         this._videoviewcontent.setAVSettingsToClient(rcl);
     </method> 
 
-    <method name="addItemInitial" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
-        <![CDATA[
-            //if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,isMod,streamid,username,formatedDate);
-            
-            //Do init only in case this stream is NOT the same as we are
-            if (streamid!=canvas.streamid){
-                
-                //do add others
-                this._participants.initialAddItem(object);
-                
-                //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
-                
-                if (object.isBroadcasting) {
-                    this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
-                } else {
-                    this._videoviewcontent.createVideoObject(object.publicSID, false, -1, object);
-                }
-                
-            } else {
-                //do add self too
-                this._participants.initialAddItem(object);
-            }
-           
-        ]]>
-    </method>
+	<method name="addItemInitial" args="object">
+	<![CDATA[
+		//if ($debug) Debug.write("initializeStreams addItem: ", object);
+		this._participants.initialAddItem(object);
+	]]>
+	</method>
 
     <method name="receiveExclusiveAudioFlag" args="publicSID">
     <![CDATA[
@@ -248,27 +257,17 @@
     </method>
 
 
-    <method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
-        <![CDATA[
-            if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,isMod,streamid,username,formatedDate);
-            
-            //Do init only in case this stream is NOT the same as we are
-            if (streamid!=canvas.streamid){
-                //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
-
-                this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
-
-                //do add others
-                this._participants.addItem(object);
-
-                //return myvideocontainer;
-            } else {
-                //do add self too
-                this._participants.addItem(object);
-            }
-           
-        ]]>
-    </method>
+	<method name="addItem" args="connectedSince,isMod,streamid,username,userroom,formatedDate,position,color,object">
+	<![CDATA[
+		if ($debug) Debug.write("initializeStreams addItem: ",connectedSince,isMod,streamid,username,formatedDate);
+		
+		//Do init only in case this stream is NOT the same as we are
+		if (streamid != canvas.streamid) {
+			this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1, object);
+		}
+		this._participants.addItem(object);
+	]]>
+	</method>
     
     <method name="addClientItem" args="connectedSince,isMod,streamid,username,room_id,formatedDate,position,color,object">
         <![CDATA[

Modified: openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/src/modules/conference/restricted/restrictedUserListInner.lzx Mon Oct 19 19:26:16 2015
@@ -48,13 +48,13 @@
 			this._table.renderList = new Array();
 		}
 		//Check for duplicates
-        var list = this._table.renderList;
-        for (var i = 0; i < list.length; ++i) {
-            if (list[i].publicSID == object.publicSID) {
-                //if ($debug) Debug.warn("Already on List, do not add twice");
-                return;
-            }
-        }
+		var list = this._table.renderList;
+		for (var i = 0; i < list.length; ++i) {
+			if (list[i].publicSID == object.publicSID) {
+				//if ($debug) Debug.warn("Already on List, do not add twice");
+				return;
+			}
+		}
 		
 		object.isSelected = false;
 		this._table.renderList.push(object);
@@ -79,28 +79,28 @@
         this._table.renderContent();
     </method>
     
-    <method name="sortUserList">
-    <![CDATA[
-    	if (!this._table.renderList) {
-    		return;
-    	}
-    	if (this.sortType == "alphabetical") {
-    		function sortByName(a,b) {
-    			if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1;
-    			else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1;
-    			else return 0;
-    		}
-    		this._table.renderList.sort(sortByName);
-    	} else {
-    		function sortByStreamId(a,b) {
-    			if(Number(a.streamid) == Number(b.streamid)) return 0;
-    			else if(Number(a.streamid) > Number(b.streamid)) return 1;
-    			else return -1;
-    		}
-    		this._table.renderList.sort(sortByStreamId);
-    	}
-    ]]>
-    </method>
+	<method name="sortUserList">
+	<![CDATA[
+		if (!this._table.renderList) {
+			return;
+		}
+		if (this.sortType == "alphabetical") {
+			function sortByName(a,b) {
+				if(a.firstname.toLowerCase() < b.firstname.toLowerCase()) return -1;
+				else if(a.firstname.toLowerCase() > b.firstname.toLowerCase()) return 1;
+				else return 0;
+			}
+			this._table.renderList.sort(sortByName);
+		} else {
+			function sortByStreamId(a,b) {
+				if(Number(a.streamid) == Number(b.streamid)) return 0;
+				else if(Number(a.streamid) > Number(b.streamid)) return 1;
+				else return -1;
+			}
+			this._table.renderList.sort(sortByStreamId);
+		}
+	]]>
+	</method>
     
     <method name="initList">
         if ($debug) Debug.write("initList :: restrictedUserListInner");

Modified: openmeetings/branches/3.0.x/WebContent/swf10/commonVideoViewContentSWF10.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/swf10/commonVideoViewContentSWF10.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/swf10/commonVideoViewContentSWF10.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/swf10/commonVideoViewContentSWF10.lzx Mon Oct 19 19:26:16 2015
@@ -47,8 +47,8 @@
             client.createEditRecordStream = this.createEditRecordStream;
             client.createVideoObject = this.createVideoObject;
             client.createVideo = this.createVideo;
+            client.batchCreateVideo = this.batchCreateVideo;
             client.getVideoObjectByPublicSID = this.getVideoObjectByPublicSID;
-            client.getNewVideoObject = this.getNewVideoObject;
             client.getVideoObjectFreePos = this.getVideoObjectFreePos;
             client.getVideoObjectCount = this.getVideoObjectCount;
             client.disconnectclient = this.disconnectclient;
@@ -99,6 +99,22 @@
 		return;
 	</method>
 
+	<method name="batchCreateVideo" args="selfStreamId, clients">
+	<![CDATA[
+		if ($debug) Debug.info("batchCreateVideo: ", selfStreamId, clients.length);
+		for (var i = 0; i < clients.length; ++i) {
+			var c = clients[i];
+			if (c.streamid != selfStreamId) {
+				if (c.isBroadcasting) {
+					createVideo(c.publicSID, c.firstname + ' ' + c.lastname, c.broadCastID, c.avsettings, -1, c);
+				} else {
+					createVideoObject(c.publicSID, false, -1, c);
+				}
+			}
+		}
+	]]>
+	</method>
+	
 	<!-- 
 		Method that creates the video views when another user enters a room and his 
 		item in the list of participants is created.
@@ -196,11 +212,6 @@
 
     <method name="getNewVideoObjectByPos" args="publicSID">
         <![CDATA[
-            var obj = this.getVideoObjectByPublicSID(publicSID);
-            if (obj!=null){
-                return obj;
-            }
-
             //Get a Free VideoView Slot
             var freePos = this.getVideoObjectFreePos(this.offsetLength,this.videoWidth,this.videoHeight);
 
@@ -215,20 +226,14 @@
         ]]>
     </method>
 
-    <method name="getNewVideoObject" args="publicSID">
-		<![CDATA[
-			var obj = this.getVideoObjectByPublicSID(publicSID);
-			if (obj!=null){
-				this.broadCastViewRef = obj;
-			} else {
-				this.broadCastViewRef = getNewVideoObjectByPos(publicSID);
-
-				this.broadCastViewRef._chatvideoinner.r.destroy();
-				if ($debug) Debug.write("getNewVideoObject canvas.userobject ",publicSID,canvas.userobject);
-				this.broadCastViewRef.setAttribute('chatpartnername',canvas.userobject.firstname+' '+canvas.userobject.lastname);
-			}
-			return this.broadCastViewRef;
-		]]>
+	<method name="getNewVideoObject" args="publicSID">
+	<![CDATA[
+		this.broadCastViewRef = getNewVideoObjectByPos(publicSID);
+		this.broadCastViewRef._chatvideoinner.r.destroy();
+		if ($debug) Debug.write("getNewVideoObject canvas.userobject ",publicSID,canvas.userobject);
+		this.broadCastViewRef.setAttribute('chatpartnername',canvas.userobject.firstname+' '+canvas.userobject.lastname);
+		return this.broadCastViewRef;
+	]]>
 	</method>
 
     <method name="getVideoObjectByInterviewPodId" args="interviewPodId">

Modified: openmeetings/branches/3.0.x/WebContent/swf10/main.as3.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/swf10/main.as3.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/swf10/main.as3.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/swf10/main.as3.lzx Mon Oct 19 19:26:16 2015
@@ -130,6 +130,7 @@
         var loader:Loader = new Loader();
         loader.load(request);
         this.mainComponent.sprite.addChild(loader);
+		canvas.currentRoomObject = new Object();
 
         new lz.commonVideoViewContentSWF10(this, {name:'_videoComponent'});
         new lz.hibAdapter(this);

Modified: openmeetings/branches/3.0.x/WebContent/swf10/video/baseVideoObject.lzx
URL: http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/WebContent/swf10/video/baseVideoObject.lzx?rev=1709468&r1=1709467&r2=1709468&view=diff
==============================================================================
--- openmeetings/branches/3.0.x/WebContent/swf10/video/baseVideoObject.lzx (original)
+++ openmeetings/branches/3.0.x/WebContent/swf10/video/baseVideoObject.lzx Mon Oct 19 19:26:16 2015
@@ -105,7 +105,7 @@
             this._giveExclusiveAudioView.bringToFront();
             
             this.isMicrophonesRoom = canvas.currentRoomObject.showMicrophoneStatus;
-            if (canvas.currentRoomObject.showMicrophoneStatus) {
+            if (isMicrophonesRoom) {
                 this._innertop.setAttribute("bgcolor", "0xFF6600");
                 this._innerbottom.setAttribute("bgcolor", "0xFF6600");
             } else {