Author: solomax Date: Thu Jan 24 06:27:44 2013 New Revision: 1437866 URL: http://svn.apache.org/viewvc?rev=1437866&view=rev Log: [OPENMEETINGS-515] gray areas are removed from the recording
Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CaptureScreen.java incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CaptureScreen.java URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CaptureScreen.java?rev=1437866&r1=1437865&r2=1437866&view=diff ============================================================================== --- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CaptureScreen.java (original) +++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CaptureScreen.java Thu Jan 24 06:27:44 2013 @@ -65,6 +65,9 @@ final class CaptureScreen extends Thread public void run() { try { + while (!core.isReadyToRecord()) { + Thread.sleep(60); + } Robot robot = new Robot(); BufferedImage image = null; while (active) { Modified: incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CoreScreenShare.java URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CoreScreenShare.java?rev=1437866&r1=1437865&r2=1437866&view=diff ============================================================================== --- incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CoreScreenShare.java (original) +++ incubator/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/screen/webstart/CoreScreenShare.java Thu Jan 24 06:27:44 2013 @@ -77,6 +77,7 @@ public class CoreScreenShare implements private boolean startPublishing = false; public float Ampl_factor = 1f; public boolean isConnected = false; + private boolean readyToRecord = false; public Map<Integer, Boolean> currentPressedKeys = new HashMap<Integer, Boolean>(); @@ -285,6 +286,14 @@ public class CoreScreenShare implements } } + synchronized public boolean isReadyToRecord() { + return readyToRecord; + } + + synchronized private void setReadyToRecord(boolean readyToRecord) { + this.readyToRecord = readyToRecord; + } + protected void onInvoke(RTMPConnection conn, Channel channel, Header source, Notify invoke, RTMP rtmp) { @@ -321,6 +330,7 @@ public class CoreScreenShare implements isConnected = false; instance.disconnect(); + setReadyToRecord(false); getCapture().setStartPublish(false); getCapture().release(); capture = null; @@ -341,6 +351,7 @@ public class CoreScreenShare implements if (StatusCodes.NS_PUBLISH_START.equals(code)) { logger.debug( "onStreamEvent Publish start" ); getCapture().setStartPublish(true); + setReadyToRecord(true); } }