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();