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


Reply via email to