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:29:30 UTC
svn commit: r1220427 [2/2] - in
/incubator/openmeetings/branches/video-components: ./ WebContent/languages/
WebContent/openmeetings/ WebContent/openmeetings/base/
WebContent/openmeetings/base/hibernate/
WebContent/openmeetings/modules/conference/ WebCo...
Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/restricted/restrictedUserList.lzx Sun Dec 18 15:29:29 2011
@@ -12,6 +12,8 @@
<attribute name="colorArray" value="null" />
<attribute name="allowUserQuestions" value="true" type="boolean" />
+
+ <attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
<handler name="onallowUserQuestions" args="bool">
if (bool != null) {
@@ -44,7 +46,10 @@
//The user is already in the correct Scope
this.reconnectSuccess();
}
+ _videoviewcontent.initVideoContainer(40, 100, 100);
</handler>
+
+ <commonVideoComponentAdapter name="_videoviewcontent"/>
<method name="reconnectSuccess">
if ($debug) Debug.warn("User Reloged In ",canvas.becomemoderator);
@@ -159,63 +164,9 @@
<!-- 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 (obj == null) {
- obj = this.getNewVideoObjectByPos(rcl.publicSID);
- }
-
- if ($debug) Debug.write("setAVSettingsToClient: ",obj,rcl.avsettings);
- if (rcl.avsettings=="n"){
- obj.setAttribute("visibility","hidden");
- obj.setVideouserProfilePic(rcl);
- } else if (rcl.avsettings=="a"){
- obj.setVideouserProfilePic(rcl);
- if (!obj.minimized) {
- obj.minimize();
- }
- obj.setAttribute("visibility","visible");
- } else {
- obj.deleteVideoConfProfilePic();
- obj.setAttribute("visibility","visible");
- }
- obj.clientVars = rcl;
- obj.updateAVSettingsSymbol(rcl);
+ this._videoviewcontent.setAVSettingsToClient(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);
-
- var videoContainer = parent.parent._videoviewcontent;
-
- //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<videoContainer.subviews.length;i++){
- //if ($debug) Debug.write("getVideoObjectByBroadCastId2 broadcastId VIEW: ",videoContainer.subviews[i].broadcastId);
- //if ($debug) Debug.write("getVideoObjectByBroadCastId3 broadcastId SEARCH: ",broadcastId);
- //if ($debug) Debug.write("getVideoObjectByBroadCastId4 obj: ",videoContainer.subviews[i]);
- //if ($debug) Debug.write("getVideoObjectByBroadCastId5 streamid,user_id: ",videoContainer.subviews[i].clientVars.streamid,videoContainer.subviews[i].clientVars.user_id);
- if (videoContainer.subviews[i].publicSID==publicSID){
- return videoContainer.subviews[i];
- }
- }
-
- if ($debug) Debug.warn(" - getVideoObjectByPublicSID - DID NOT FIND THE USER BY ",publicSID);
-
- return null;
-
- ]]>
- </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);
@@ -229,40 +180,14 @@
//if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
if (object.isBroadcasting) {
-
- var myvideocontainer = this.getNewVideoObjectByPos(object.publicSID);
- myvideocontainer.clientVars = object;
- myvideocontainer.setAttribute('chatpartnername',object.firstname+' '+object.lastname);
- if ($debug) Debug.write("object.isBroadcasting object.avsettings: ",object.avsettings);
- if (object.avsettings=="n"){
- myvideocontainer.setVideouserProfilePic(object);
- //myvideocontainer.setAttribute("visibility","hidden");
- } else if (object.avsettings=="a"){
- myvideocontainer.setVideouserProfilePic(object);
- if ($debug) Debug.warn("start play");
- myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);
- myvideocontainer.setAttribute("visibility","visible");
- if (!myvideocontainer.minimized) {
- myvideocontainer.minimize();
- }
- } else {
- myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);
- myvideocontainer.setAttribute("visibility","visible");
- if ($debug) Debug.warn("start play");
- }
- myvideocontainer.updateAVSettingsSymbol(object);
- return myvideocontainer;
-
+ this._videoviewcontent.createVideo(object.publicSID, object.firstname+' '+object.lastname, object.broadCastID, object.avsettings, -1);
} else {
- return null;
+ this._videoviewcontent.createVideoObject(object.publicSID, false, -1);
}
} else {
-
//do add self too
this._participents.initialAddItem(object);
-
- return null;
}
]]>
@@ -274,188 +199,57 @@
//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);
+
//do add others
this._participents.addItem(object);
-
- //if ($debug) Debug.write("???????? object.isBroadcasting :: ",object.isBroadcasting);
-
- if (object.isBroadcasting) {
-
- 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);
- //myvideocontainer.setAttribute("visibility","hidden");
- } else if (object.avsettings=="a"){
- myvideocontainer.setVideouserProfilePic(object);
- if ($debug) Debug.warn("start play");
- myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);
- myvideocontainer.setAttribute("visibility","visible");
- if (!myvideocontainer.minimized) {
- myvideocontainer.minimize();
- }
- } else {
- myvideocontainer._chatvideoinner._videostream.playStream(object.broadCastID,-1);
- myvideocontainer.setAttribute("visibility","visible");
- if ($debug) Debug.warn("start play");
- }
- myvideocontainer.updateAVSettingsSymbol(object);
- return myvideocontainer;
-
- } else {
- return null;
- }
-
+
+ //return myvideocontainer;
} else {
-
//do add self too
this._participents.addItem(object);
-
- return null;
}
]]>
</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 (canvas.publicSID != object.publicSID){
-
- if (object.isBroadcasting) {
- 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);
- }
-
- }
+ <![CDATA[
+ if ($debug) Debug.write("### initializeStreams addClientItem: ",connectedSince,isMod,streamid,username,room_id,formatedDate);
- //Do Add it anyway
- this._participents.addItem(object);
- ]]>
- </method>
+ if (canvas.publicSID != object.publicSID){
+ this._videoviewcontent.createVideoObject(object.publicSID, false, -1);
+ }
+
+ //Do Add it anyway
+ this._participents.addItem(object);
+ ]]>
+ </method>
<!--
invoked whenever a User starts to Stream Video in this Room,
interviewPodId has only a meaning in the Room Type Interview
-->
<method name="startStream" args="publicSID,broadcastId,firstname,lastname,interviewPodId">
- <![CDATA[
- //if ($debug) Debug.write("startStream broadcastId: ",broadcastId);
- var obj = this.getVideoObjectByPublicSID(publicSID);
-
- if (obj == null) {
- obj = this.getNewVideoObjectByPos(publicSID);
- }
-
- //if ($debug) Debug.write("startStream obj: ",obj);
- if (obj != null ){
- obj._chatvideoinner._videostream.playStream(broadcastId,-1);
- obj.setAttribute('chatpartnername',firstname+' '+lastname);
- } else {
- if ($debug) Debug.warn("Could Not find the correct obj to startStream - This should not happen logically",publicSID);
- }
- ]]>
+ this._videoviewcontent.startStream(publicSID,broadcastId,firstname,lastname,interviewPodId);
</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 {
- var videoContainer = parent.parent._videoviewcontent;
-
- //Get a Free VideoView Slot
- var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);
-
- this.broadCastViewRef = new lz.videoObjectBroadcast(videoContainer,{
- publicSID:publicSID,
- 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>
-
- <!---
- 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;
- }
-
- var videoContainer = parent.parent._videoviewcontent;
-
- //Get a Free VideoView Slot
- var freePos = videoContainer.getVideoObjectFreePos(40, 100, 100);
-
- return new lz.videoObjectPlayBroadcast(videoContainer,{
- 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();
- }
- return obj;
- ]]>
- </method>
+ this._videoviewcontent.setSpeakingByPos(publicSID, bool);
+ </method>
+
+ <method name="closeStreamClient" args="publicSID">
+ this._videoviewcontent.closeStreamClient(publicSID);
+ </method>
+
+ <method name="resetAllValues">
+ this._videoviewcontent.resetAllValues();
+ </method>
<method name="removeVideoByUser" args="userObject">
- var obj = this.closeStreamClient(userObject.publicSID);
- obj.destroy();
+ this._videoviewcontent.removeVideoByUser(userObject.publicSID);
</method>
<!---
@@ -463,29 +257,8 @@
@param int broadcastId broadcastId
-->
<method name="disconnectclient" args="publicSID">
- <![CDATA[
- //if ($debug) Debug.write("disconnectclient: ",publicSID);
-
- var obj = this.getVideoObjectByPublicSID(publicSID);
- var objList = this._participents.disconnectclient(publicSID);
-
- //if ($debug) Debug.write("disconnectclient obj: ",obj);
-
- if (obj != null){
- obj.resetValues();
- obj.destroy();
- }
-
- return null;
- ]]>
- </method>
-
- <method name="resetAllValues">
- var videoContainer = parent.parent._videoviewcontent;
-
- for (var eg in videoContainer.subviews){
- videoContainer.subviews[eg].resetValues();
- }
+ this._videoviewcontent.disconnectclient(publicSID);
+ this._participents.disconnectclient(publicSID);
</method>
<method name="updateMuteStatusVideoView" args="roomClient">
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=1220427&r1=1220426&r2=1220427&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:29:29 2011
@@ -12,82 +12,49 @@
So I think it is better if Users are forced to choose something from this list
-->
-
-<class name="editRecordStream" extends="labelExplorerBox" labelid="51"
- width="300" height="250" x="14" y="-340" >
- <attribute name="myvideocontainer" value="null" />
-
- <attribute name="chosenCam" value="null" />
- <attribute name="chosenMic" value="null" />
+<class name="editRecordStream">
+
<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="currentClient" value="null" />
+
+ <attribute name="syncUpdate" value="false" />
<attribute name="isInterview" value="false" type="boolean" />
-
- <handler name="oninit">
- <![CDATA[
- if ($debug) Debug.write("this.myvideocontainer ",this.myvideocontainer);
- if ($debug) Debug.write("editrecordstream ###################### ");
- var g = canvas.getUserData();
- var save = g["savecamdata"];
- //Debug.write("save: ",save,g["cam"],g["mic"]);
-
- //In case its an Audio-Only Room this box should not close automatically
- 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();
- } else {
- if (this.doDefaultAnimation) {
- this._chooseDeviceAnimation.doStart();
- }
- }
- }
-
-
-
- ]]>
- </handler>
-
- <method name="storelocaldata">
+
+ <!---
+ Message to send to Clients
+ -->
+ <attribute name="objMessage" value="null" />
+
+ <handler name="oninit">
<![CDATA[
- //Debug.write("sharedobject store ");
- var g = canvas.getUserData();
- g["cam"] = this.availibleCams.getValue();
- g["mic"] = this.availibleMics.getValue();
- g["avstored"] = this.availibleSettings.getValue();
- g["savecamdata"] = this.holddatainSO.getValue();
- canvas.setUserData(g);
+ //this.getBroadCastId.doCall();
+ var t = this;
+ canvas.lc.send(canvas.vid_lc_name, "createEditRecordStream", this.syncUpdate, this.isInterview);
+ canvas.stream_lc.lc_getBroadCastId = function(chosenSetting,remoteMessage) {
+ if ($debug) Debug.write("lc_getBroadCastId",chosenSetting,remoteMessage);
+ t.chosenSetting = chosenSetting;
+ t.remoteMessage = remoteMessage;
+ t.getBroadCastId.doCall();
+ };
+ canvas.stream_lc.sendNotification = function(objMessage) {
+ //if ($debug) Debug.write("Level sendNotification ",this.isgreater);
+ t.objMessage = objMessage;
+ t.sendMessage.doCall();
+ };
]]>
- </method>
-
- <netRemoteCallHib name="getBroadCastId" funcname="getBroadCastId"
- remotecontext="$once{ canvas.thishib }" >
+ </handler>
+
+ <netRemoteCallHib name="getBroadCastId" funcname="getBroadCastId"
+ remotecontext="$once{ canvas.thishib }" >
+
<handler name="ondata" args="value">
<![CDATA[
if ($debug) Debug.write("getBroadCastId",value,canvas.publicSID);
- if (parent.myvideocontainer == null) {
- parent.myvideocontainer = canvas._videocontainer.getNewVideoObject(canvas.publicSID);
- } else {
- parent.myvideocontainer.publicSID = canvas.publicSID;
- }
-
+
+ canvas.stream_lc.send(canvas.stream_lc_callback_name, 'clb_getBroadCastId', value)
+
canvas.setAttribute("currentMicName", Microphone.names[parent.chosenMic]);
canvas.setAttribute("currentCamName", Camera.names[parent.chosenCam]);
@@ -107,263 +74,20 @@
<![CDATA[
if ($debug) Debug.write("setUserAVSettings",value);
parent.currentClient = value;
- parent.doninitalize();
+ //parent.doninitalize();
+ canvas.stream_lc.send(canvas.stream_lc_callback_name, 'clb_setUserAVSettings', value);
]]>
</handler>
</netRemoteCallHib>
- <method name="doninitalize">
- <![CDATA[
- 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 = Microphone.get(valMic);
- //always to default gain to 50 because the Flash Plugin will remember the last time you've set the value
- _micro.setGain(50);
- //Microphone setUseEchoSupression(bool)
- _micro.setUseEchoSuppression(true);
- var _camera = Camera.get(valCam);
- if ($debug) Debug.write("_camera.setMode: ",videoview.width,videoview.height,canvas.framesPerSecond,true);
-
-
- //Microphone.set
- if (canvas.vaquality=="best") {
- _micro.setRate(canvas.microphoneRateBest);
- 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 {
- _camera.setMode(videoview.width,videoview.height,canvas.framesPerSecond,true);
- _micro.setRate(canvas.microphoneRateNormal);
- _micro.setSilenceLevel(canvas.loudnessAcitviation);
- if ($debug) Debug.write("_camera.setQuality NORMAL: ",canvas.bandwidthNeededNormal,canvas.camQualityNormal);
- _camera.setQuality(canvas.bandwidthNeededNormal,canvas.camQualityNormal);
- }
-
- switch (settings){
- case "s":
- this.myvideocontainer.setAttribute("visibility","hidden");
- break;
- case "vs":
- videoview.broadcast(this.currentClient.broadCastID,_camera,null);
- this.myvideocontainer.setAttribute("visibility","visible");
- break;
- case "av":
- videoview.broadcast(this.currentClient.broadCastID,_camera,_micro);
- this.myvideocontainer.setAttribute("visibility","visible");
- break;
- case "a":
- videoview.broadcast(this.currentClient.broadCastID,null,_micro);
-
- 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);
- 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">
-
- <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 g = canvas.getUserData();
- 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">
- <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 g = canvas.getUserData();
- var cam = g["cam"];
- 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">
- <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 g = canvas.getUserData();
- var mic = g["mic"];
- 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" >
- <handler name="oninit">
- var g = canvas.getUserData();
- 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();
- </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();
- </handler>
- </simpleLabelButton>
-
+ <netRemoteCallHib name="sendMessage" funcname="sendMessage"
+ remotecontext="$once{ canvas.thishib }" showLoading="false" >
+ <netparam><method name="getValue"> return parent.parent.objMessage; </method></netparam>
+ </netRemoteCallHib>
+
+ <method name="close">
+ this.destroy();
+ </method>
</class>
-
+
</library>
Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoContainer.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoContainer.lzx?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoContainer.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoContainer.lzx Sun Dec 18 15:29:29 2011
@@ -14,6 +14,8 @@
<!--- colors for each user -->
<attribute name="colorArray" value="null" />
+
+ <attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
<handler name="oninit">
//set modus
@@ -175,10 +177,13 @@
this.broadCastViewRef = obj;
} else {
//Get a Free VideoView Slot
- var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+ var neededWidth = 100;
+ var neededHeight = 100;
+ var neededOffsetLength = 36;
+ var freePos = this._videoviewcontent.getVideoObjectFreePos(neededOffsetLength, neededWidth, neededHeight);
this.broadCastViewRef = new lz.videoObjectBroadcast(this._videoviewcontent,{
- publicSID:publicSID,
+ publicSID:publicSID, width:neededWidth,height:neededHeight,
x:freePos[0],y:freePos[1]
});
canvas.currentusercolor = this.colorArray[this.subviews.length];
@@ -202,10 +207,13 @@
return obj;
}
//Get a Free VideoView Slot
- var freePos = this._videoviewcontent.getVideoObjectFreePos(36, 100, 100);
+ var neededWidth = 100;
+ var neededHeight = 100;
+ var neededOffsetLength = 36;
+ var freePos = this._videoviewcontent.getVideoObjectFreePos(neededOffsetLength, neededWidth, neededHeight);
return new lz.videoObjectPlayBroadcast(this._videoviewcontent,{
- publicSID:publicSID,
+ publicSID:publicSID, width:neededWidth,height:neededHeight,
x:freePos[0],y:freePos[1]
});
]]>
Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoObjectPlayBroadcast.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoObjectPlayBroadcast.lzx?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoObjectPlayBroadcast.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/video/videoObjectPlayBroadcast.lzx Sun Dec 18 15:29:29 2011
@@ -24,6 +24,16 @@
]]>
</handler>
+ <handler name="onpublicSID" args="value">
+ if (canvas.publicSID == value) {
+ this._toolbar._mute.setAttribute('visibility','hidden');
+ this.setSoundVolume(0);
+ } else {
+ this._toolbar._mute.setAttribute('visibility','visible');
+ this.setSoundVolume(100);
+ }
+ </handler>
+
<view name="_chatvideoinner" x="1" y="20"
width="${parent.width-2}" height="${parent.height-21}" >
@@ -44,6 +54,12 @@
</view>
+ <method name="setSoundVolume" args="volume">
+ if (this._chatvideoinner._videostream != null){
+ this._chatvideoinner._videostream.setVolume(volume);
+ }
+ </method>
+
</class>
</library>
Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/videoclassroom/videoContainerAudience.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/videoclassroom/videoContainerAudience.lzx?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/videoclassroom/videoContainerAudience.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/conference/videoclassroom/videoContainerAudience.lzx Sun Dec 18 15:29:29 2011
@@ -17,6 +17,8 @@
<attribute name="allUsers" value="null" />
<attribute name="modLoaded" value="false" type="boolean" />
+
+ <attribute name="showsVideoInSeparateComponent" value="true" type="boolean" />
<handler name="oninit">
canvas.thishib.modus = "audience";
Modified: incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx (original)
+++ incubator/openmeetings/branches/video-components/WebContent/openmeetings/modules/recording/video/videoContainerStream.lzx Sun Dec 18 15:29:29 2011
@@ -5,7 +5,7 @@
This class is using for video and audio panel of conference recording viewer.
-->
- <class name="videoContainerStream" extends="view" width="288" height="$once{ parent.height-22 }" >
+ <class name="videoContainerStream" extends="view" width="288" height="$once{ parent.height-22 }" >
<handler name="oninit">
canvas._videocontainer=this;
</handler>
Modified: incubator/openmeetings/branches/video-components/build.xml
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/build.xml?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/build.xml (original)
+++ incubator/openmeetings/branches/video-components/build.xml Sun Dec 18 15:29:29 2011
@@ -126,7 +126,7 @@
<!-- build webapp -->
<target name="dist" description="binary distribution of OpenMeetings"
- depends="cleanForBinary, jar, compile.laszlo.main, enhance, signWebStartJars">
+ depends="cleanForBinary, jar, compile.laszlo.main, compile.laszlo.main.as3, enhance, signWebStartJars">
</target>
@@ -138,7 +138,7 @@
<!-- compiles the sources only with laszlo debug client -->
<target name="dist-debug" description="binary distribution of OpenMeetings"
- depends="cleanForBinary, jar, compile.laszlo.main.debug, signWebStartJars">
+ depends="cleanForBinary, jar, compile.laszlo.main.debug, compile.laszlo.main.debug.as3, signWebStartJars">
</target>
@@ -452,6 +452,38 @@
</signjar>
</target>
+ <target name = "compile.laszlo.main.as3" depends="compile.laszlo.main.debug.as3">
+ <java classname = "org.openlaszlo.compiler.Main" fork = "true"
+ newenvironment="true"
+ failonerror="true"
+ dir = "${laszlo.src.dir}"
+ classpathref="laszlo.lib"
+ >
+ <jvmarg value = "-DLPS_HOME=${laszlo.home}"/>
+ <jvmarg value = "-Dlzdebug=${laszlo.debug}"/>
+ <jvmarg value = "-Dlzproxied=${laszlo.proxied}"/>
+ <jvmarg value = "-Xms1024M"/>
+ <jvmarg value = "-Xmx1024M"/>
+ <arg line="--runtime=swf10 --dir ${out.dir.swf} --onerror warn main.as3.lzx" />
+ </java>
+ </target>
+
+ <target name = "compile.laszlo.main.debug.as3">
+ <java classname = "org.openlaszlo.compiler.Main" fork = "true"
+ newenvironment="true"
+ failonerror="true"
+ dir = "${laszlo.src.dir}"
+ classpathref="laszlo.lib"
+ >
+ <jvmarg value = "-DLPS_HOME=${laszlo.home}"/>
+ <jvmarg value = "-Dlzdebug=${laszlo.debug}"/>
+ <jvmarg value = "-Dlzproxied=${laszlo.proxied}"/>
+ <jvmarg value = "-Xms1024M"/>
+ <jvmarg value = "-Xmx1024M"/>
+ <arg line="--runtime=swf10 --dir ${out.dir.swf} --onerror warn maindebug.as3.lzx" />
+ </java>
+ </target>
+
<target name = "compile.laszlo.main" depends="compile.laszlo.main.debug">
<java classname = "org.openlaszlo.compiler.Main" fork = "true"
newenvironment="true"
Modified: incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ClientListManager.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ClientListManager.java?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ClientListManager.java (original)
+++ incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ClientListManager.java Sun Dec 18 15:29:29 2011
@@ -80,12 +80,30 @@ public class ClientListManager {
return null;
}
+ public synchronized List<RoomClient> getClientsByPublicSID(String publicSID) {
+ try {
+ log.debug(" :: getClientByPublicSID :: " + publicSID);
+ Query q = em.createQuery("select rc from RoomClient rc where rc.publicSID = :publicSID");
+ q.setParameter("publicSID", publicSID);
+ List<RoomClient> clients = q.getResultList();
+ if (!clients.isEmpty()) {
+ return clients;
+ }
+ } catch (Exception err) {
+ log.error("[getClientByPublicSID]", err);
+ }
+ return null;
+ }
+
public RoomClient getClientByPublicSID(String publicSID) {
try {
log.debug(" :: getClientByPublicSID :: " + publicSID);
Query q = em.createQuery("select rc from RoomClient rc where rc.publicSID = :publicSID");
q.setParameter("publicSID", publicSID);
- return (RoomClient)q.getSingleResult();
+ List<RoomClient> clients = q.getResultList();
+ if (!clients.isEmpty()) {
+ return clients.get(0);
+ }
} catch (NoResultException nre) {
//expected
} catch (Exception err) {
Modified: incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java (original)
+++ incubator/openmeetings/branches/video-components/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java Sun Dec 18 15:29:29 2011
@@ -1260,19 +1260,24 @@ public class ScopeApplicationAdapter ext
IConnection current = Red5.getConnectionLocal();
// String streamid = current.getClient().getId();
- RoomClient currentClient = this.clientListManager
- .getClientByPublicSID(publicSID);
+ List<RoomClient> clients = this.clientListManager
+ .getClientsByPublicSID(publicSID);
- if (currentClient == null) {
+ if (clients == null) {
return -1L;
}
- currentClient.setIsBroadcasting(value);
- currentClient.setInterviewPodId(interviewPodId);
+ for (RoomClient rcl : clients) {
+ rcl.setIsBroadcasting(value);
+ rcl.setInterviewPodId(interviewPodId);
+
+ // Put the mod-flag to true for this client
+ this.clientListManager.updateClientByStreamId(
+ rcl.getStreamid(), rcl);
+ }
- // Put the mod-flag to true for this client
- this.clientListManager.updateClientByStreamId(
- currentClient.getStreamid(), currentClient);
+ // workaround for as3 interview room
+ RoomClient currentClient = clients.get(0);
// Notify all clients of the same scope (room)
Collection<Set<IConnection>> conCollection = current.getScope()
Modified: incubator/openmeetings/branches/video-components/src/app/org/openmeetings/servlet/outputhandler/DefaultIndex.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/branches/video-components/src/app/org/openmeetings/servlet/outputhandler/DefaultIndex.java?rev=1220427&r1=1220426&r2=1220427&view=diff
==============================================================================
--- incubator/openmeetings/branches/video-components/src/app/org/openmeetings/servlet/outputhandler/DefaultIndex.java (original)
+++ incubator/openmeetings/branches/video-components/src/app/org/openmeetings/servlet/outputhandler/DefaultIndex.java Sun Dec 18 15:29:29 2011
@@ -122,7 +122,7 @@ public class DefaultIndex extends Veloci
// Parse the Param for the SWF URL
String swf = httpServletRequest.getParameter("swf");
if (swf == null) {
- ctx.put("SWF_URL", "main.swf8.swf");
+ ctx.put("SWF_URL", "main.as3.swf10.swf");
} else {
ctx.put("SWF_URL", swf);
}