Author: solomax Date: Wed Sep 14 05:24:18 2016 New Revision: 1760631 URL: http://svn.apache.org/viewvc?rev=1760631&view=rev Log: [OPENMEETINGS-1468] remote keyboard should work better
Added: openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/AudioTone.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/BaseScreenEncoder.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenEncoder.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenEncoder.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenShare.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPSScreenShare.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPScreenShare.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTSScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTScreenShare.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java - copied, changed from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ScreenV1Encoder.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ - copied from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/gui/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/CursorJob.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/EncodeJob.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/OmKeyEvent.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/RemoteJob.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/SendJob.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/Util.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/ - copied from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/down.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/down.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/next.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/next.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/play.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/play.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/previous.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/previous.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/stop.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/stop.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/up.png - copied unchanged from r1760627, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/up.png openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ - copied from r1760630, openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java - copied, changed from r1760627, openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/ openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/CursorJob.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/EncodeJob.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/OmKeyEvent.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/RemoteJob.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/SendJob.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/ openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/Util.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/ openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/ - copied from r1760630, openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ - copied from r1760630, openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/Core.java - copied, changed from r1760627, openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CoreScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/CursorJob.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/EncodeJob.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/OmKeyEvent.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/RemoteJob.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/job/SendJob.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/util/Util.java openmeetings/application/trunk/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/ openmeetings/application/trunk/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/gui/ - copied from r1760630, openmeetings/application/trunk/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ Removed: openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/down.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/next.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/play.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/previous.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/stop.png openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screenshare/up.png openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/ openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CoreScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/ openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CoreScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/resources/org/apache/openmeetings/screen/ Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/MouseListenerable.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/NumberSpinner.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenDimensions.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenHeightMouseListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenKeyListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenMouseListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenWidthMouseListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenXMouseListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenYMouseListener.java openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx openmeetings/application/branches/3.2.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenEncoder.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPSScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTScreenShare.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/MouseListenerable.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/NumberSpinner.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenDimensions.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenHeightMouseListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenKeyListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenMouseListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenWidthMouseListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenXMouseListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenYMouseListener.java openmeetings/application/branches/3.2.x/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenEncoder.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/IScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPClientPublish.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPSScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTSScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/RTMPTScreenShare.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/ScreenV1Encoder.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/BlankArea.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/MouseListenerable.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/NumberSpinner.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenDimensions.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenHeightMouseListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenKeyListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenMouseListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenSharerFrame.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenWidthMouseListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenXMouseListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/gui/ScreenYMouseListener.java openmeetings/application/trunk/openmeetings-screenshare/src/main/jnlp/templates/template.jnlp Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx?rev=1760631&r1=1760630&r2=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/base/remote/baseVideoView.lzx Wed Sep 14 05:24:18 2016 @@ -9,7 +9,7 @@ with the License. You may obtain a copy of the License at 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 @@ -23,9 +23,9 @@ <!--- This class provides the basic functions for the video-output - @START_CODE - <baseVideoView x="20" y="20" width="320" height="240" bgcolor="black" /> - @END_CODE + @START_CODE + <baseVideoView x="20" y="20" width="320" height="240" bgcolor="black" /> + @END_CODE --> <class name="baseVideoView" width="${parent.width}" height="${parent.height}"> @@ -35,35 +35,35 @@ import flash.net.NetStream; </passthrough> - <attribute name="_sound" value="null"/> - <attribute name="__LZvideo" value="null"/> + <attribute name="_sound" value="null"/> + <attribute name="__LZvideo" value="null"/> <method name="init"><![CDATA[ - super.init(); - var mc = new Video(this.width, this.height); - this.sprite.addChild(mc); - this.__LZvideo = mc; - this.applySizeToVid(); - ]]></method> + super.init(); + var mc = new Video(this.width, this.height); + this.sprite.addChild(mc); + this.__LZvideo = mc; + this.applySizeToVid(); + ]]></method> <method name="applySizeToVid"> var vid = this._getflashvideo(); - if(vid != null) { - vid.width = this.width; - vid.height = this.height; - } else { - if ($debug) Debug.warn("applySizeToVid IS NULL ",this.width,this.height); - } + if(vid != null) { + vid.width = this.width; + vid.height = this.height; + } else { + if ($debug) Debug.warn("applySizeToVid IS NULL ",this.width,this.height); + } </method> - <handler name="onwidth" args="w"> - this.applySizeToVid(); - </handler> - - <handler name="onheight" args="h"> - //if ($debug) Debug.info("onheight ",this.width,this.height); - this.applySizeToVid(); - </handler> + <handler name="onwidth" args="w"> + this.applySizeToVid(); + </handler> + + <handler name="onheight" args="h"> + //if ($debug) Debug.info("onheight ",this.width,this.height); + this.applySizeToVid(); + </handler> <method name="_getflashvideo"> <![CDATA[ @@ -76,19 +76,19 @@ </method> <method name="attachCamera" args="camera"> - var vid = this._getflashvideo(); + var vid = this._getflashvideo(); vid.attachCamera(camera); //if ($debug) Debug.write("Attaching video :: ", this, vid, camera); </method> - <!--- shows the Video (NetStream) in the View --> - <method name="attachVideo" args="video"> - var vid = this._getflashvideo(); - vid.attachNetStream(video); - </method> + <!--- shows the Video (NetStream) in the View --> + <method name="attachVideo" args="video"> + var vid = this._getflashvideo(); + vid.attachNetStream(video); + </method> <method name="clear"> - if ($debug) Debug.write("Select unattach :3"); + if ($debug) Debug.write("Select unattach :3"); var vid = this._getflashvideo(); vid.attachNetStream(null); vid.attachCamera(null); Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx?rev=1760631&r1=1760630&r2=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/screenSharingDialog.lzx Wed Sep 14 05:24:18 2016 @@ -116,25 +116,25 @@ <method name="doMinimize"> <![CDATA[ - - this.isStarted = false; - - this._subcontent._content._video._videostream.stop(); - - this._showScreenSharing._y.setAttribute("to",((parent.subviews.length-1)*100)+40); - this._showScreenSharing._x.setAttribute("to",canvas.width - 270 - 20); - this._showScreenSharing._height.setAttribute("to",100); - this._showScreenSharing._width.setAttribute("to",270); - - this._showScreenSharing.setAttribute('started', true); - - this._infoBox.setAttribute("visibility","hidden"); - this._zoombar.setAttribute("visibility","hidden"); - this._pause.setAttribute("visibility","hidden"); - this._close.setAttribute("visibility","hidden"); - - this._subcontent.setAttribute("visibility","hidden"); - + + this.isStarted = false; + + this._subcontent._content._video._videostream.stop(); + + this._showScreenSharing._y.setAttribute("to",((parent.subviews.length-1)*100)+40); + this._showScreenSharing._x.setAttribute("to",canvas.width - 270 - 20); + this._showScreenSharing._height.setAttribute("to",100); + this._showScreenSharing._width.setAttribute("to",270); + + this._showScreenSharing.setAttribute('started', true); + + this._infoBox.setAttribute("visibility","hidden"); + this._zoombar.setAttribute("visibility","hidden"); + this._pause.setAttribute("visibility","hidden"); + this._close.setAttribute("visibility","hidden"); + + this._subcontent.setAttribute("visibility","hidden"); + ]]> </method> @@ -157,13 +157,13 @@ <view name="_initText"> <labelText name="_infoText" labelid="724" width="230" x="10" y="26" multiline="true" /> - + <simpleLabelButton name="_startButton" labelid="848" x="10" width="124" y="78"> <handler name="onclick"> parent.parent.startViewerSession(); </handler> </simpleLabelButton> - + <simpleLabelButton name="_closeButton" labelid="851" x="138" width="124" y="78"> <handler name="onclick"> parent.parent.close(); @@ -174,6 +174,13 @@ <view name="_subcontent" width="${ parent.width }" visibility="hidden" y="20" height="${ parent.height - 48 }" clip="true"> <view name="_content"> <videoObjectPlayScreenShare name="_video"> + <switch> + <when property="$as3"> + <passthrough> + import flash.events.*; + </passthrough> + </when> + </switch> <contextmenu> <contextmenuitem caption="$once{ canvas.getLabelName(1087) }" onselect="parent.parent.parent.pasteContent()" /> </contextmenu> @@ -189,541 +196,35 @@ <attribute name="isLinux" value="false" type="boolean"/> <handler name="oninit"> - var osInfo = lz.Browser.getOS(); - - if ($debug) Debug.write("osInfo :: ",osInfo); - - if (osInfo.indexOf("Mac") >= 0) { - this.isMac = true; - } else if (osInfo.indexOf("Win") >= 0) { - this.isWindows = true; - } else if (osInfo.indexOf("Linux") >= 0) { - this.isLinux = true; - } - - if ($debug) Debug.write("this.isMac :: ",this.isMac); - if ($debug) Debug.write("this.isWindows :: ",this.isWindows); - + canvas.sprite.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyhandler); this.idleDelegate = new LzDelegate( this, "sendMousePosition" ); </handler> + <handler name="ondestroy"> + canvas.sprite.stage.removeEventListener(KeyboardEvent.KEY_DOWN, keyhandler); + </handler> + <method name="pasteContent"> if ($debug) Debug.write("pasteContent :: "); </method> - <handler name="onkeydown" reference="lz.Keys" args="k"> - <![CDATA[ - if (this.isMouseOverActive) { - if ($debug) Debug.write("onkeydown ",k); - - var tObject = new Object(); - tObject["action"] = "onkeydown"; - tObject["k"] = k; - - var downkeys = lz.Keys.downKeysArray; - - if ($debug) Debug.write("downkeys ",downkeys,downkeys.length); - if (this.isWindows) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 81) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } - } else if (this.isMac) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 225) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 50) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 55) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 225) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } - } else if (this.isLinux) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 51) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 223) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 188) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 252) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 228) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 50) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 55) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 51) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 223) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 188) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 228) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } - } - if (lz.Keys.downKeysArray.length > 1) { - for (var i=0;i<lz.Keys.downKeysArray.length;i++) { - if (lz.Keys.downKeysArray[i] == 17 || lz.Keys.downKeysArray[i] == '17') { - lz.Keys.downKeysArray = new Array(); - break; - } - } - } - - if (k == 18 || k == 17) { - return; - } - - if ($debug) Debug.write("tObject :: ",tObject,this.isWindows,this.isMac); - this.sendRemoteCursorEvent.tObject = tObject; - if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { - this.sendRemoteCursorEvent.doCall(); - } - } - ]]> - </handler> - - <handler name="onkeyup" reference="lz.Keys" args="k"> + <method name="keyhandler" args="evt"> <![CDATA[ - if (this.isMouseOverActive) { - if ($debug) Debug.write("onkeyup ",k); - - var tObject = new Object(); - tObject["action"] = "onkeyup"; - tObject["k"] = k; - - var downkeys = lz.Keys.downKeysArray; - if (this.isWindows) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 81) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 226) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } - } else if (this.isMac) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 225) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 50) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 55) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 221) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 220) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 191) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 225) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 192) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 219) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 186) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } - } else if (this.isLinux) { - if (downkeys.length==2 && downkeys[0]==16) { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "*"; - } else if (k == 51) { - tObject["k"] = -1; - tObject["c"] = "'"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "_"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 223) { - tObject["k"] = -1; - tObject["c"] = "?"; - } else if (k == 188) { - tObject["k"] = -1; - tObject["c"] = ">"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "°"; - } else if (k == 252) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 228) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } - } else if (downkeys.length==2 && downkeys[0]==18) { - if (k == 50) { - tObject["k"] = -1; - tObject["c"] = "@"; - } else if (k == 55) { - tObject["k"] = -1; - tObject["c"] = "|"; - } - } else { - if (k == 187) { - tObject["k"] = -1; - tObject["c"] = "+"; - } else if (k == 51) { - tObject["k"] = -1; - tObject["c"] = "#"; - } else if (k == 189) { - tObject["k"] = -1; - tObject["c"] = "-"; - } else if (k == 222) { - tObject["k"] = -1; - tObject["c"] = "`"; - } else if (k == 223) { - tObject["k"] = -1; - tObject["c"] = "Ã"; - } else if (k == 188) { - tObject["k"] = -1; - tObject["c"] = "<"; - } else if (k == 176) { - tObject["k"] = -1; - tObject["c"] = "^"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "ü"; - } else if (k == 228) { - tObject["k"] = -1; - tObject["c"] = "ä"; - } else if (k == 246) { - tObject["k"] = -1; - tObject["c"] = "ö"; - } - } - } - - if (k == 18 || k == 17) { - return; - } - - if (lz.Keys.downKeysArray.length > 1) { - for (var i=0;i<lz.Keys.downKeysArray.length;i++) { - if (lz.Keys.downKeysArray[i] == 17 || lz.Keys.downKeysArray[i] == '17') { - lz.Keys.downKeysArray = new Array(); - break; - } - } - } - - if ($debug) Debug.write("tObject :: ",tObject,this.isWindows,this.isMac); - - this.sendRemoteCursorEvent.tObject = tObject; - if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { - this.sendRemoteCursorEvent.doCall(); - } + if (this.isMouseOverActive && (canvas.isAllowedToRemoteControl || canvas.ismoderator)) { + var obj = { + action: evt.type + , ctrl: evt.ctrlKey + , shift: evt.shiftKey + , alt: evt.altKey + , char: evt.charCode + , key: evt.keyCode + }; + if ($debug) Debug.write("keyhandler ", obj); + this.sendRemoteCursorEvent.tObject = obj; + this.sendRemoteCursorEvent.doCall(); } ]]> - </handler> + </method> <handler name="onmouseover"> //if ($debug) Debug.write("onmouseout "); @@ -922,13 +423,13 @@ </labelCheckbox> <simpleLabelButton labelid="642" width="100" x="$once{ parent.width-105 }" - y="$once{ parent.height-24 }" onclick="this.parent.close();" /> - - </labelExplorerBox> + y="$once{ parent.height-24 }" onclick="this.parent.close();" /> + + </labelExplorerBox> </view> - </view> + </view> <view name="_zoombar" x="20" visibility="hidden" y="${ parent.height-26 }"> @@ -977,7 +478,7 @@ </handler> </changeWidthSlider> - <labelText x="64" y="4" labelid="253" /> + <labelText x="64" y="4" labelid="253" /> <labelText x="84" y="4" labelid="1096" /> @@ -1029,7 +530,7 @@ y="${ parent.height-22 }" onclick="this.parent.doClose();" /> <animatorgroup name="_showScreenSharing" started="false" - process="simultaneous" duration="1000" > + process="simultaneous" duration="1000" > <handler name="onstop"> if ($debug) Debug.write("onstop this._y.to ",this._y.to); if (!parent.isStarted) { Modified: openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx?rev=1760631&r1=1760630&r2=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx (original) +++ openmeetings/application/branches/3.1.x/openmeetings-flash/src/main/swf/screensharing/videoObjectPlayScreenShare.lzx Wed Sep 14 05:24:18 2016 @@ -9,7 +9,7 @@ with the License. You may obtain a copy of the License at 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 @@ -33,27 +33,27 @@ <handler name="oninit"> parent.sendCursorVisible(false); - lz.Timer.addTimer( new LzDelegate( this, "removeThis" ), 3000 ); - </handler> - - <method name="removeThis" args="refObj"> - this._out.setAttribute('started', true); - </method> - - <animator name="_out" attribute="opacity" to="0" - duration="750" started="false"> - <handler name="onstop"> - if (parent.isStopped) { - return; - } - parent.isStopped = true; - parent._bg._in.stop(); - parent._bg._out.stop(); - parent.destroy(); - parent.parent.sendCursorVisible(true); - </handler> - </animator> - + lz.Timer.addTimer( new LzDelegate( this, "removeThis" ), 3000 ); + </handler> + + <method name="removeThis" args="refObj"> + this._out.setAttribute('started', true); + </method> + + <animator name="_out" attribute="opacity" to="0" + duration="750" started="false"> + <handler name="onstop"> + if (parent.isStopped) { + return; + } + parent.isStopped = true; + parent._bg._in.stop(); + parent._bg._out.stop(); + parent.destroy(); + parent.parent.sendCursorVisible(true); + </handler> + </animator> + <view name="_bg" bgcolor="0x7fff00" width="$once{ parent.width }" height="$once{ parent.height }"> <handler name="oninit"> @@ -61,24 +61,24 @@ </handler> <animator name="_out" attribute="opacity" to="0.3" - duration="250" started="false"> - <handler name="onstop"> - if (parent.parent.isStopped) { - return; - } - parent._in.setAttribute('started', true); - </handler> - </animator> - - <animator name="_in" attribute="opacity" to="1" - duration="250" started="false"> - <handler name="onstop"> - if (parent.parent.isStopped) { - return; - } - parent._out.setAttribute('started', true); - </handler> - </animator> + duration="250" started="false"> + <handler name="onstop"> + if (parent.parent.isStopped) { + return; + } + parent._in.setAttribute('started', true); + </handler> + </animator> + + <animator name="_in" attribute="opacity" to="1" + duration="250" started="false"> + <handler name="onstop"> + if (parent.parent.isStopped) { + return; + } + parent._out.setAttribute('started', true); + </handler> + </animator> </view> @@ -98,19 +98,19 @@ </class> <class name="copiedTextPopup" extends="labelExplorerBox" labelid="1121" - docking="true" resizeable="true" closable="true" y="100" - x="$once{ parent.width/2 - this.width/2 }" height="160" width="324"> + docking="true" resizeable="true" closable="true" y="100" + x="$once{ parent.width/2 - this.width/2 }" height="160" width="324"> - <attribute name="error" value="" type="string" /> - - <view name="_box" y="24" width="${ parent.width - 20 }" - height="${ parent.height - 50 }" x="10" clip="true"> - <text fontsize="10" fontstyle="bold" text="${ parent.parent.error }" - multiline="true" width="${ parent.width - 16 }" selectable="true" /> - </view> - - <simpleLabelButton labelid="642" width="100" x="${ parent.width-105 }" - y="${ parent.height-24 }" onclick="this.parent.close();" /> + <attribute name="error" value="" type="string" /> + + <view name="_box" y="24" width="${ parent.width - 20 }" + height="${ parent.height - 50 }" x="10" clip="true"> + <text fontsize="10" fontstyle="bold" text="${ parent.parent.error }" + multiline="true" width="${ parent.width - 16 }" selectable="true" /> + </view> + + <simpleLabelButton labelid="642" width="100" x="${ parent.width-105 }" + y="${ parent.height-24 }" onclick="this.parent.close();" /> </class> @@ -118,121 +118,121 @@ <attribute name="refObj" value="null" /> - <contextmenu> - - <handler name="onmenuopen"> - parent.refObj.currentX = parent.refObj.getMouse("x"); - parent.refObj.currentY = parent.refObj.getMouse("y"); - if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY); - </handler> - - <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" - onselect="parent.parent.refObj.insertText()" /> - - <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" - onselect="parent.parent.refObj.copyFromRemote()" /> - - <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" - onselect="parent.parent.refObj.showFromRemote()" /> - - </contextmenu> + <contextmenu> + + <handler name="onmenuopen"> + parent.refObj.currentX = parent.refObj.getMouse("x"); + parent.refObj.currentY = parent.refObj.getMouse("y"); + if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY); + </handler> + + <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" + onselect="parent.parent.refObj.insertText()" /> + + <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" + onselect="parent.parent.refObj.copyFromRemote()" /> + + <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" + onselect="parent.parent.refObj.showFromRemote()" /> + + </contextmenu> </class> <class name="videoObjectPlayScreenShare" extends="view"> - <baseVideoStream name="_videostream" bgcolor="black" - width="${parent.width}" height="${parent.height}" > - - <attribute name="currentX" value="0" type="number" /> - <attribute name="currentY" value="0" type="number" /> - - <method name="insertText"> - if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { - new lz.tempTextBox(this,{ - x:this.currentX, - y:this.currentY - }); - } else { - new lz.labelerrorPopup(canvas,{ - errorlabelid:1125 - }); - } - </method> - - <method name="sendCursorVisible" args="bool"> - if (bool) { - parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","visible"); - } else { - parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","hidden"); - } - </method> - - <method name="doBroadcastText" args="txt"> - if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { - var tObject = new Object(); - tObject["action"] = "paste"; - - tObject["paste"] = txt; - - parent.sendRemoteCursorEvent.tObject = tObject; - - if ($debug) Debug.warn("doBroadcastText :: ",txt); - - parent.sendRemoteCursorEvent.doCall(); - } else { - new lz.labelerrorPopup(canvas,{ - errorlabelid:1125 - }); - } - </method> - - <method name="copyFromRemote"> - if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { - var tObject = new Object(); - tObject["action"] = "copy"; - - tObject["clientId"] = canvas.streamid; - - parent.sendRemoteCursorEvent.tObject = tObject; - parent.sendRemoteCursorEvent.doCall(); - } else { - new lz.labelerrorPopup(canvas,{ - errorlabelid:1125 - }); - } - </method> - - <method name="showFromRemote"> - var tObject = new Object(); - tObject["action"] = "show"; - - tObject["clientId"] = canvas.streamid; - - parent.sendRemoteCursorEvent.tObject = tObject; - parent.sendRemoteCursorEvent.doCall(); - </method> - - <contextmenu> - - <handler name="onmenuopen"> - parent.currentX = parent.getMouse("x"); - parent.currentY = parent.getMouse("y"); - if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY); - </handler> - - <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" - onselect="parent.parent.insertText()" /> - - <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" - onselect="parent.parent.copyFromRemote()" /> - - <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" - onselect="parent.parent.showFromRemote()" /> - - </contextmenu> - - </baseVideoStream> - + <baseVideoStream name="_videostream" bgcolor="black" + width="${parent.width}" height="${parent.height}" > + + <attribute name="currentX" value="0" type="number" /> + <attribute name="currentY" value="0" type="number" /> + + <method name="insertText"> + if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { + new lz.tempTextBox(this,{ + x:this.currentX, + y:this.currentY + }); + } else { + new lz.labelerrorPopup(canvas,{ + errorlabelid:1125 + }); + } + </method> + + <method name="sendCursorVisible" args="bool"> + if (bool) { + parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","visible"); + } else { + parent.parent.parent.parent.currentCursorObject.setAttribute("visibility","hidden"); + } + </method> + + <method name="doBroadcastText" args="txt"> + if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { + var tObject = new Object(); + tObject["action"] = "paste"; + + tObject["paste"] = txt; + + parent.sendRemoteCursorEvent.tObject = tObject; + + if ($debug) Debug.warn("doBroadcastText :: ",txt); + + parent.sendRemoteCursorEvent.doCall(); + } else { + new lz.labelerrorPopup(canvas,{ + errorlabelid:1125 + }); + } + </method> + + <method name="copyFromRemote"> + if (canvas.isAllowedToRemoteControl || canvas.ismoderator) { + var tObject = new Object(); + tObject["action"] = "copy"; + + tObject["clientId"] = canvas.streamid; + + parent.sendRemoteCursorEvent.tObject = tObject; + parent.sendRemoteCursorEvent.doCall(); + } else { + new lz.labelerrorPopup(canvas,{ + errorlabelid:1125 + }); + } + </method> + + <method name="showFromRemote"> + var tObject = new Object(); + tObject["action"] = "show"; + + tObject["clientId"] = canvas.streamid; + + parent.sendRemoteCursorEvent.tObject = tObject; + parent.sendRemoteCursorEvent.doCall(); + </method> + + <contextmenu> + + <handler name="onmenuopen"> + parent.currentX = parent.getMouse("x"); + parent.currentY = parent.getMouse("y"); + if ($debug) Debug.write("onmenuopen x,y ",parent.currentX,parent.currentY); + </handler> + + <contextmenuitem caption="$once{ canvas.getLabelName(1119) }" + onselect="parent.parent.insertText()" /> + + <contextmenuitem caption="$once{ canvas.getLabelName(1120) }" + onselect="parent.parent.copyFromRemote()" /> + + <contextmenuitem caption="$once{ canvas.getLabelName(1122) }" + onselect="parent.parent.showFromRemote()" /> + + </contextmenu> + + </baseVideoStream> + </class> </library> Copied: openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java (from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/AudioTone.java) URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java?p2=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java&p1=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/AudioTone.java&r1=1760630&r2=1760631&rev=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/AudioTone.java (original) +++ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/AudioTone.java Wed Sep 14 05:24:18 2016 @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.screen.webstart; +package org.apache.openmeetings.screenshare; import javax.sound.sampled.AudioFormat; import javax.sound.sampled.AudioSystem; Copied: openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java (from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/BaseScreenEncoder.java) URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java?p2=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java&p1=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/BaseScreenEncoder.java&r1=1760630&r2=1760631&rev=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/BaseScreenEncoder.java (original) +++ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/BaseScreenEncoder.java Wed Sep 14 05:24:18 2016 @@ -16,7 +16,7 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.screen.webstart; +package org.apache.openmeetings.screenshare; import java.awt.Graphics2D; import java.awt.Rectangle; Copied: openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java (from r1760630, openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java) URL: http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java?p2=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java&p1=openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java&r1=1760630&r2=1760631&rev=1760631&view=diff ============================================================================== --- openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java (original) +++ openmeetings/application/branches/3.1.x/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screenshare/CaptureScreen.java Wed Sep 14 05:24:18 2016 @@ -16,33 +16,24 @@ * specific language governing permissions and limitations * under the License. */ -package org.apache.openmeetings.screen.webstart; +package org.apache.openmeetings.screenshare; -import static org.apache.openmeetings.screen.webstart.gui.ScreenDimensions.FPS; -import static org.apache.openmeetings.screen.webstart.gui.ScreenDimensions.spinnerHeight; -import static org.apache.openmeetings.screen.webstart.gui.ScreenDimensions.spinnerWidth; -import static org.apache.openmeetings.screen.webstart.gui.ScreenDimensions.spinnerX; -import static org.apache.openmeetings.screen.webstart.gui.ScreenDimensions.spinnerY; +import static org.apache.openmeetings.screenshare.Core.QUARTZ_GROUP_NAME; +import static org.apache.openmeetings.screenshare.gui.ScreenDimensions.FPS; +import static org.apache.openmeetings.screenshare.util.Util.getQurtzProps; import static org.quartz.SimpleScheduleBuilder.simpleSchedule; -import static org.quartz.impl.StdSchedulerFactory.PROP_SCHED_SKIP_UPDATE_CHECK; import static org.slf4j.LoggerFactory.getLogger; -import java.awt.AWTException; -import java.awt.Rectangle; -import java.awt.Robot; import java.io.IOException; -import java.util.Properties; import java.util.concurrent.ArrayBlockingQueue; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicInteger; -import org.quartz.DisallowConcurrentExecution; -import org.quartz.Job; +import org.apache.openmeetings.screenshare.job.CursorJob; +import org.apache.openmeetings.screenshare.job.EncodeJob; +import org.apache.openmeetings.screenshare.job.SendJob; import org.quartz.JobBuilder; -import org.quartz.JobDataMap; import org.quartz.JobDetail; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; import org.quartz.JobKey; import org.quartz.Scheduler; import org.quartz.SchedulerException; @@ -55,16 +46,15 @@ import org.red5.server.net.rtmp.event.Vi import org.red5.server.stream.message.RTMPMessage; import org.slf4j.Logger; -class CaptureScreen extends Thread { +public class CaptureScreen extends Thread { private static final Logger log = getLogger(CaptureScreen.class); - private final static String QUARTZ_GROUP_NAME = "ScreenShare"; private final static String QUARTZ_CURSOR_TRIGGER_NAME = "CursorTrigger"; private final static String QUARTZ_CURSOR_JOB_NAME = "CursorJob"; - private CoreScreenShare core; - private int timeBetweenFrames; + private Core core; + private int timestampDelta; private volatile AtomicInteger timestamp = new AtomicInteger(0); private volatile AtomicBoolean sendFrameGuard = new AtomicBoolean(false); - private long timeCaptureStarted = 0; + private long startTime = 0; private volatile boolean active = true; private IScreenEncoder se; private IScreenShare client; @@ -76,7 +66,7 @@ class CaptureScreen extends Thread { private boolean startPublish = false; private Scheduler _scheduler; - public CaptureScreen(CoreScreenShare coreScreenShare, IScreenShare client, String host, String app, int port) { + public CaptureScreen(Core coreScreenShare, IScreenShare client, String host, String app, int port) { core = coreScreenShare; this.client = client; this.host = host; @@ -86,12 +76,9 @@ class CaptureScreen extends Thread { private Scheduler getScheduler() { if (_scheduler == null) { - final Properties p = new Properties(); - p.put(PROP_SCHED_SKIP_UPDATE_CHECK, "true"); - p.put("org.quartz.threadPool.threadCount", "10"); try { - SchedulerFactory sf = new StdSchedulerFactory(p); - _scheduler = sf.getScheduler(); + SchedulerFactory schdlrFactory = new StdSchedulerFactory(getQurtzProps("CaptureScreen")); + _scheduler = schdlrFactory.getScheduler(); } catch (SchedulerException e) { log.error("Unexpected error while creating scheduler", e); } @@ -110,7 +97,7 @@ class CaptureScreen extends Thread { } active = false; timestamp = new AtomicInteger(0); - timeCaptureStarted = 0; + startTime = 0; } @Override @@ -120,20 +107,20 @@ class CaptureScreen extends Thread { Thread.sleep(60); } - timeBetweenFrames = 1000 / FPS; + timestampDelta = 1000 / FPS; se = new ScreenV1Encoder(3 * FPS); //send keyframe every 3 seconds - timeCaptureStarted = System.currentTimeMillis(); + startTime = System.currentTimeMillis(); JobDetail encodeJob = JobBuilder.newJob(EncodeJob.class).withIdentity("EncodeJob", QUARTZ_GROUP_NAME).build(); encodeJob.getJobDataMap().put(EncodeJob.CAPTURE_KEY, this); Trigger encodeTrigger = TriggerBuilder.newTrigger() .withIdentity("EncodeTrigger", QUARTZ_GROUP_NAME) - .withSchedule(simpleSchedule().withIntervalInMilliseconds(timeBetweenFrames).repeatForever()) + .withSchedule(simpleSchedule().withIntervalInMilliseconds(timestampDelta).repeatForever()) .build(); JobDetail sendJob = JobBuilder.newJob(SendJob.class).withIdentity("SendJob", QUARTZ_GROUP_NAME).build(); Trigger sendTrigger = TriggerBuilder.newTrigger() .withIdentity("SendTrigger", QUARTZ_GROUP_NAME) - .withSchedule(simpleSchedule().withIntervalInMilliseconds(timeBetweenFrames).repeatForever()) + .withSchedule(simpleSchedule().withIntervalInMilliseconds(timestampDelta).repeatForever()) .build(); sendJob.getJobDataMap().put(SendJob.CAPTURE_KEY, this); @@ -163,105 +150,7 @@ class CaptureScreen extends Thread { } */ - @DisallowConcurrentExecution - public static class EncodeJob implements Job { - private static final String CAPTURE_KEY = "capture"; - Robot robot; - Rectangle screen = new Rectangle(spinnerX, spinnerY, spinnerWidth, spinnerHeight); - int[][] image = null; - - public EncodeJob() { - try { - robot = new Robot(); - } catch (AWTException e) { - log.error("encode: Unexpected Error while creating robot", e); - } - } - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException { - JobDataMap data = context.getJobDetail().getJobDataMap(); - CaptureScreen capture = (CaptureScreen)data.get(CAPTURE_KEY); - - long start = 0; - if (log.isTraceEnabled()) { - start = System.currentTimeMillis(); - } - image = ScreenV1Encoder.getImage(screen, robot); - if (log.isTraceEnabled()) { - log.trace(String.format("encode: Image was captured in %s ms, size %sk", System.currentTimeMillis() - start, 4 * image.length * image[0].length / 1024)); - start = System.currentTimeMillis(); - } - try { - VideoData vData = capture.se.encode(image); - if (log.isTraceEnabled()) { - long now = System.currentTimeMillis(); - log.trace(String.format("encode: Image was encoded in %s ms, timestamp is %s", now - start, now - capture.timeCaptureStarted)); - } - capture.frames.offer(vData); - capture.se.createUnalteredFrame(); - } catch (Exception e) { - log.error("Error while encoding: ", e); - } - } - } - - public static class SendJob implements Job { - private static final String CAPTURE_KEY = "capture"; - public SendJob() {} - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException { - JobDataMap data = context.getJobDetail().getJobDataMap(); - CaptureScreen capture = (CaptureScreen)data.get(CAPTURE_KEY); - capture.sendFrameGuard.set(true); - if (log.isTraceEnabled()) { - long real = System.currentTimeMillis() - capture.timeCaptureStarted; - log.trace(String.format("send: Enter method, timestamp: %s, real: %s, diff: %s", capture.timestamp, real, real - capture.timestamp.get())); - } - VideoData f = capture.frames.poll(); - if (log.isTraceEnabled()) { - log.trace(String.format("send: Getting %s image", f == null ? "DUMMY" : "CAPTURED")); - } - f = f == null ? capture.se.getUnalteredFrame() : f; - if (f != null) { - try { - capture.pushVideo(f, capture.timestamp.get()); - if (log.isTraceEnabled()) { - long real = System.currentTimeMillis() - capture.timeCaptureStarted; - log.trace(String.format("send: Sending video %sk, timestamp: %s, real: %s, diff: %s", f.getData().capacity() / 1024, capture.timestamp, real, real - capture.timestamp.get())); - } - capture.timestamp.addAndGet(capture.timeBetweenFrames); - if (log.isTraceEnabled()) { - log.trace(String.format("send: new timestamp: %s", capture.timestamp)); - } - } catch (IOException e) { - log.error("Error while sending: ", e); - } - } else if (log.isTraceEnabled()) { - log.trace(String.format("send: nothing to send")); - } - capture.sendFrameGuard.set(false); - } - } - - @DisallowConcurrentExecution - public static class CursorJob implements Job { - private static final String CAPTURE_KEY = "capture"; - - public CursorJob() {} - - @Override - public void execute(JobExecutionContext context) throws JobExecutionException { - JobDataMap data = context.getJobDetail().getJobDataMap(); - CaptureScreen capture = (CaptureScreen)data.get(CAPTURE_KEY); - if (!capture.sendFrameGuard.get()) { - capture.core.sendCursorStatus(); - } - } - } - - private void pushVideo(VideoData data, int ts) throws IOException { + public void pushVideo(VideoData data, int ts) throws IOException { if (startPublish) { if (Red5.getConnectionLocal() == null) { Red5.setConnectionLocal(client.getConnection()); @@ -295,6 +184,38 @@ class CaptureScreen extends Thread { this.startPublish = startPublish; } + public IScreenEncoder getEncoder() { + return se; + } + + public ArrayBlockingQueue<VideoData> getFrames() { + return frames; + } + + public void setSendFrameGuard(boolean b) { + sendFrameGuard.set(b); + } + + public boolean getSendFrameGuard() { + return sendFrameGuard.get(); + } + + public AtomicInteger getTimestamp() { + return timestamp; + } + + public long getStartTime() { + return startTime; + } + + public int getTimestampDelta() { + return timestampDelta; + } + + public void sendCursorStatus() { + core.sendCursorStatus(); + } + public void setSendCursor(boolean sendCursor) { try { Scheduler s = getScheduler();