Author: solomax Date: Thu Jan 28 06:21:24 2016 New Revision: 1727253 URL: http://svn.apache.org/viewvc?rev=1727253&view=rev Log: [OPENMEETINGS-1319] flash crash investigation
Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java openmeetings/application/branches/3.1.x/openmeetings-flash/pom.xml openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/main.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/popups/autoLoader.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Modified: openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original) +++ openmeetings/application/branches/3.1.x/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Thu Jan 28 06:21:24 2016 @@ -1487,7 +1487,7 @@ public class ScopeApplicationAdapter ext * @param whiteboardId - id of whiteboard parameters will be send to */ @SuppressWarnings({ "rawtypes", "unchecked" }) - public void sendVarsByWhiteboardId(ArrayList whiteboardObjParam, Long whiteboardId) { + public int sendVarsByWhiteboardId(ArrayList whiteboardObjParam, Long whiteboardId) { try { Map whiteboardObj = new HashMap(); int i = 0; @@ -1500,7 +1500,7 @@ public class ScopeApplicationAdapter ext Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null); if (currentClient == null) { - return; + return -1; } Long roomId = currentClient.getRoomId(); @@ -1549,6 +1549,7 @@ public class ScopeApplicationAdapter ext } catch (Exception err) { log.error("[sendVarsByWhiteboardId]", err); } + return 1; } public int sendVarsModeratorGeneral(Object vars) { Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/pom.xml URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/pom.xml?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/pom.xml (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/pom.xml Thu Jan 28 06:21:24 2016 @@ -59,6 +59,18 @@ </properties> </profile> <profile> + <id>client-target</id> + <activation> + <property> + <name>client</name> + <value>true</value> + </property> + </activation> + <properties> + <ant.target>compile.laszlo.main</ant.target> + </properties> + </profile> + <profile> <id>client-debug-target</id> <activation> <property> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/hibernate/hibRtmpConnection.lzx Thu Jan 28 06:21:24 2016 @@ -1147,7 +1147,7 @@ if (value[0]=='audioActivity'){ //canvas.currentModApply //if ($debug) Debug.write("audioActivity Client ",value[1],value[2]); - canvas.commonVideoViewContent.setSpeakingByPos(value[2],value[1]); + canvas._videocontainer.setSpeakingByPos(value[2],value[1]); } else if (value[0]=='typingActivity'){ if ($debug) Debug.write("!!!typingActivity ::", value[1], canvas._videocontainer._participants.getUserListItemByPublicSID(value[2])); canvas._videocontainer._participants.getUserListItemByPublicSID(value[2]).userTyping(value[1]); Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainAttributes.lzx Thu Jan 28 06:21:24 2016 @@ -300,12 +300,6 @@ the LAST RoomClient Object that has been <attribute name="isResetUsername" value="false" type="boolean" /> <attribute name="resetHash" value="" type="string" /> -<attribute name="naviHeight" value="84" type="number" /> -<attribute name="naviHeightDelta" value="84" type="number" /> - -<attribute name="currentrecorder" value="null" /> -<attribute name="currentrecorder_id" value="0" type="number" /> - <!--- Holds a refernce to the current VideoCOntainer Object containing the VideoViews Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/mainMethods.lzx Thu Jan 28 06:21:24 2016 @@ -238,7 +238,6 @@ //set user color canvas.currentusercolor = canvas.getColorForUser(); - mainBaseText.setAttribute('text',canvas.currentappname); var _url = this.getDisplayObject().loaderInfo.url; if($debug) Debug.write("_url: ",_url); var cleanUrl = _url; @@ -518,6 +517,7 @@ try { canvas.setAttribute('ismoderator', isCurrentModerator); } catch (e:Error) { + new lz.errorPopup(canvas, {error: "update moder "+e}); if ($debug) Debug.error("updateModerationFlag::error ", e); } ]]> @@ -545,7 +545,9 @@ <method name="setDrawAllowStatus" args="roomClientObj"> <![CDATA[ var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID); - u.update(roomClientObj); + if (!!u && !!roomClientObj) { + u.update(roomClientObj); + } if ($debug) Debug.write("drawAllowStatus changes ###### "); if (roomClientObj.publicSID == canvas.publicSID) { canvas.setAttribute("isAllowedToDraw", roomClientObj.canDraw); @@ -562,7 +564,9 @@ <method name="setExclusiveAudioAllowStatus" args="roomClientObj"> <![CDATA[ var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID); - u.update(roomClientObj); + if (!!u && !!roomClientObj) { + u.update(roomClientObj); + } if ($debug) Debug.write("giveExclusiveAudioStatus changes ###### "); if (roomClientObj.publicSID==canvas.publicSID) { canvas.setAttribute("isAllowedToGiveExclusiveAudio",roomClientObj.canGiveAudio); @@ -573,8 +577,11 @@ <method name="setMuteStatus" args="roomClientObj"> <![CDATA[ + if ($debug) Debug.write("setMuteStatus ###### ", roomClientObj); var u = canvas._videocontainer._participants.getUserListItemByPublicSID(roomClientObj.publicSID); - u.update(roomClientObj); + if (!!u && !!roomClientObj) { + u.update(roomClientObj); + } if ($debug) Debug.write("setMuteStatus changes ###### ",roomClientObj.micMuted); //Check for self status if (roomClientObj.publicSID == canvas.publicSID) { @@ -719,7 +726,6 @@ itemStyle.setAttribute("basecolor",canvas.getThemeColor('basebgcolorizer')); menuStyle.setAttribute("basecolor",canvas.getThemeColor('styleMenuBarBaseColor')); _conferencemenu.setAttribute("bgcolor",canvas.getThemeColor('baseMousecolorizer')); - _mainbgcontentNavi.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor')); main_content.setAttribute("bgcolor",canvas.getThemeColor('mainBackgroundColor')); </method> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/main.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/main.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/main.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/main.lzx Thu Jan 28 06:21:24 2016 @@ -75,8 +75,8 @@ </handler> <!-- View for Contents. All Windows will be loaded on this view. --> - <view name="main_content" y="${ canvas.naviHeightDelta }" width="${canvas.width}" - height="${ canvas.height-canvas.naviHeightDelta }" + <view name="main_content" y="0" width="${canvas.width}" + height="${ canvas.height }" visibility="hidden" showhandcursor="false"> <handler name="onmouseover"> @@ -109,39 +109,6 @@ <om_vscrollbar name="_scrollbar" id="_mainScrollBar" /> </view> - <!-- View for Navigation-bar and App-name --> - <view name="_mainbgcontentNavi" x="0" y="0" clip="true" width="100%" height="${ canvas.naviHeight }" visibility="hidden"> - <image id="mainApplogo" visible="false" /> - <text id="mainBaseText" visible="false" fgcolor="${ canvas.fontColorHeader }" fontsize="20" fontstyle="bold"> - <switch> - <when property="$as3"> - <passthrough> - import flash.filters.DropShadowFilter; - </passthrough> - </when> - </switch> - <method name="setShadow" > - <![CDATA[ - if (this.isinited && false){ - this.normalMC = this.getDisplayObject(); - this.displacementMap = new DropShadowFilter(); - this.normalMC.filters = [this.displacementMap]; - } - ]]> - </method> - <handler name="onclick"> - lz.Browser.loadURL(canvas.currentappnameurl,"_blank"); - </handler> - <labelTooltip id="mainBaseTextLabel" /> - </text> - <handler name="oninit"> - var cmenu = new LzContextMenu(); - //if($debug) Debug.write("cmenu: ", cmenu, this); - this.contextmenu = cmenu; - cmenu.hideBuiltInItems(); - </handler> - </view> - <!-- View for Conference menu bar at the top side. Visible on conference --> <view name="_conferencemenu" y="0" x="0" width="100%" height="20" visible="false" > <method name="removeAll"> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/flexibleConferenceRoom/baseConferenceRoom.lzx Thu Jan 28 06:21:24 2016 @@ -79,9 +79,6 @@ new lz.labelerrorPopup(canvas, {labelid: 1316, errorlabelid: 1315}); } - canvas._mainbgcontentNavi.setAttribute('height',0); - canvas.setAttribute('naviHeightDelta',28); - if (this._chatPanelStrict) { var chatHidden = this.roomobj.chatHidden; this._chatPanelStrict.setAttribute('visible', !chatHidden); @@ -92,11 +89,8 @@ canvas.currentBaseConferenceRoom = this; if (!this.roomobj.hideTopBar) { + canvas.main_content.setAttribute('y', 28); canvas.currentBaseConferenceRoom.createMenu(); - } else { - canvas.setAttribute('naviHeight', 0); - canvas.setAttribute('naviHeightDelta', 0); - canvas._mainbgcontentNavi.setAttribute('visible', false); } canvas._conferencemenu.setAttribute('visible', !this.roomobj.hideTopBar); @@ -209,8 +203,6 @@ var src = hib.getUrl(); canvas.thishib.setAttribute('src',src); canvas.thishib.disconnect(); - canvas._mainbgcontentNavi.setAttribute('height',canvas.naviHeight); - canvas.setAttribute('naviHeightDelta',canvas.naviHeight); canvas._conferencemenu.removeAll(); canvas._conferencemenu.setAttribute('visibility','hidden'); </handler> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/interviewuserlist/interviewUserListItem.lzx Thu Jan 28 06:21:24 2016 @@ -57,10 +57,12 @@ </handler> <method name="update" args="obj, full=true"> - setAttribute('firstname', obj.firstname); - setAttribute('lastname', obj.lastname); - refObj = obj; - _userName.setAttribute('text', getUName()); + if (!!obj.scope) { + setAttribute('firstname', obj.firstname); + setAttribute('lastname', obj.lastname); + refObj = obj; + _userName.setAttribute('text', getUName()); + } </method> <method name="updateIconByMod"> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/participants/participantListItem.lzx Thu Jan 28 06:21:24 2016 @@ -65,11 +65,13 @@ </method> <method name="update" args="obj, full=true"> - setAttribute('firstname', obj.firstname); - setAttribute('lastname', obj.lastname); - refObj = obj; - this.isMod = refObj.isMod; - checkName(); + if (!!obj.scope) { + setAttribute('firstname', obj.firstname); + setAttribute('lastname', obj.lastname); + refObj = obj; + this.isMod = refObj.isMod; + checkName(); + } this.updateIcons(); </method> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/popups/autoLoader.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/popups/autoLoader.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/popups/autoLoader.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/popups/autoLoader.lzx Thu Jan 28 06:21:24 2016 @@ -35,7 +35,6 @@ <method name="close"> canvas.main_content.setAttribute('visibility','visible'); - canvas._mainbgcontentNavi.setAttribute('visibility','visible'); canvas.thishib.loaderVar = null; this.destroy(); </method> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/modules/conference/restricted/restrictedUserListItem.lzx Thu Jan 28 06:21:24 2016 @@ -43,30 +43,32 @@ <method name="update" args="obj, full=true"> <![CDATA[ if ($debug) Debug.write("!!!! update ", obj, this.userId); - setAttribute('firstname', obj.firstname); - setAttribute('lastname', obj.lastname); - if (full) { - setAttribute('refObj', obj); - } else { - this.refObj.isMod = obj.isMod; - } - var renderList = parent.parent.parent.parent.renderList; - //if ($debug) Debug.write("!!!! update renderList", renderList); - for (var i = 0; i < renderList.length; ++i) { - if (renderList[i].publicSID == refObj.publicSID) { - if (full) { - renderList[i] = this.refObj; - } else { - renderList[i].isMod = obj.isMod; + if (!!obj.scope) { + setAttribute('firstname', obj.firstname); + setAttribute('lastname', obj.lastname); + if (full) { + setAttribute('refObj', obj); + } else { + this.refObj.isMod = obj.isMod; + } + var renderList = parent.parent.parent.parent.renderList; + //if ($debug) Debug.write("!!!! update renderList", renderList); + for (var i = 0; i < renderList.length; ++i) { + if (renderList[i].publicSID == refObj.publicSID) { + if (full) { + renderList[i] = this.refObj; + } else { + renderList[i].isMod = obj.isMod; + } + break; } - break; } + + this.isMod = refObj.isMod; + this._content._userName.setAttribute('text', getUName()); } - - this.isMod = refObj.isMod; updateUserStatus(); this._content._iconsModerator.oninit.sendEvent(); - this._content._userName.setAttribute('text', getUName()); ]]> </method> Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/networkTesting/tests/PortAvailabilityTest.lzx Thu Jan 28 06:21:24 2016 @@ -32,7 +32,7 @@ </when> </switch> - <rtmpConnection name="rtmp" autoconnect="false" debug="true" /> + <rtmpConnection name="rtmp" debug="true" /> <handler name="oninit"> this.setAttribute("testName", "Port"); Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/video/editRecordStreamSWF10.lzx Thu Jan 28 06:21:24 2016 @@ -8,8 +8,8 @@ "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at - http://www.apache.org/licenses/LICENSE-2.0 - + http://www.apache.org/licenses/LICENSE-2.0 + Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY @@ -19,7 +19,7 @@ --> <library> - + <!-- ####################### Class editRecordStream @@ -35,42 +35,42 @@ <class name="editRecordStreamSWF10" extends="labelExplorerBox" labelid="51" width="680" height="540" x="14" y="-540" > - <switch> - <when property="$as3"> - <passthrough> + <switch> + <when property="$as3"> + <passthrough> import flash.events.StatusEvent; - import flash.media.Camera; - import flash.media.Microphone; - import flash.media.MicrophoneEnhancedMode; - import flash.media.MicrophoneEnhancedOptions; - import flash.net.SharedObject; - import flash.media.SoundCodec; - </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" /> - - <!--- - if true the user will see the dialog no matter if he has choosen "do not show again" or not - --> - <attribute name="isSyncUpdate" value="false" type="boolean" /> - - <attribute name="doDefaultAnimation" value="true" type="boolean" /> - - <attribute name="cam_default_width" value="320" type="number" /> - <attribute name="cam_default_height" value="260" type="number" /> - - <attribute name="interviewPodId" value="0" type="number" /> - - <attribute name="lastRecorded" value="" type="string" /> + import flash.media.Camera; + import flash.media.Microphone; + import flash.media.MicrophoneEnhancedMode; + import flash.media.MicrophoneEnhancedOptions; + import flash.net.SharedObject; + import flash.media.SoundCodec; + </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" /> + + <!--- + if true the user will see the dialog no matter if he has choosen "do not show again" or not + --> + <attribute name="isSyncUpdate" value="false" type="boolean" /> + + <attribute name="doDefaultAnimation" value="true" type="boolean" /> + + <attribute name="cam_default_width" value="320" type="number" /> + <attribute name="cam_default_height" value="260" type="number" /> + + <attribute name="interviewPodId" value="0" type="number" /> + + <attribute name="lastRecorded" value="" type="string" /> <attribute name="isRunning" value="false" type="boolean" /> @@ -89,7 +89,7 @@ <method name="count" args="calleeObj"> if (this.recordingsCounter != 0){ this.recordingsCounter -= 1; - lz.Timer.addTimer( this.counterDelegate, 1000 ); + lz.Timer.resetTimer(this.counterDelegate, 1000); this._text._info.setAttribute("text",""+this.recordingsCounter+" sec"); @@ -97,6 +97,7 @@ this._text.setAttribute("visibility","hidden"); this.doStop(); this.timerIsRunning = false; + lz.Timer.removeTimer(this.counterDelegate); this.doPlay(); } </method> @@ -108,39 +109,41 @@ </method> <handler name="oninit"> - <![CDATA[ - //Make this view the upmost in the z-Index order - canvas.inner.bringToFront(); - - this.counterDelegate = new LzDelegate( this, "count" ); - - if ($debug) Debug.write("this.myvideocontainer ",this.myvideocontainer); - if ($debug) Debug.write("editrecordstream ###################### "); + <![CDATA[ + //Make this view the upmost in the z-Index order + canvas.inner.bringToFront(); + + this.counterDelegate = new LzDelegate(this, "count"); + + if ($debug) Debug.write("this.myvideocontainer ",this.myvideocontainer); + if ($debug) Debug.write("editrecordstream ###################### "); - var sharedData = this.checkDeviceSettingsRememberStatus(); - if(sharedData != null) { - this.chosenCam = sharedData["cam"]; - this.chosenMic = sharedData["mic"]; - this.cam_default_width = canvas.isInterview ? 320 : sharedData["width"]; - this.cam_default_height = canvas.isInterview ? 260 : sharedData["height"]; - this.chosenSetting = sharedData["avstored"]; - this.remoteMessage = new Array(); - this.remoteMessage[0] = 'avsettings'; - this.remoteMessage[2] = this.chosenSetting; - this.getBroadCastId.doCall(); - } else { - if (this.doDefaultAnimation && !canvas.isInterview) { - this._chooseDeviceAnimation.setAttribute('started', true); - } - this.initItemsAndDefaultAttachCamera(); - } - - if (canvas.isInterview) { - if ($debug) Debug.write("Is interview ",interviewPodId); - this.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]); - this.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]); - } - ]]> + var sharedData = null;//this.checkDeviceSettingsRememberStatus(); + if(sharedData != null) { + this.chosenCam = sharedData["cam"]; + this.chosenMic = sharedData["mic"]; + this.cam_default_width = canvas.isInterview ? 320 : sharedData["width"]; + this.cam_default_height = canvas.isInterview ? 260 : sharedData["height"]; + this.chosenSetting = sharedData["avstored"]; + this.remoteMessage = new Array(); + this.remoteMessage[0] = 'avsettings'; + this.remoteMessage[2] = this.chosenSetting; + this.getBroadCastId.doCall(); + } else { + if (this.doDefaultAnimation && !canvas.isInterview) { + this._chooseDeviceAnimation.setAttribute('started', true); + } else { + this.setAttribute("y", 40); + } + this.initItemsAndDefaultAttachCamera(); + } + + if (canvas.isInterview) { + if ($debug) Debug.write("Is interview ",interviewPodId); + this.setAttribute("x",canvas["interviewPod"+interviewPodId+"_x"]); + this.setAttribute("y",canvas["interviewPod"+interviewPodId+"_y"]); + } + ]]> </handler> <!-- @@ -157,9 +160,9 @@ if ($debug) Debug.write("canvas.currentRoomObj: ", canvas.currentRoomObj); //In case the user presses the Sync Button this box should - //not close automatically and do the user-prefered values + //not close automatically and do the user-prefered values if(save && !this.isSyncUpdate && this.checkLocalDataComplete()) { - return g; + return g; } return null; ]]> @@ -169,67 +172,67 @@ Checks if all needed data in the shared object is available --> <method name="checkLocalDataComplete"> - <![CDATA[ - var t:SharedObject = SharedObject.getLocal('userdata'); - var g = t.data; - if (g["width"] > 0 && g["height"] > 0) { - return true; - } - return false; - ]]> - </method> - - - <netRemoteCallHib name="getBroadCastId" funcname="getBroadCastId" remotecontext="$once{ canvas.thishib }" > - <handler name="ondata" args="value"> - <![CDATA[ - if ($debug) Debug.write("getBroadCastId",value,canvas.publicSID); - parent.myvideocontainer = canvas._videoComponent.createVideoObject(canvas.publicSID, true, parent.interviewPodId, canvas.currentClient); - - if ($debug) Debug.write("parent.setUserAVSettings -1- ",parent.chosenSetting); - if ($debug) Debug.write("parent.setUserAVSettings -2- ",parent.remoteMessage); - if ($debug) Debug.write("parent.setUserAVSettings -3- ",parent.cam_default_width); - if ($debug) Debug.write("parent.setUserAVSettings -4- ",parent.cam_default_height); - if ($debug) Debug.write("parent.setUserAVSettings -5a- ",canvas.currentRoomObj.id); - if ($debug) Debug.write("parent.setUserAVSettings -6- ",canvas.publicSID); - - parent.setUserAVSettings.doCall(); - ]]> - </handler> - </netRemoteCallHib> - - <netRemoteCallHib name="setUserAVSettings" funcname="setUserAVSettings" remotecontext="$once{ canvas.thishib }" > - <netparam><method name="getValue">return parent.parent.chosenSetting;</method></netparam> - <netparam><method name="getValue">return parent.parent.remoteMessage;</method></netparam> - <netparam><method name="getValue">return parent.parent.cam_default_width;</method></netparam> - <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam> - <netparam><method name="getValue">return canvas.currentRoomObj.id;</method></netparam> - <netparam><method name="getValue">return canvas.publicSID;</method></netparam> - <netparam><method name="getValue">return parent.parent.interviewPodId;</method></netparam> - <handler name="ondata" args="value"> - <![CDATA[ - if ($debug) Debug.write("setUserAVSettings",value); - parent.currentClient = value; - parent.doStartConference(); - ]]> - </handler> - </netRemoteCallHib> - - <method name="storelocaldata"> - <![CDATA[ - //Debug.write("sharedobject store "); - var t:SharedObject = SharedObject.getLocal('userdata'); - var g = t.data; - if (g==null) g = new Array(); - g["cam"] = this.availableCams.getValue(); - g["mic"] = this.availableMics.getValue(); - g["avstored"] = this.availableSettings.getValue(); - g["savecamdata"] = this.holddatainSO.getValue(); - g["width"] = this.cam_default_width; - g["height"] = this.cam_default_height; - t.flush(); - ]]> - </method> + <![CDATA[ + var t:SharedObject = SharedObject.getLocal('userdata'); + var g = t.data; + if (g["width"] > 0 && g["height"] > 0) { + return true; + } + return false; + ]]> + </method> + + + <netRemoteCallHib name="getBroadCastId" funcname="getBroadCastId" remotecontext="$once{ canvas.thishib }" > + <handler name="ondata" args="value"> + <![CDATA[ + if ($debug) Debug.write("getBroadCastId",value,canvas.publicSID); + parent.myvideocontainer = canvas._videoComponent.createVideoObject(canvas.publicSID, true, parent.interviewPodId, canvas.currentClient); + + if ($debug) Debug.write("parent.setUserAVSettings -1- ",parent.chosenSetting); + if ($debug) Debug.write("parent.setUserAVSettings -2- ",parent.remoteMessage); + if ($debug) Debug.write("parent.setUserAVSettings -3- ",parent.cam_default_width); + if ($debug) Debug.write("parent.setUserAVSettings -4- ",parent.cam_default_height); + if ($debug) Debug.write("parent.setUserAVSettings -5a- ",canvas.currentRoomObj.id); + if ($debug) Debug.write("parent.setUserAVSettings -6- ",canvas.publicSID); + + parent.setUserAVSettings.doCall(); + ]]> + </handler> + </netRemoteCallHib> + + <netRemoteCallHib name="setUserAVSettings" funcname="setUserAVSettings" remotecontext="$once{ canvas.thishib }" > + <netparam><method name="getValue">return parent.parent.chosenSetting;</method></netparam> + <netparam><method name="getValue">return parent.parent.remoteMessage;</method></netparam> + <netparam><method name="getValue">return parent.parent.cam_default_width;</method></netparam> + <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam> + <netparam><method name="getValue">return canvas.currentRoomObj.id;</method></netparam> + <netparam><method name="getValue">return canvas.publicSID;</method></netparam> + <netparam><method name="getValue">return parent.parent.interviewPodId;</method></netparam> + <handler name="ondata" args="value"> + <![CDATA[ + if ($debug) Debug.write("setUserAVSettings",value); + parent.currentClient = value; + parent.doStartConference(); + ]]> + </handler> + </netRemoteCallHib> + + <method name="storelocaldata"> + <![CDATA[ + //Debug.write("sharedobject store "); + var t:SharedObject = SharedObject.getLocal('userdata'); + var g = t.data; + if (g==null) g = new Array(); + g["cam"] = this.availableCams.getValue(); + g["mic"] = this.availableMics.getValue(); + g["avstored"] = this.availableSettings.getValue(); + g["savecamdata"] = this.holddatainSO.getValue(); + g["width"] = this.cam_default_width; + g["height"] = this.cam_default_height; + t.flush(); + ]]> + </method> <method name="getMic" args="valMic"> <![CDATA[ @@ -275,7 +278,7 @@ _camera = Camera.getCamera(valCam); } if (_camera != null) { - if ($debug) Debug.write("videoview: ",videoview); + if ($debug) Debug.write("videoview: ",videoview); if ($debug) Debug.write("_camera.setQuality BEST: ", canvas.isInterview, (canvas.bandwidthNeededBest*2), canvas.camQualityBest); if (canvas.isInterview) { @@ -355,7 +358,7 @@ this.close(); ]]> </method> - + <method name="doStartRecording"> <![CDATA[ this._btnStartRecording.setAttribute("enabled",false); @@ -372,7 +375,7 @@ if ($debug && _camera != null) Debug.warn("_camera.muted ", _camera.muted); if ($debug && _micro != null) Debug.warn("_micro.muted ", _micro.muted); - if ((_camera != null && !_camera.muted) || (_camera == null && _micro != null)) { + if ((_camera != null && !_camera.muted) || (_micro != null && !_micro.muted)) { this.startTimer(); } @@ -384,41 +387,41 @@ videoview.record(this.lastRecorded,_camera,_micro); ]]> </method> - - <method name="doPlay"> - <![CDATA[ - if (this.lastRecorded == "") { - //Error - nothing recorded yet - if ($debug) Debug.warn("Nothing to Play"); - } else { - this._play.setAttribute("enabled",true); - this._video.content._publisher.setAttribute("visibility","hidden"); - this._video.content._viewer.setAttribute("visibility","visible"); - var videoview = this._video.content._viewer._chatvideoinner._videostream; - videoview.justPlayStream(this.lastRecorded+".flv",0); - } - ]]> - </method> - - <method name="doStop"> - if (this.isRunning) { - this.isRunning = false; - var videoview = this._video.content._publisher._chatvideoinner._videostream; - this._btnStartRecording.setAttribute("enabled",true); - videoview._stop(); - this.doPlay(); - } - var videoviewViewer = this._video.content._viewer._chatvideoinner._videostream; - videoviewViewer._stop(); - </method> - - <animator name="_chooseDeviceAnimation" started="false" attribute="y" to="40" duration="750" /> - - - <labelText fontstyle="bold" labelid="758" + + <method name="doPlay"> + <![CDATA[ + if (this.lastRecorded == "") { + //Error - nothing recorded yet + if ($debug) Debug.warn("Nothing to Play"); + } else { + this._play.setAttribute("enabled",true); + this._video.content._publisher.setAttribute("visibility","hidden"); + this._video.content._viewer.setAttribute("visibility","visible"); + var videoview = this._video.content._viewer._chatvideoinner._videostream; + videoview.justPlayStream(this.lastRecorded+".flv",0); + } + ]]> + </method> + + <method name="doStop"> + if (this.isRunning) { + this.isRunning = false; + var videoview = this._video.content._publisher._chatvideoinner._videostream; + this._btnStartRecording.setAttribute("enabled",true); + videoview._stop(); + this.doPlay(); + } + var videoviewViewer = this._video.content._viewer._chatvideoinner._videostream; + videoviewViewer._stop(); + </method> + + <animator name="_chooseDeviceAnimation" started="false" attribute="y" to="40" duration="750" /> + + + <labelText fontstyle="bold" labelid="758" width="${ parent.width-2 }" height="30" multiline="true" y="20" /> - <labelText labelid="447" fontsize="11" fontstyle="bold" x="10" y="80" width="$once{ parent.width-20 }" /> + <labelText labelid="447" fontsize="11" fontstyle="bold" x="10" y="80" width="$once{ parent.width-20 }" /> <resetCombobox fontsize="11" name="availableSettings" x="10" y="100" width="280" editable="false"> <handler name="onselect"> @@ -459,8 +462,8 @@ ]]> </handler> </resetCombobox> - - <attribute name="executeAttachCamera" value="false" type="boolean" /> + + <attribute name="executeAttachCamera" value="false" type="boolean" /> <method name="getStoredProp" args="prop"> //Initialize and get eventually stored property @@ -497,10 +500,10 @@ } </method> - <!-- - Initialize the default settings for cam and resolution and attach the camera - after we have made sure the values are there one time - --> + <!-- + Initialize the default settings for cam and resolution and attach the camera + after we have made sure the values are there one time + --> <method name="initItemsAndDefaultAttachCamera"> <![CDATA[ //fill list of Cameras @@ -548,30 +551,30 @@ </method> <method name="attachCamera"> - <![CDATA[ - //if the user has configured this box to auto-close, do not try to - //attach the cam to the preview (black) box - var sharedData = this.checkDeviceSettingsRememberStatus(); - if(sharedData != null) { - return; - } - - //Don't execute before combobox items are not initialized - if (!this.executeAttachCamera) { - if ($debug) Debug.write("Return, executeAttachCamera is false"); - return; - } + <![CDATA[ + //if the user has configured this box to auto-close, do not try to + //attach the cam to the preview (black) box + var sharedData = this.checkDeviceSettingsRememberStatus(); + if(sharedData != null) { + return; + } + + //Don't execute before combobox items are not initialized + if (!this.executeAttachCamera) { + if ($debug) Debug.write("Return, executeAttachCamera is false"); + return; + } if (_video == undefined) { - if ($debug) Debug.write("Return, video video not yet ready"); - return; + if ($debug) Debug.write("Return, video video not yet ready"); + return; } _video.content._publisher.setAttribute("visible", true); _video.content._viewer.setAttribute("visible", false); var videoview = this._video.content._publisher._chatvideoinner._videostream; var _camera = getCam(availableCams.getValue(), videoview); if (_camera != null) { - //stop will not call clear as there is no NetStream + //stop will not call clear as there is no NetStream videoview._stop(); videoview.clear(); videoview.attachCamera(_camera); @@ -584,37 +587,37 @@ //make sure stop and clear is called, as the _stop method does not work for all //videoviews in the device settings. _video.content._publisher._chatvideoinner._videostream._stop(); - _video.content._viewer._chatvideoinner._videostream._stop(); - _video.content._publisher._chatvideoinner._videostream.clear(); - _video.content._viewer._chatvideoinner._videostream.clear(); - if ($debug) Debug.write("Cleaned up videos and free resources"); + _video.content._viewer._chatvideoinner._videostream._stop(); + _video.content._publisher._chatvideoinner._videostream.clear(); + _video.content._viewer._chatvideoinner._videostream.clear(); + if ($debug) Debug.write("Cleaned up videos and free resources"); </method> - <labelText name="availableCamsLabel" labelid="52" fontsize="11" x="10" y="140" width="$once{ parent.width-20 }" /> - <resetCombobox fontsize="11" name="availableCams" x="10" y="160" width="280" editable="false"> + <labelText name="availableCamsLabel" labelid="52" fontsize="11" x="10" y="140" width="$once{ parent.width-20 }" /> + <resetCombobox fontsize="11" name="availableCams" x="10" y="160" width="280" editable="false"> <handler name="onselect"> parent.attachCamera(); </handler> - </resetCombobox> + </resetCombobox> - <labelText name="availableMicsLabel" labelid="53" fontsize="11" x="10" y="180" width="$once{ parent.width-20 }" /> - <resetCombobox fontsize="11" name="availableMics" x="10" y="200" width="280" editable="false" /> + <labelText name="availableMicsLabel" labelid="53" fontsize="11" x="10" y="180" width="$once{ parent.width-20 }" /> + <resetCombobox fontsize="11" name="availableMics" x="10" y="200" width="280" editable="false" /> - <labelText name="infoTextNoAV" labelid="452" multiline="true" width="280" - fontsize="11" x="10" y="130" visibility="hidden" /> - - <labelText name="availibleResolutionsLabel" labelid="1429" - fontsize="11" x="10" y="224" width="$once{ parent.width-20 }" /> - - <view name="availibleResolutionsWarning" x="272" y="224" - resource="warning_icon_popup_devices_rsc" clickable="true"> - <labelTooltip multiline="true" labelid="1430" /> - </view> - - <resetCombobox fontsize="11" name="availibleResolutions" x="10" shownitems="10" - y="244" width="280" editable="false"> - <!--- @keywords private --> - <attribute name="counter" value="0" /> + <labelText name="infoTextNoAV" labelid="452" multiline="true" width="280" + fontsize="11" x="10" y="130" visibility="hidden" /> + + <labelText name="availibleResolutionsLabel" labelid="1429" + fontsize="11" x="10" y="224" width="$once{ parent.width-20 }" /> + + <view name="availibleResolutionsWarning" x="272" y="224" + resource="warning_icon_popup_devices_rsc" clickable="true"> + <labelTooltip multiline="true" labelid="1430" /> + </view> + + <resetCombobox fontsize="11" name="availibleResolutions" x="10" shownitems="10" + y="244" width="280" editable="false"> + <!--- @keywords private --> + <attribute name="counter" value="0" /> <handler name="onselect" args="item"> <![CDATA[ if (!canvas.isInterview) { @@ -646,55 +649,55 @@ parent.attachCamera(); ]]> </handler> - <textlistitem datapath="myConfigSet:/config/availableCameraResolutions/resolution" > - <switch> - <when property="$as3"> - <passthrough> - import flash.net.SharedObject; - </passthrough> - </when> - </switch> - <attribute name="cam_width" value="320" type="number" /> - <attribute name="cam_height" value="240" type="number" /> - <handler name="ondata"> - <![CDATA[ - // if ($debug) Debug.write("ondata ", this); - var type = this.datapath.xpathQuery('@type'); - this.cam_width = Number(this.datapath.xpathQuery('@width')); - this.cam_height = Number(this.datapath.xpathQuery('@height')); - this.setAttribute("text",""+this.cam_width+"x"+this.cam_height+" ["+type+"]"); - var isDefault = this.datapath.xpathQuery('@isDefault'); - - var t:SharedObject = SharedObject.getLocal('userdata'); - var g = t.data; - var width = g["width"]; - var height = g["height"]; - if (width!=null && width > 0 && height!=null && height>0) { - if (width == this.cam_width && height == this.cam_height) { - parent.selectItemAt(parent.counter); - parent.onselect.sendEvent(this); - } - } else { - if (isDefault == "true") { - if ($debug) Debug.write("Found default one ",type); - parent.selectItemAt(parent.counter); - parent.onselect.sendEvent(this); - } - } - parent.counter+=1; - ]]> - </handler> - </textlistitem> - </resetCombobox> - - <simpleLabelButton name="_btnStartRecording" labelid="775" - width="140" x="150" y="280" height="28"> - <handler name="onclick"> - parent._level_meter.startLevel(); - parent.doStartRecording(); - </handler> - </simpleLabelButton> - + <textlistitem datapath="myConfigSet:/config/availableCameraResolutions/resolution" > + <switch> + <when property="$as3"> + <passthrough> + import flash.net.SharedObject; + </passthrough> + </when> + </switch> + <attribute name="cam_width" value="320" type="number" /> + <attribute name="cam_height" value="240" type="number" /> + <handler name="ondata"> + <![CDATA[ + // if ($debug) Debug.write("ondata ", this); + var type = this.datapath.xpathQuery('@type'); + this.cam_width = Number(this.datapath.xpathQuery('@width')); + this.cam_height = Number(this.datapath.xpathQuery('@height')); + this.setAttribute("text",""+this.cam_width+"x"+this.cam_height+" ["+type+"]"); + var isDefault = this.datapath.xpathQuery('@isDefault'); + + var t:SharedObject = SharedObject.getLocal('userdata'); + var g = t.data; + var width = g["width"]; + var height = g["height"]; + if (width!=null && width > 0 && height!=null && height>0) { + if (width == this.cam_width && height == this.cam_height) { + parent.selectItemAt(parent.counter); + parent.onselect.sendEvent(this); + } + } else { + if (isDefault == "true") { + if ($debug) Debug.write("Found default one ",type); + parent.selectItemAt(parent.counter); + parent.onselect.sendEvent(this); + } + } + parent.counter+=1; + ]]> + </handler> + </textlistitem> + </resetCombobox> + + <simpleLabelButton name="_btnStartRecording" labelid="775" + width="140" x="150" y="280" height="28"> + <handler name="onclick"> + parent._level_meter.startLevel(); + parent.doStartRecording(); + </handler> + </simpleLabelButton> + <view x="340" y="60" name="_video" clip="true" width="${ parent.width-this.x-10 }" height="${ parent.height-260 }"> <view name="content"> @@ -703,18 +706,18 @@ width="${ parent.parent.parent.cam_default_width }" height="${ parent.parent.parent.cam_default_height }"> <handler name="sendCameraStatus" args="camStatus"> - if ($debug) Debug.write("sendCameraStatus -1- ",camStatus); - if (camStatus == "Camera.Unmuted") { - parent.parent.parent.startTimerToCount(); - } - </handler> - - <handler name="sendMicroStatus" args="micStatus"> - if ($debug) Debug.write("sendMicroStatus -1- ",micStatus); - if (micStatus == "Microphone.Unmuted") { - parent.parent.parent.startTimerToCount(); - } - </handler> + if ($debug) Debug.write("sendCameraStatus -1- ",camStatus); + if (camStatus == "Camera.Unmuted") { + parent.parent.parent.startTimerToCount(); + } + </handler> + + <handler name="sendMicroStatus" args="micStatus"> + if ($debug) Debug.write("sendMicroStatus -1- ",micStatus); + if (micStatus == "Microphone.Unmuted") { + parent.parent.parent.startTimerToCount(); + } + </handler> </videoObjectTestBroadcast> <videoObjectPlayTestBroadcast name="_viewer" visibility="hidden" @@ -731,116 +734,116 @@ <text name="_info" resize="true" bgcolor="0xFFFFFF" align="right" fontsize="12" fontstyle="bold" /> </view> - - <simpleLabelButton name="_play" y="${ parent.height-166 }" x="490" enabled="false" - width="90" labelid="764" > - <handler name="onclick"> - parent.doPlay(); - </handler> - </simpleLabelButton> - - <view name="_level_meter" x="340" y="${ parent.height-190 }" width="240" height="20" clip="true" bgcolor="0x000000"> - - <!--- Level delegate, used to track level changes. - @keywords private --> - <attribute name="_leveldel" value="$once{new LzDelegate(this, '_updateLevel')}"/> - - <method name="_updateLevel" args="no"> - <![CDATA[ - if (parent._video.content._publisher._chatvideoinner._videostream.micro == null) - { - return; - } - this.setNewLevel(parent._video.content._publisher._chatvideoinner._videostream.micro.activityLevel); - ]]> - </method> - - <method name="startLevel"> - this._leveldel.register(lz.Idle, "onidle"); - </method> - - <method name="resetNewLevel"> - this._leveldel.unregisterAll(); - this.setNewLevel(0); - </method> - - <method name="setNewLevel" args="no"> - <![CDATA[ - var newLevel = (238/100) * no; - this._over.setAttribute("width",238-newLevel); - this._over.setAttribute("x",1+(newLevel)); - ]]> - </method> - - <view name="_bg" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" /> - <view name="_grip" resource="level_meter_rsc" x="1" y="1" /> - <view name="_over" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" /> - <labelText labelid="767" x="2" y="2" height="16" width="236" resize="false" /> - </view> - - <view y="${ parent.height-98 }" resource="test_setup_info_rsc" x="16" /> - - <labelText fontstyle="bold" labelid="765" x="39" y="${ parent.height-100 }" - width="${ parent.width-50 }" multiline="true" /> - - <!-- Remember Me --> - <labelCheckbox name="holddatainSO" labelid="762" x="10" y="${ parent.height-20 }" > - <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="${ (canvas.isInterview) ? 'visible' : 'hidden' }" - labelid="54" x="${ parent.width-220 }" y="${ parent.height-50 }" width="100"> - <handler name="onclick"> - parent.cleanVideos(); - this.parent.storelocaldata(); - this.parent.chosenCam = parent.availableCams.getValue(); - this.parent.chosenMic = parent.availableMics.getValue(); - this.parent.chosenSetting = parent.availableSettings.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="${ (canvas.isInterview) ? 'visible' : 'hidden' }" - labelid="918" x="${ parent.width-110 }" y="${ parent.height-50 }" width="100"> - <handler name="onclick"> - parent.cleanVideos(); - parent.close(); - </handler> - </simpleLabelButton> - - <simpleLabelButton fontsize="11" visibility="${ (!canvas.isInterview) ? 'visible' : 'hidden' }" - labelid="761" width="160" x="${ parent.width-170 }" y="${ parent.height-50 }" height="28"> - <handler name="onclick"> - parent.cleanVideos(); - this.parent.storelocaldata(); - this.parent.chosenCam = parent.availableCams.getValue(); - this.parent.chosenMic = parent.availableMics.getValue(); - this.parent.chosenSetting = parent.availableSettings.getValue(); + + <simpleLabelButton name="_play" y="${ parent.height-166 }" x="490" enabled="false" + width="90" labelid="764" > + <handler name="onclick"> + parent.doPlay(); + </handler> + </simpleLabelButton> + + <view name="_level_meter" x="340" y="${ parent.height-190 }" width="240" height="20" clip="true" bgcolor="0x000000"> + + <!--- Level delegate, used to track level changes. + @keywords private --> + <attribute name="_leveldel" value="$once{new LzDelegate(this, '_updateLevel')}"/> + + <method name="_updateLevel" args="no"> + <![CDATA[ + if (parent._video.content._publisher._chatvideoinner._videostream.micro == null) + { + return; + } + this.setNewLevel(parent._video.content._publisher._chatvideoinner._videostream.micro.activityLevel); + ]]> + </method> + + <method name="startLevel"> + this._leveldel.register(lz.Idle, "onidle"); + </method> + + <method name="resetNewLevel"> + this._leveldel.unregisterAll(); + this.setNewLevel(0); + </method> + + <method name="setNewLevel" args="no"> + <![CDATA[ + var newLevel = (238/100) * no; + this._over.setAttribute("width",238-newLevel); + this._over.setAttribute("x",1+(newLevel)); + ]]> + </method> + + <view name="_bg" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" /> + <view name="_grip" resource="level_meter_rsc" x="1" y="1" /> + <view name="_over" width="238" height="18" x="1" y="1" bgcolor="0xFFFFFF" /> + <labelText labelid="767" x="2" y="2" height="16" width="236" resize="false" /> + </view> + + <view y="${ parent.height-98 }" resource="test_setup_info_rsc" x="16" /> + + <labelText fontstyle="bold" labelid="765" x="39" y="${ parent.height-100 }" + width="${ parent.width-50 }" multiline="true" /> + + <!-- Remember Me --> + <labelCheckbox name="holddatainSO" labelid="762" x="10" y="${ parent.height-20 }" > + <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="${ (canvas.isInterview) ? 'visible' : 'hidden' }" + labelid="54" x="${ parent.width-220 }" y="${ parent.height-50 }" width="100"> + <handler name="onclick"> + parent.cleanVideos(); + this.parent.storelocaldata(); + this.parent.chosenCam = parent.availableCams.getValue(); + this.parent.chosenMic = parent.availableMics.getValue(); + this.parent.chosenSetting = parent.availableSettings.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> + this.parent.getBroadCastId.doCall(); + </handler> + </simpleLabelButton> + + <simpleLabelButton fontsize="11" visibility="${ (canvas.isInterview) ? 'visible' : 'hidden' }" + labelid="918" x="${ parent.width-110 }" y="${ parent.height-50 }" width="100"> + <handler name="onclick"> + parent.cleanVideos(); + parent.close(); + </handler> + </simpleLabelButton> + + <simpleLabelButton fontsize="11" visibility="${ (!canvas.isInterview) ? 'visible' : 'hidden' }" + labelid="761" width="160" x="${ parent.width-170 }" y="${ parent.height-50 }" height="28"> + <handler name="onclick"> + parent.cleanVideos(); + this.parent.storelocaldata(); + this.parent.chosenCam = parent.availableCams.getValue(); + this.parent.chosenMic = parent.availableMics.getValue(); + this.parent.chosenSetting = parent.availableSettings.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> </class> - + </library> Modified: openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java URL: http://svn.apache.org/viewvc/openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java?rev=1727253&r1=1727252&r2=1727253&view=diff ============================================================================== --- openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java (original) +++ openmeetings/application/trunk/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/red5/ScopeApplicationAdapter.java Thu Jan 28 06:21:24 2016 @@ -1478,7 +1478,7 @@ public class ScopeApplicationAdapter ext * @param whiteboardId - id of whiteboard parameters will be send to */ @SuppressWarnings({ "rawtypes", "unchecked" }) - public void sendVarsByWhiteboardId(ArrayList whiteboardObjParam, Long whiteboardId) { + public int sendVarsByWhiteboardId(ArrayList whiteboardObjParam, Long whiteboardId) { try { Map whiteboardObj = new HashMap(); int i = 0; @@ -1491,7 +1491,7 @@ public class ScopeApplicationAdapter ext Client currentClient = sessionManager.getClientByStreamId(current.getClient().getId(), null); if (currentClient == null) { - return; + return -1; } Long roomId = currentClient.getRoomId(); @@ -1540,6 +1540,7 @@ public class ScopeApplicationAdapter ext } catch (Exception err) { log.error("[sendVarsByWhiteboardId]", err); } + return 1; } public int sendVarsModeratorGeneral(Object vars) {