You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2011/12/18 16:39:41 UTC

svn commit: r1220435 [1/2] - in /incubator/openmeetings/branches/video-components: ./ WebContent/openmeetings/ WebContent/openmeetings/modules/conference/video/ WebContent/openmeetings/swf10/ WebContent/openmeetings/swf10/base/remote/ WebContent/openme...

Author: sebawagner
Date: Sun Dec 18 15:39:40 2011
New Revision: 1220435

URL: http://svn.apache.org/viewvc?rev=1220435&view=rev
Log:
Sync r4592 from video-components branch

Added:
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContentSWF10.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoContainer.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoInfoStuff.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStreamSWF10.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePicSWF10.lzx
Removed:
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContent.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStream.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoContainer.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoInfoStuff.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePic.lzx
Modified:
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/main.as3.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/maindebug.as3.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/base/remote/baseVideoStreamDevice.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/baseVideoObject.lzx
    incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/library.lzx
    incubator/openmeetings/branches/video-components/build.xml

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/main.as3.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/main.as3.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/main.as3.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/main.as3.lzx Sun Dec 18 15:39:40 2011
@@ -34,7 +34,7 @@
 
     <include href="swf10/video/" />
 
-    <include href="swf10/commonVideoViewContent.lzx" />
+    <include href="swf10/commonVideoViewContentSWF10.lzx" />
 
     <include href="swf10/hibAdapter.lzx" />
 
@@ -68,7 +68,7 @@
         loader.load(request);
         this.mainComponent.sprite.addChild(loader);
 
-        new lz.commonVideoViewContent(this, {name:'_videoComponent'});
+        new lz.commonVideoViewContentSWF10(this, {name:'_videoComponent'});
         new lz.hibAdapter(this);
 
     ]]></handler>

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/maindebug.as3.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/maindebug.as3.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/maindebug.as3.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/maindebug.as3.lzx Sun Dec 18 15:39:40 2011
@@ -34,7 +34,7 @@
 
     <include href="swf10/video/" />
 
-    <include href="swf10/commonVideoViewContent.lzx" />
+    <include href="swf10/commonVideoViewContentSWF10.lzx" />
 
     <include href="swf10/hibAdapter.lzx" />
 
@@ -68,7 +68,7 @@
         loader.load(request);
         this.mainComponent.sprite.addChild(loader);
 
-        new lz.commonVideoViewContent(this, {name:'_videoComponent'});
+        new lz.commonVideoViewContentSWF10(this, {name:'_videoComponent'});
         new lz.hibAdapter(this);
 
     ]]></handler>

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/editRecordStream.lzx Sun Dec 18 15:39:40 2011
@@ -39,7 +39,7 @@
             t.getBroadCastId.doCall();
         };
         canvas.videoComp_lc.sendNotification = function(objMessage) {
-            //if ($debug) Debug.write("Level sendNotification ",this.isgreater);
+            if ($debug) Debug.write("Level sendNotification ",this.isgreater);
             t.objMessage = objMessage;
             t.sendMessage.doCall();
         };
@@ -55,8 +55,8 @@
 
         		canvas.videoComp_lc.send(canvas.videoComp_lc_callback_name, 'clb_getBroadCastId', value)
 
-        		canvas.setAttribute("currentMicName", Microphone.names[parent.chosenMic]);
-        		canvas.setAttribute("currentCamName", Camera.names[parent.chosenCam]);
+        		//canvas.setAttribute("currentMicName", Microphone.names[parent.chosenMic]);
+        		//canvas.setAttribute("currentCamName", Camera.names[parent.chosenCam]);
         		
         		if ($debug) Debug.write("parent.setUserAVSettings -1- ",parent.chosenSetting);
         		if ($debug) Debug.write("parent.setUserAVSettings -2- ",parent.remoteMessage);

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/base/remote/baseVideoStreamDevice.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/base/remote/baseVideoStreamDevice.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/base/remote/baseVideoStreamDevice.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/base/remote/baseVideoStreamDevice.lzx Sun Dec 18 15:39:40 2011
@@ -71,6 +71,7 @@
 	</handler>
 
     <method name="onMicStatus" args="stats">
+    	if ($debug) Debug.write("onMicStatus 1: ",stats);
         this.sendMicroStatus.sendEvent(stats.info.code);
     </method>
 

Added: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContentSWF10.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContentSWF10.lzx?rev=1220435&view=auto
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContentSWF10.lzx (added)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/commonVideoViewContentSWF10.lzx Sun Dec 18 15:39:40 2011
@@ -0,0 +1,370 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+
+
+<class name="commonVideoViewContentSWF10" extends="view">
+
+    <switch>
+        <when property="$as3">
+            <passthrough>
+                import flash.net.LocalConnection;
+            </passthrough>
+        </when>
+    </switch>
+
+    <attribute name="offsetLength" type="number" value="40"/>
+    <attribute name="videoWidth" type="number" value="132"/>
+    <attribute name="videoHeight" type="number" value="132"/>
+
+    <handler name="oninit">
+        <![CDATA[
+
+            var client = {};
+            client.t = this;
+
+            client.reconnect = this.reconnect;
+            client.initVideoContainer = this.initVideoContainer;
+            client.createEditRecordStream = this.createEditRecordStream;
+            client.createVideoObject = this.createVideoObject;
+            client.createVideo = this.createVideo;
+            client.getVideoObjectByPublicSID = this.getVideoObjectByPublicSID;
+            client.getNewVideoObject = this.getNewVideoObject;
+            client.getVideoObjectFreePos = this.getVideoObjectFreePos;
+            client.disconnectclient = this.disconnectclient;
+            client.resetAllValues = this.resetAllValues;
+            client.closeStreamClient = this.closeStreamClient;
+            client.setSpeakingByPos = this.setSpeakingByPos;
+            client.setAVSettingsToClient = this.setAVSettingsToClient;
+            client.startStream = this.startStream;
+            client.clearAll = this.clearAll;
+            client.removeVideoByUser = this.removeVideoByUser;
+            client.muteSound = this.muteSound;
+            client.videoOnMove = this.videoOnMove;
+            client.updateMuteStatusVideoView = this.updateMuteStatusVideoView;
+            client.ismoderatorChanged = this.ismoderatorChanged;
+
+            var lc:LocalConnection = new LocalConnection();
+            lc.connect(canvas.vid_lc_name);
+            lc.client = client;
+            canvas.setAttribute("lc", lc);
+        ]]>
+    </handler>
+
+    <method name="reconnect" args="src">
+        canvas.thishib.setAttribute('src',src);
+        canvas.thishib.disconnect();
+    </method>
+
+    <method name="initVideoContainer" args="publicSID,firstName,lastName,offsetLength,videoWidth,videoHeight">
+        canvas.setAttribute("publicSID",publicSID);
+        canvas.setAttribute("firstName",firstName);
+        canvas.setAttribute("lastName",lastName);
+        this.setAttribute("offsetLength",offsetLength);
+        this.setAttribute("videoWidth",videoWidth);
+        this.setAttribute("videoHeight",videoHeight);
+    </method>
+
+	<method name="createEditRecordStream" args="syncUpdate,isInterview">
+		if($debug) Debug.info("createEditRecordStream,",syncUpdate,isInterview);
+		if (canvas.inner.editRecordStream != null)
+			canvas.inner.editRecordStream.destroy();
+		new lz.editRecordStreamSWF10(canvas.inner, {
+					name : "editRecordStream",
+					isSyncUpdate : syncUpdate,
+					isInterview : isInterview
+				});
+	</method>
+
+    <method name="createVideoObject" args="publicSID,isBroadcasting,interviewPodId">
+        if($debug) Debug.info("createVideoObject, publicSID: ",publicSID, "isBroadcasting: ", isBroadcasting);
+        var vidContainer = getVideoObjectByPublicSID(publicSID);
+        if(vidContainer == null) {
+            vidContainer = isBroadcasting ? this.getNewVideoObject(publicSID) : this.getNewVideoObjectByPos(publicSID);
+            vidContainer.publicSID = publicSID;
+            vidContainer.setAttribute("interviewPodId", interviewPodId);
+        }
+        vidContainer.setAttribute('visibility','hidden');
+        return vidContainer;
+    </method>
+
+    <method name="createVideo" args="publicSID,displayName,broadcastId,avsettings,interviewPodId">
+        <![CDATA[
+            if($debug) Debug.info("createVideo, publicSID: ",publicSID,"broadcastId: ",broadcastId,"AVsettings: ",avsettings);
+            var vidContainer = getVideoObjectByPublicSID(publicSID);
+            if(vidContainer == null) {
+                vidContainer = this.getNewVideoObjectByPos(publicSID);
+                vidContainer.setAttribute('chatpartnername',displayName);
+                if (avsettings=="n"){
+                    //vidContainer.setVideouserProfilePic(object);
+                } else if (avsettings=="a"){
+                    //vidContainer.setVideouserProfilePic(object);
+                    if ($debug) Debug.warn("start play");
+                    vidContainer._chatvideoinner._videostream.playStream(broadcastId,-1);
+                    vidContainer.setAttribute("visibility","visible");
+                } else {
+                    vidContainer._chatvideoinner._videostream.playStream(broadcastId,-1);
+                    vidContainer.setAttribute("visibility","visible");
+                }
+                //vidContainer.updateAVSettingsSymbol(object);
+                vidContainer.setAttribute("interviewPodId", interviewPodId);
+            }
+
+        ]]>
+    </method>
+
+    <method name="getVideoObjectByPublicSID" args="publicSID">
+    	<![CDATA[
+    		//if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID);
+
+        	for (var i=0;i<this.subviews.length;i++){
+    			if (this.subviews[i].publicSID==publicSID){
+    				return this.subviews[i];
+    			}
+    		}
+
+    		if ($debug) Debug.warn(" - getVideoObjectByPublicSID - DID NOT FIND THE USER BY ",publicSID);
+
+            return null;
+
+    	]]>
+    </method>
+
+    <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);
+
+            return new lz.videoObjectPlayBroadcast(this,{
+                    publicSID:publicSID, width:videoWidth,height:videoHeight,
+                    x:freePos[0],y:freePos[1]
+                });
+        ]]>
+    </method>
+
+    <method name="getNewVideoObject" args="publicSID">
+		<![CDATA[
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if (obj!=null){
+				this.broadCastViewRef = obj;
+			} else {
+                //Get a Free VideoView Slot
+                var freePos = this.getVideoObjectFreePos(this.offsetLength,this.videoWidth,this.videoHeight);
+
+				this.broadCastViewRef = new lz.videoObjectBroadcast(this,{
+	                    publicSID:publicSID, width:videoWidth,height:videoHeight,
+	                    x:freePos[0],y:freePos[1]
+                    });
+
+				this.broadCastViewRef._chatvideoinner.r.destroy();
+				//this.broadCastViewRef.setAttribute('chatpartnername',hib.userobject.firstname+' '+hib.userobject.lastname);
+			}
+			return this.broadCastViewRef;
+		]]>
+	</method>
+
+    <method name="getVideoObjectByInterviewPodId" args="interviewPodId">
+        <![CDATA[
+            for (var i=0;i<this.subviews.length;i++){
+                if (this.subviews[i].interviewPodId==interviewPodId){
+                    return this.subviews[i];
+                }
+            }
+
+            if ($debug) Debug.warn(" - getVideoObjectByInterviewPodId - DID NOT FIND THE USER BY ",interviewPodId);
+
+            return null;
+        ]]>
+    </method>
+
+    <method name="getVideoObjectFreePos" args="offsetLength,videoWidth,videoHeight">
+        <![CDATA[
+            var newx = 20;
+            var newy = 0;
+            var posFound = false;
+            if (offsetLength == undefined) {
+                offsetLength=10;
+            }
+            while (!posFound) {
+                posFound = true;
+                for (var i=0;i<this.subviews.length;i++){
+                    var subview = this.subviews[i];
+                    var left = subview.x;
+                    var right = subview.x + subview.width;
+                    var top = subview.y;
+                    var bottom = subview.y + subview.height;
+
+                    if( !(newx > right
+                        || (newx + videoWidth) < left
+                        || newy > bottom
+                        || (newy + videoHeight) < top ))
+                    {
+                        newx = right + offsetLength;
+                        posFound = false;
+                    }
+                    if ((newx + videoWidth) >= canvas.width) {
+                        newx = 20;
+                        newy += 10;
+                        posFound = false;
+                    }
+                }
+            }
+
+            if ((newy + videoHeight) >= canvas.height) {
+                newy = 0;
+            }
+
+            var result = [newx, newy];
+            return result;
+        ]]>
+    </method>
+
+    <method name="disconnectclient" args="publicSID">
+        <![CDATA[
+            if ($debug) Debug.write("disconnectclient: ",publicSID);
+
+            var obj = this.getVideoObjectByPublicSID(publicSID);
+
+            //if ($debug) Debug.write("disconnecclient obj: ",obj);
+            if (obj == null) {
+            	if ($debug) Debug.warn("Could Not find this To disconnect",publicSID);
+            }
+
+            if (obj != null){
+                obj.resetValues();
+                obj.destroy();
+            }
+        ]]>
+    </method>
+
+    <method name="muteSound" args="publicSID">
+        <![CDATA[
+            var obj = this.getVideoObjectByPublicSID(publicSID);
+            if (obj != null) {
+                obj._toolbar._mute.clickIt();
+            }
+        ]]>
+    </method>
+
+    <method name="resetAllValues">
+        for (var eg in this.subviews){
+            this.subviews[eg].resetValues();
+        }
+    </method>
+
+    <method name="closeStreamclient" args="publicSID">
+        <![CDATA[
+            if ($debug) Debug.write("closeStreamthis: ",publicSID);
+            var obj = this.getVideoObjectByPublicSID(publicSID);
+            if ($debug) Debug.write("closeStreamthis obj: ",obj);
+            if (obj != null){
+                obj.resetValues();
+            }
+            return obj;
+        ]]>
+    </method>
+
+    <method name="removeVideoByUser" args="publicSID"><![CDATA[
+        var obj = this.closeStreamclient(publicSID);
+        obj.destroy();
+    ]]></method>
+
+    <method name="updateMuteStatusVideoView" args="roomClient">
+        <![CDATA[
+            for (var i=0;i<this.subviews.length;i++){
+                this.subviews[i].muteMicrophone(roomClient);
+    		}
+        ]]>
+    </method>
+
+    <method name="ismoderatorChanged" args="m">
+        canvas.setAttribute("ismoderator", m);
+    </method>
+
+
+    <method name="setSpeakingByPos" args="publicSID,bool">
+        <![CDATA[
+            var obj = this.getVideoObjectByPublicSID(publicSID);
+            if (bool){
+                obj._loudness.loudness.setAttribute('opacity',1);
+            } else {
+                obj._loudness.loudness.setAttribute('opacity',0.2);
+            }
+        ]]>
+    </method>
+
+    <method name="setAVSettingsToClient" args="rcl">
+        if ($debug) Debug.write("setAVSettingsToClient ",rcl.publicSID,rcl);
+        var obj = this.getVideoObjectByPublicSID(rcl.publicSID);
+        if ($debug) Debug.write("setAVSettingsToClient: ",obj,rcl.avsettings);
+        if (obj == null) {
+    		obj = this.getNewVideoObjectByPos(rcl.publicSID);
+        }
+        if (rcl.avsettings=="n"){
+            obj.setAttribute("visibility","hidden");
+            obj.setVideouserProfilePic(rcl);
+        } else if (rcl.avsettings=="a"){
+            obj.setVideouserProfilePic(rcl);
+            obj.setAttribute("visibility","hidden");
+            //TODO: fixme: startStream must be called by rtmp
+            // For some reason the method 'startStream' is not called by rtmp, so workaround here
+            if(rcl.publicSID != canvas.publicSID) {
+                this.startStream(rcl.publicSID, rcl.broadCastID, rcl.firstname, rcl.lastname, rcl.interviewPodId);
+            }
+        } else {
+            obj.deleteVideoConfProfilePic(null);
+            //TODO: fixme: startStream must be called by rtmp
+            // For some reason the method 'startStream' is not called by rtmp, so workaround here
+            if(rcl.publicSID != canvas.publicSID) {
+                this.startStream(rcl.publicSID, rcl.broadCastID, rcl.firstname, rcl.lastname, rcl.interviewPodId);
+            }
+            obj.setAttribute("visibility","visible");
+        }
+        obj.thisVars = rcl;
+        obj.updateAVSettingsSymbol(rcl);
+    </method>
+
+    <method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId">
+        <![CDATA[
+            if ($debug) Debug.write("startStream publicSID: ", publicSID, ", broadcastId: ",broadcastId);
+            var obj = this.getVideoObjectByPublicSID(publicSID);
+            //if ($debug) Debug.write("startStream obj: ",obj);
+            if (obj != null ){
+                obj._chatvideoinner._videostream.playStream(broadcastId,-1);
+                obj.setAttribute('chatpartnername',firstname+' '+lastname);
+            }
+        ]]>
+    </method>
+
+    <method name="clearAll">
+        <![CDATA[
+            if ($debug) Debug.write("clearAll", this.subviews);
+            //var baseContent = this.subviews[0].close();
+            while(this.subviews.length > 0) {
+                //if ($debug) Debug.write(this.subviews[0]);
+                this.subviews[0]._chatvideoinner._videostream._stop();
+                this.subviews[0].destroy();
+            }
+            if (canvas.inner.editRecordStream != null) {
+                canvas.inner.editRecordStream.destroy();
+            }
+        ]]>
+    </method>
+
+    <method name="videoOnMove" args="interviewPodId, x, y">
+        if($debug) Debug.write("videoOnY: ", interviewPodId, y);
+        var obj = getVideoObjectByInterviewPodId(interviewPodId);
+        if($debug) Debug.write("getVideoObjectByInterviewPodId: ", interviewPodId, obj);
+        if(obj != null) {
+            obj.setAttribute('x', x);
+            obj.setAttribute('y', y);
+        }
+    </method>
+
+</class>
+
+</library>

Added: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoContainer.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoContainer.lzx?rev=1220435&view=auto
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoContainer.lzx (added)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoContainer.lzx Sun Dec 18 15:39:40 2011
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+
+<!---
+        Container view including all audio/video - views for a Meeting
+        
+        @keywords deprecated see participents.lzx
+ -->
+ 
+<class name="videoContainer" extends="view">
+
+	<!--- holds a references to the videoview which is broadcasting -->
+	<attribute name="broadCastViewRef" value="null" />
+	
+	<!--- colors for each user -->
+	<attribute name="colorArray" value="null" />
+	
+	<handler name="oninit">
+		//set modus
+		canvas.thishib.modus = "conference";
+		//color array
+		this.colorArray = [0x4174B1,0x00CC00,0xFFCC33,0xFF6633,0x4174B1,0x00CC00,0xFFCC33,0xFF6633,
+							0x4174B1,0x00CC00,0xFFCC33,0xFF6633,0x4174B1,0x00CC00,0xFFCC33,0xFF6633];
+		//set reference, this reference will be cleared at *ontabcontenctleave* event
+		canvas._videocontainer=this;
+		
+        // Reconnect User to its Room Id
+        canvas.thishib.userScope = canvas.thishib.currentroomid;
+        var src = hib.protocollName+'://'+canvas.rtmphostlocal+':'+hib.protocollPort+'/'+canvas.webAppRootKey+'/'+hib.userScope;
+        canvas.thishib.setAttribute('src',src);
+        
+        if( $debug ) Debug.write("videoContainer: canvas.thishib: ",canvas.thishib.src,canvas.thishib);
+        
+        canvas.thishib.reconnectionAction = true;
+        canvas.thishib.reconnectObjRef = this;
+        if ($debug) Debug.write("################ disconnect -1- ");
+        canvas.thishib.disconnect();
+	</handler>
+                  
+    <method name="reconnectSuccess">
+        if ($debug) Debug.write("User Reloged In");
+        //set default values and get already availible streams
+        if ($debug) Debug.write("################ setRoomValues3: ",canvas.becomemoderator);
+        this.setRoomValues.doCall();
+    </method>
+
+  	<netRemoteCallHib name="setRoomValues" funcname="setRoomValues" remotecontext="$once{ canvas.thishib }" >   
+    	<netparam><method name="getValue">return hib.currentroomid;</method></netparam>
+        <netparam><method name="getValue">return canvas.becomemoderator;</method></netparam>
+		<handler name="ondata" args="value">
+			//The onResult-Handler will be called be the rtmpconnection
+			if ($debug) Debug.write("setRoomValues1: ",value);
+			if ($debug) Debug.write("setRoomValues2: ",hib.currentroomid);
+			
+            if ($debug) Debug.write("+++++++++++++++++ getClientListScope : ",value);
+            for (var i in value){
+            	if ($debug) Debug.write("getClientListScope value: ",value[i]);
+            	if (value[i].username!=null){
+            		this.parent.addItem(value[i].connectedSince,value[i].isMod,value[i].streamid,value[i].username,value[i].userroom,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(); 
+            canvas._mymod.checkForRecording.doCall();
+            canvas._chatcontent.doInit();				
+		</handler>	
+  	</netRemoteCallHib>
+
+	<!-- invoked if another client logs into the room 
+	after choosing devices -->     
+    <method name="setAVSettingsToClient" args="rcl">
+    	if ($debug) Debug.write("setAVSettingsToClient ",rcl.publicSID,rcl);
+    	var obj = this.getVideoObjectByPublicSID(rcl.publicSID);
+    	if ($debug) Debug.write("setAVSettingsToClient: ",obj,rcl.avsettings);
+		if (rcl.avsettings=="n"){
+			obj.setVideouserProfilePic(rcl);
+		} else if (rcl.avsettings=="a"){
+			obj.setVideouserProfilePic(rcl);
+		} else {
+			obj.deleteVideoConfProfilePic();	
+		}
+		obj.clientVars = rcl;
+    	obj.updateAVSettingsSymbol(rcl);
+    </method> 
+    
+
+    <!--- get a baseVideoObject by a Users publicSID
+    	@param string publicSID publicSID
+   	 -->
+    <method name="getVideoObjectByPublicSID" args="publicSID">
+    	<![CDATA[
+    		//if ($debug) Debug.write("getVideoObjectByPublicSid SEARCH: ",publicSID);
+    		
+    		//for (var i=0;i<this._videoviewcontent.subviews.length;i++){
+    		//	if ($debug) Debug.write("getVideoObjectByBroadCastId6 broadcastId: ",this._videoviewcontent.subviews[i].broadcastId);
+    		//	if ($debug) Debug.write("getVideoObjectByBroadCastId7 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id);
+    		//}
+    		
+    		for (var i=0;i<this._videoviewcontent.subviews.length;i++){
+    			//if ($debug) Debug.write("getVideoObjectByBroadCastId2 broadcastId VIEW: ",this._videoviewcontent.subviews[i].broadcastId);
+    			//if ($debug) Debug.write("getVideoObjectByBroadCastId3 broadcastId SEARCH: ",broadcastId);
+    			//if ($debug) Debug.write("getVideoObjectByBroadCastId4 obj: ",this._videoviewcontent.subviews[i]);
+    			//if ($debug) Debug.write("getVideoObjectByBroadCastId5 streamid,user_id: ",this._videoviewcontent.subviews[i].clientVars.streamid,this._videoviewcontent.subviews[i].clientVars.user_id);
+    			if (this._videoviewcontent.subviews[i].publicSID==publicSID){
+    				return this._videoviewcontent.subviews[i];
+    			}
+    		}
+    		
+    	]]>
+    </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,userroom,formatedDate);
+		if (streamid!=canvas.streamid){
+            var myvideocontainer = this.getNewVideoObjectByPos(object.publicSID);
+	  		myvideocontainer.clientVars = object;
+	  		myvideocontainer.setAttribute('chatpartnername',object.firstname+' '+object.lastname);
+	  		if ($debug) Debug.write("object.avsettings: ",object.avsettings);
+	  		if (object.avsettings=="n"){
+    			myvideocontainer.setVideouserProfilePic(object);
+    		} else if (object.avsettings=="a"){
+    			myvideocontainer.setVideouserProfilePic(object);
+    			if ($debug) Debug.warn("start play");
+    			myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);	
+    		} else {
+    			myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);	
+    			if ($debug) Debug.warn("start play");
+    		}
+    		myvideocontainer.updateAVSettingsSymbol(object);
+	  		return myvideocontainer;
+		}
+		]]>
+	</method>
+	
+	
+	<method name="addClientItem" args="connectedSince,isMod,streamid,username,room_id,formatedDate,position,color,object">
+		<![CDATA[
+		if ($debug) Debug.write("initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,room_id,formatedDate);
+		if (streamid!=canvas.streamid){
+            var myvideocontainer = this.getNewVideoObjectByPos(object.publicSID);
+	  		myvideocontainer.clientVars = object;
+	  		myvideocontainer.setAttribute('chatpartnername',object.firstname+' '+object.lastname);
+	  		if ($debug) Debug.write("addClientItem avsettings: ",object.avsettings);
+    		if (object.avsettings=="n" || object.avsettings=="a"){
+    			myvideocontainer.setVideouserProfilePic(object);
+    		}
+    		myvideocontainer.updateAVSettingsSymbol(object);
+		}
+		]]>
+	</method>
+		
+	<method name="startStream" args="publicSID,broadcastId,firstname,lastname">
+		<![CDATA[
+			//if ($debug) Debug.write("startStream broadcastId: ",broadcastId);
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			//if ($debug) Debug.write("startStream obj: ",obj);
+			if (obj != null ){
+				obj._chatvideoinner._videostream.playStream(broadcastId,-1);
+				obj.setAttribute('chatpartnername',firstname+' '+lastname);
+			}
+		]]>
+	</method>
+
+	
+	<!-- 
+		This method returns an object of type videoObjectBroadcast
+		you can only publish you a/v with this object
+		@param string broadcastId broadcastId
+	 -->
+	<method name="getNewVideoObject" args="publicSID">
+		<![CDATA[
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if (obj!=null){
+				this.broadCastViewRef = obj;
+			} else {
+				//Get a Free VideoView Slot
+				var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+
+				this.broadCastViewRef = new lz.videoObjectBroadcast(this._videoviewcontent,{
+	                    publicSID:publicSID,
+	                    x:freePos[0],y:freePos[1]
+                    });
+				canvas.currentusercolor = this.colorArray[this.subviews.length];
+				this.broadCastViewRef._chatvideoinner.r.destroy();
+				canvas.thishib.setAudienceModus.doCall();
+				this.broadCastViewRef.setAttribute('chatpartnername',hib.userobject.firstname+' '+hib.userobject.lastname);
+			}
+			return this.broadCastViewRef;
+		]]>
+	</method>
+	
+	<!---
+		returns a new object of type videoObjectPlayBroadcast
+		you can only play a stream not publish you a/v with this object
+		@param string broadcastId broadcastId
+	 -->
+	<method name="getNewVideoObjectByPos" args="publicSID">
+		<![CDATA[
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if (obj!=null){
+				return obj;
+			}
+            //Get a Free VideoView Slot
+            var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+
+			return new lz.videoObjectPlayBroadcast(this._videoviewcontent,{
+                    publicSID:publicSID,
+                    x:freePos[0],y:freePos[1]
+                });
+		]]>
+	</method>
+	
+	<!--- 
+		invoked remotely by Red5-notification 
+		shows a green light if somebody is speaking
+		@param string broadcastId broadcastId
+		@param boolean bool show light on/off
+	-->
+	<method name="setSpeakingByPos" args="publicSID,bool">
+		<![CDATA[
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if (bool){
+				obj._loudness.loudness.setAttribute('opacity',1);
+			} else {
+				obj._loudness.loudness.setAttribute('opacity',0.2);
+			}
+		]]>
+	</method>	
+	
+	<!--- 
+		stops the streaming but does not destroy the view
+		@param int broadcastId broadcastId
+	 -->
+	<method name="closeStreamClient" args="publicSID">
+		<![CDATA[
+			if ($debug) Debug.write("closeStreamclient: ",publicSID);
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if ($debug) Debug.write("closeStreamclient obj: ",obj);
+			if (obj != null){
+				obj.resetValues();
+			}
+		]]>
+	</method>
+	
+	<!--- 
+		stops the streaming but and destroys the view
+		@param int broadcastId broadcastId
+	 -->
+	<method name="disconnectclient" args="publicSID">
+		<![CDATA[
+			if ($debug) Debug.write("disconnectclient: ",publicSID);
+			var obj = this.getVideoObjectByPublicSID(publicSID);
+			if ($debug) Debug.write("disconnectclient obj: ",obj);
+			if (obj != null){
+				obj.resetValues();
+				obj.destroy();
+			}
+			return null;
+		]]>
+	</method>	
+	
+	<method name="resetAllValues">
+		for (var eg in this._videoviewcontent.subviews){
+			this._videoviewcontent.subviews[eg].resetValues();
+		}
+	</method>
+	
+	<commonVideoViewContent name="_videoviewcontent" />
+	
+</class>
+
+</library>

Added: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoInfoStuff.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoInfoStuff.lzx?rev=1220435&view=auto
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoInfoStuff.lzx (added)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/REMOVE_videoInfoStuff.lzx Sun Dec 18 15:39:40 2011
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+
+<class name="videoInfoStuff" extends="view" width="$once{ parent.width-2 }" 
+		height="$once{ parent.height-21 }" y="20" x="1" bgcolor="white">
+		<handler name="oninit">
+			<![CDATA[
+				var tString = '';
+				//Debug.write("clientVars: ",parent.clientVars);
+				for (var eg in parent.clientVars){
+					if (eg!='userip'){
+						tString += eg+': <BR/>'+parent.clientVars[eg]+'<BR />';
+					} else {
+						tString += eg+': <BR/>'+parent.clientVars[eg]+'<BR />';
+						tString += 'WHOIS:<BR/>';
+						tString += '<A HREF="http://www.networksolutions.com/whois/results.jsp?whoistoken='+parent.clientVars[eg]+'" TARGET="_BLANK">'+parent.clientVars[eg]+'</A><BR/><BR/>';
+					}
+				}
+				//Debug.write("tString: ",tString);
+				this.inner._usertext.setAttribute('text',tString);
+			]]>
+		</handler>
+		<view x="$once{ parent.width-20 }" y="2" name="infoview" resource="showusercontextclose">
+			<handler name="onclick">
+				parent.setAttribute('visible',false);
+			</handler>
+			<labelTooltip inittwice="true" labelid="85" />
+		</view>	
+		<view name="inner" width="${parent.width}" 
+			height="$once{ parent.height-20 }" y="20" clip="true">
+			<text name="_usertext" width="$once{ parent.width }" multiline="true" />
+			<vscrollbar />
+		</view>
+
+</class>
+
+</library>

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/baseVideoObject.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/baseVideoObject.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/baseVideoObject.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/baseVideoObject.lzx Sun Dec 18 15:39:40 2011
@@ -243,7 +243,7 @@
     <method name="setVideouserProfilePic" args="value">
     	if ($debug) Debug.write("### setVideouserProfilePic ",value);
     	this.deleteVideoConfProfilePic(value);
-    	new lz.videoUserProfilePic(this._chatvideoinner,{name:'userProfilePic',value:value});
+    	new lz.videoUserProfilePicSWF10(this._chatvideoinner,{name:'userProfilePic',value:value});
     	this.showUserProfilePic = true;
     </method>    
     <method name="deleteVideoConfProfilePic" args="value">
@@ -450,7 +450,7 @@
                 	if ($debug) Debug.write("editRecordStream ################# baseVideObject ");
                     if(canvas.inner.editRecordStream != null) canvas.inner.editRecordStream.destroy();
                 	if (this.parent.parent.isInterview) {
-                		new lz.editRecordStream(canvas.inner,{
+                		new lz.editRecordStreamSWF10(canvas.inner,{
                                 name:"editRecordStream",
                 			    doDefaultAnimation:false,
                                 align:'center',valign:'middle',
@@ -458,7 +458,7 @@
                 			    myvideocontainer:parent.parent,
                                 isSyncUpdate:true});
                 	} else {
-                		new lz.editRecordStream(canvas.inner,{
+                		new lz.editRecordStreamSWF10(canvas.inner,{
                                 name:"editRecordStream",
                                 isSyncUpdate:true});
                 	}

Added: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStreamSWF10.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStreamSWF10.lzx?rev=1220435&view=auto
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStreamSWF10.lzx (added)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/editRecordStreamSWF10.lzx Sun Dec 18 15:39:40 2011
@@ -0,0 +1,462 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+    
+<!-- #######################
+	Class editRecordStream
+	
+	Description:
+	This Class shows a window where you can alter you Video-/Microphone- Input-Resources
+	and start to stream. The app could also use the default values for Cam/Mic but
+	must users don't know how to alter this (wether in System-Control-Panel or by Right Clicking
+	on the Flash-Screen and *>Preferences>Camera* )
+	So I think it is better if Users are forced to choose something from this list
+	
+ -->
+ 
+<class name="editRecordStreamSWF10"  extends="labelExplorerBox" labelid="51"
+	width="300" height="250" x="14" y="-340" >
+
+    <switch>
+        <when property="$as3">
+            <passthrough>
+                import flash.media.Camera;
+                import flash.media.Microphone;
+                import flash.net.SharedObject;
+            </passthrough>
+        </when>
+    </switch>
+
+    <attribute name="myvideocontainer" value="null" />
+
+    <attribute name="chosenCam" value="null" />
+    <attribute name="chosenMic" value="null" />
+    <attribute name="chosenSetting" value="null" />
+    <attribute name="currentClient" value="null" />
+
+    <attribute name="remoteMessage" value="null" />
+
+    <attribute name="isSyncUpdate" value="false" type="boolean" />
+
+    <attribute name="doDefaultAnimation" value="true" type="boolean" />
+
+    <attribute name="isInterview" value="false" type="boolean" />
+
+	<handler name="oninit">
+		<![CDATA[
+			if ($debug) Debug.write("this.myvideocontainer ",this.myvideocontainer);
+			if ($debug) Debug.write("editrecordstream ###################### ");
+
+			canvas.videoComp_lc.client = {clb_getBroadCastId: this.clb_getBroadCastId, clb_setUserAVSettings: this.clb_setUserAVSettings};
+
+	        var t:SharedObject = SharedObject.getLocal('userdata');
+	        var g = t.data;
+	        var save = g["savecamdata"];
+	        if ($debug) Debug.write("save: ",save,g["cam"],g["mic"]);
+	        //In case its an Audio-Only Room this box should not close automatically
+            if ($debug) Debug.write("canvas.currentRoomObject: ", canvas.currentRoomObject);
+
+	        if (canvas.currentRoomObject.isAudioOnly) {
+	        	this._chooseDeviceAnimation.doStart();
+	        } else {
+	        	//In case the user presses the Sync Button this box should
+                //not close automatically and do the user-prefered values
+                if(save && !this.isSyncUpdate) {
+                    this.chosenCam = g["cam"];
+                    this.chosenMic = g["mic"];
+                    this.chosenSetting = g["avstored"];
+                    this.remoteMessage = new Array();
+                    this.remoteMessage[0] = 'avsettings';
+                    this.remoteMessage[2] = this.chosenSetting;
+                    //this.getBroadCastId.doCall();
+                    canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_getBroadCastId', this.chosenSetting, this.remoteMessage);
+                } else {
+                    if (this.doDefaultAnimation) {
+                        this._chooseDeviceAnimation.doStart();
+                    }
+                }
+	        }
+        ]]>
+	</handler>
+
+    <!--
+        Called by local connection
+    -->
+    <method name="clb_getBroadCastId" args="value">
+        if ($debug) Debug.write("getBroadCastId",value,canvas.publicSID);
+        this.myvideocontainer = canvas._videoComponent.createVideoObject(canvas.publicSID, true, -1);
+        this.myvideocontainer.setAttribute("visibility","hidden");
+    </method>
+
+    <!--
+        Called by local connection
+    -->
+    <method name="clb_setUserAVSettings" args="value">
+        if ($debug) Debug.write("setUserAVSettings",value);
+        this.currentClient = value;
+        this.doninitalize();
+    </method>
+
+    <method name="storelocaldata">
+        <![CDATA[
+        if (this.holddatainSO.getValue()){
+            //Debug.write("sharedobject store ");
+            var t:SharedObject = SharedObject.getLocal('userdata');
+            var g = t.data;
+            if (g==null) g = new Array();
+            g["cam"] = this.availibleCams.getValue();
+            g["mic"] = this.availibleMics.getValue();
+            g["avstored"] = this.availibleSettings.getValue();
+            g["savecamdata"] = true;
+            t.flush();
+        } else {
+            var t:SharedObject = SharedObject.getLocal('userdata');
+            var g = t.data;
+            if (g==null) g = new Array();
+            g["cam"] = this.availibleCams.getValue();
+            g["mic"] = this.availibleMics.getValue();
+            g["avstored"] = this.availibleSettings.getValue();
+            g["savecamdata"]=false;
+            t.flush();
+        }
+        ]]>
+    </method>
+
+    <method name="doninitalize">
+    	<![CDATA[
+    	    if ($debug) Debug.write("doninitalize");
+    		var valCam = this.chosenCam;
+			var valMic = this.chosenMic;
+			var settings = this.chosenSetting;
+			var videoview = this.myvideocontainer._chatvideoinner._videostream;
+	    	if ($debug) Debug.write("this.myvideocontainer: ",this.myvideocontainer);
+	    	if ($debug) Debug.write(valCam,valMic,settings);
+			this.myvideocontainer.setAttribute('isremote',false);
+
+			var _micro = null;
+			var _camera = null;
+			if (valMic != null) {
+			     _micro = Microphone.getMicrophone(valMic);
+			}
+			if (valCam != null) {
+				_camera = Camera.getCamera(valCam);
+			}
+			
+			if ($debug) Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);
+
+			//Microphone.set
+			if ($debug) Debug.write("canvas.vaquality: ",canvas.vaquality, "canvas.microphoneRateBest: ",canvas.microphoneRateBest);
+			if (canvas.vaquality=="best") {
+				if (_micro != null) {
+				    _micro.rate = canvas.microphoneRateBest;
+				}
+				if (_camera != null) {
+    				if ($debug) Debug.write("_camera.setQuality BEST: ",this.isInterview,(canvas.bandwidthNeededBest*2),canvas.camQualityBest);
+    				if (this.isInterview) {
+    					_camera.setMode(videoview.width,videoview.height,24,true);
+    					if ($debug) Debug.warn("IS INTERVIEW ");
+    				    _camera.setQuality(0,98);
+    				} else {
+    					_camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);
+    					if ($debug) Debug.warn("IS NO INTERVIEW ");
+    					_camera.setQuality(canvas.bandwidthNeededBest,canvas.camQualityBest);
+    				}
+				}
+			} else {
+				if (_camera != null) {
+    				_camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);
+    				if ($debug) Debug.write("_camera.setQuality NORMAL: ",canvas.bandwidthNeededNormal,canvas.camQualityNormal);
+                    _camera.setQuality(canvas.bandwidthNeededNormal,canvas.camQualityNormal);
+				} 
+				if (_micro != null) {
+    				_micro.setRate(canvas.microphoneRateNormal);
+    				_micro.setSilenceLevel(canvas.loudnessAcitviation);
+				}
+			}
+
+			if (_micro != null) {
+    			//Microphone setUseEchoSupression(bool)
+    		    _micro.setUseEchoSuppression(true);
+			}
+
+            if ($debug) Debug.write("settings: ", settings);
+            if ($debug) Debug.write("BroadcastId: ", this.currentClient.broadCastID);
+	    	switch (settings){
+                case "s":
+                    this.myvideocontainer.setAttribute("visibility","hidden");
+                    break;
+                case "vs":
+                    videoview.broadcast(this.currentClient.broadCastID,_camera,null);
+                    if(isInterview) {
+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);
+                    } else {
+                        this.myvideocontainer.setAttribute("visibility","visible");
+                    }
+                    break;
+	    		case "av":
+	    			videoview.broadcast(this.currentClient.broadCastID,_camera,_micro);
+                    if(isInterview) {
+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);
+                    } else {
+                        this.myvideocontainer.setAttribute("visibility","visible");
+                    }
+
+	    			break;
+	    		case "a":
+	    			videoview.broadcast(this.currentClient.broadCastID,null,_micro);
+                    if(isInterview) {
+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);
+                    } else {
+                        if (this.myvideocontainer.hidebyAudioOnly) {
+                            this.myvideocontainer.setAttribute("visibility","hidden");
+                        } else {
+                            this.myvideocontainer.setAttribute("visibility","visible");
+                            if (!this.myvideocontainer.minimized) {
+                                this.myvideocontainer.minimize();
+                            }
+                        }
+                    }
+	    			break;
+	    		case "v":
+	    			videoview.broadcast(this.currentClient.broadCastID,_camera,null);
+	    			if(isInterview) {
+                        canvas.videoComp_lc.send(canvas.videoComp_lc_name, "onStartBroadcast", this.currentClient.broadCastID, settings);
+                    } else {
+                        this.myvideocontainer.setAttribute("visibility","visible");
+                    }
+	    			break;
+	    		case "n":
+	    			if ($debug) Debug.write("Do not Publish A/V");
+                    //Prevent from Hiding the Box in Event Modus
+                    if (canvas.thishib.modus == "conference") {
+                        this.myvideocontainer.setAttribute("visibility","hidden");
+                    }
+	    			break;
+	    		default:
+	    			if ($debug) Debug.warn("no valid device Setup chosen");
+	    			break;
+	    	}
+
+	        this.myvideocontainer.setAttribute('chatpartnername',canvas.firstName+' '+canvas.lastName);
+
+	        this.close();
+        ]]>
+    </method>
+
+    <animator name="_chooseDeviceAnimation" start="false" attribute="y" to="40" duration="750" />
+
+    <labelText labelid="447" fontsize="11" x="10" y="20" width="$once{ parent.width-20 }" />
+
+    <resetCombobox fontsize="11" name="availibleSettings" x="10" y="40" width="280" editable="false">
+
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+
+        <handler name="oninit">
+            <![CDATA[
+
+                if (canvas.currentRoomObject.isAudioOnly) {
+                    this.addItem(canvas.getLabelName(449),"a");
+                    //this.addItem(canvas.getLabelName(845),"s");
+                    //this.addItem(canvas.getLabelName(846),"sv");
+                    this.addItem(canvas.getLabelName(451),"n");
+                } else {
+                	this.addItem(canvas.getLabelName(448),"av");
+                    this.addItem(canvas.getLabelName(449),"a");
+                    this.addItem(canvas.getLabelName(450),"v");
+                    //this.addItem(canvas.getLabelName(845),"s");
+                    //this.addItem(canvas.getLabelName(846),"sv");
+                    this.addItem(canvas.getLabelName(451),"n");
+                }
+
+				//var r = "av";
+
+				var t:SharedObject = SharedObject.getLocal('userdata');
+				var g = t.data;
+				var cam = null;
+				if (g!=null){
+					var cam = g["avstored"];
+				}
+
+				var tItem = this.getItem(String(cam));
+				if (tItem != null) {
+				    this.selectItem(String(cam));
+				} else {
+					this.selectItemAt(0);
+				}
+
+            ]]>
+        </handler>
+
+        <handler name="onselect">
+        	<![CDATA[
+        		var camVisible = "visible";
+        		var micVisible = "visible";
+        		var textVisible = "hidden";
+	        	switch (this.getValue()){
+	        		case "av":
+	        			break;
+	        		case "a":
+	        			camVisible = "hidden";
+	        			break;
+	        		case "v":
+	        			micVisible = "hidden";
+	        			break;
+	        		case "n":
+	        			camVisible = "hidden";
+	        			micVisible = "hidden";
+	        			textVisible = "visible";
+	        			break;
+	        		default:
+	        			if ($debug) Debug.warn("no valid device Setup chosen");
+	        			break;
+	        	}
+    			this.parent.availibleCamsLabel.setAttribute("visibility",camVisible);
+    			this.parent.availibleCams.setAttribute("visibility",camVisible);
+    			this.parent.availibleMicsLabel.setAttribute("visibility",micVisible);
+    			this.parent.availibleMics.setAttribute("visibility",micVisible);
+    			this.parent.infoTextNoAV.setAttribute("visibility",textVisible);
+        	]]>
+        </handler>
+    </resetCombobox>
+
+    <labelText name="availibleCamsLabel" labelid="52" fontsize="11" x="10" y="80" width="$once{ parent.width-20 }" />
+
+    <resetCombobox fontsize="11" name="availibleCams" x="10" y="100" width="280" editable="false">
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.media.Camera;
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+        <handler name="oninit">
+            <![CDATA[
+				//Get all availible Cam's
+				var tw = Camera.names;
+				var r = "";
+				for (var eg=0;eg<tw.length;eg++){
+					this.addItem(tw[eg],eg);
+					r=eg;
+				}
+				var t:SharedObject = SharedObject.getLocal('userdata');
+				var g = t.data;
+				if (g!=null){
+					var cam = g["cam"];
+				} else {
+					var cam = r;
+				}
+				if (cam=='undefined' || cam =='' || cam == null) cam=r;
+				this.selectItem(String(cam));
+
+            ]]>
+        </handler>
+    </resetCombobox>
+
+
+
+    <resetCombobox fontsize="11" name="availibleMics"  x="10" y="140" width="280" editable="false">
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.media.Microphone;
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+        <handler name="oninit">
+            <![CDATA[
+	            //Get all availible Mic's
+	            var tw = Microphone.names;
+	            var r = "";
+	            for (var eg=0;eg<tw.length;eg++){
+	                r=eg;
+	                this.addItem(tw[eg],eg);
+	            }
+
+	            var t:SharedObject = SharedObject.getLocal('userdata');
+	            var g = t.data;
+	            if (g!=null){
+	            	var mic = g["mic"];
+	            } else {
+	            	var mic = r;
+	            }
+				if (mic=='undefined' || mic =='' || mic ==null) mic=r;
+				this.selectItem(String(mic));
+            ]]>
+        </handler>
+    </resetCombobox>
+
+    <labelText name="infoTextNoAV" labelid="452" multiline="true" width="280"
+    		   fontsize="11" x="10" y="80" visibility="hidden" />
+
+    <labelText name="availibleMicsLabel" labelid="53" fontsize="11"
+    		   x="10" y="120" width="$once{ parent.width-20 }" />
+
+    <!-- Remember Me -->
+    <labelCheckbox name="holddatainSO" labelid="762" x="10" y="210" >
+        <switch>
+            <when property="$as3">
+                <passthrough>
+                    import flash.net.SharedObject;
+                </passthrough>
+            </when>
+        </switch>
+        <handler name="oninit">
+            var t:SharedObject = SharedObject.getLocal('userdata');
+            var g = t.data;
+            var save = g["savecamdata"];
+            if ($debug) Debug.write("savecamdata save: ",save);
+            if(save) this.setValue(true);
+        </handler>
+    </labelCheckbox>
+
+    <simpleLabelButton fontsize="11" visibility="${ (parent.isInterview) ? 'visible' : 'hidden' }"
+                       labelid="54" x="80" y="180" width="100">
+        <handler name="onclick">
+            this.parent.storelocaldata();
+            this.parent.chosenCam = parent.availibleCams.getValue();
+            this.parent.chosenMic = parent.availibleMics.getValue();
+            this.parent.chosenSetting = parent.availibleSettings.getValue();
+            this.parent.remoteMessage = new Array();
+            this.parent.remoteMessage[0] = 'avsettings';
+            this.parent.remoteMessage[1] = "0";
+            this.parent.remoteMessage[2] = this.parent.chosenSetting;
+            //this.parent.getBroadCastId.doCall();
+            if ($debug) Debug.write(canvas.videoComp_lc_name, 'lc_getBroadCastId', this.parent.chosenSetting, this.parent.remoteMessage);
+            canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_getBroadCastId', this.parent.chosenSetting, this.parent.remoteMessage);
+        </handler>
+    </simpleLabelButton>
+
+    <simpleLabelButton fontsize="11" visibility="${ (parent.isInterview) ? 'visible' : 'hidden' }"
+                       labelid="918" x="190" y="180" width="100">
+        <handler name="onclick">
+            parent.close();
+        </handler>
+    </simpleLabelButton>
+
+    <simpleLabelButton fontsize="11" visibility="${ (!parent.isInterview) ? 'visible' : 'hidden' }"
+    				   labelid="54" x="190" y="180" width="100">
+        <handler name="onclick">
+        	this.parent.storelocaldata();
+        	this.parent.chosenCam = parent.availibleCams.getValue();
+        	this.parent.chosenMic = parent.availibleMics.getValue();
+        	this.parent.chosenSetting = parent.availibleSettings.getValue();
+			this.parent.remoteMessage = new Array();
+			this.parent.remoteMessage[0] = 'avsettings';
+			this.parent.remoteMessage[1] = "0";
+			this.parent.remoteMessage[2] = this.parent.chosenSetting;
+            //this.parent.getBroadCastId.doCall();
+            if ($debug) Debug.write(canvas.videoComp_lc_name, 'lc_getBroadCastId', this.parent.chosenSetting, this.parent.remoteMessage);
+            canvas.videoComp_lc.send(canvas.videoComp_lc_name, 'lc_getBroadCastId', this.parent.chosenSetting, this.parent.remoteMessage);
+        </handler>
+    </simpleLabelButton>
+
+</class>
+    
+</library>

Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/library.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/library.lzx?rev=1220435&r1=1220434&r2=1220435&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/library.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/library.lzx Sun Dec 18 15:39:40 2011
@@ -19,9 +19,9 @@
 
 	<resource name="lz_recorder_play" src="resources/webstart_play.png" />
 
-    <include href="videoUserProfilePic.lzx" />
+    <include href="videoUserProfilePicSWF10.lzx" />
     <!--<include href="remoteUserDetails.lzx" />-->
-    <include href="editRecordStream.lzx" />
+    <include href="editRecordStreamSWF10.lzx" />
     <include href="baseVideoObject.lzx" />
     <include href="videoObjectBroadcast.lzx" />
     <include href="videoObjectPlayBroadcast.lzx" />

Added: incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePicSWF10.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePicSWF10.lzx?rev=1220435&view=auto
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePicSWF10.lzx (added)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/swf10/video/videoUserProfilePicSWF10.lzx Sun Dec 18 15:39:40 2011
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<library>
+
+<class name="videoUserProfilePicSWF10" extends="view" x="1" y="2" width="${parent.width-2}" height="${parent.height-3}" 
+	   clip="true" bgcolor="white">
+	<attribute name="value" value="null" />
+	<handler name="oninit">
+		<![CDATA[
+			if (this.value.picture_uri==null || this.value.picture_uri.length==0){
+				this.value.picture_uri = "d.jpg";
+			} else {
+				this.value.picture_uri = "_profile_"+value.picture_uri;
+			}
+	        var downloadurl = 'http://'+canvas.rtmphostlocal+':'+canvas.red5httpport
+	        		+canvas.httpRootKey+'DownloadHandler?fileName='+value.picture_uri
+	        		+'&moduleName=remoteuserprofile&parentPath=&room_id='
+	        		+'&remoteUserid='+this.value.user_id
+	        		+'&sid='+canvas.sessionId;
+	        if ($debug) Debug.write(downloadurl);
+	        this._userpic.setAttribute('src',downloadurl);	
+        ]]>
+	</handler>	
+	<image name="_userpic" stretches="both" width="${parent.width}" height="${parent.height}" />
+</class>
+
+</library>