You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2012/04/08 06:55:07 UTC

svn commit: r1310952 - /incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java

Author: solomax
Date: Sun Apr  8 04:55:07 2012
New Revision: 1310952

URL: http://svn.apache.org/viewvc?rev=1310952&view=rev
Log:
OPENMEETINGS-138 The issue is partially fixed

Modified:
    incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java

Modified: incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java?rev=1310952&r1=1310951&r2=1310952&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/CoreScreenShare.java Sun Apr  8 04:55:07 2012
@@ -1103,7 +1103,7 @@ public class CoreScreenShare {
 
 	private final class CaptureScreen extends Object implements Runnable {
 		private int timeBetweenFrames = 1000; // frameRate
-
+		private volatile long timestamp = 0;
 		private volatile boolean active = true;
 		@SuppressWarnings("unused")
 		private volatile boolean stopped = false;
@@ -1151,19 +1151,20 @@ public class CoreScreenShare {
 				Robot robot = new Robot();
 				BufferedImage image = null;
 				while (active) {
+					final long ctime = System.currentTimeMillis();
 					Rectangle screen = new Rectangle(VirtualScreenBean.vScreenSpinnerX,
 							VirtualScreenBean.vScreenSpinnerY,
 							VirtualScreenBean.vScreenSpinnerWidth,
 							VirtualScreenBean.vScreenSpinnerHeight);
 					
-					final long ctime = System.currentTimeMillis();
 					image = robot.createScreenCapture(screen);
 
 					try {
+						timestamp += timeBetweenFrames;
 						byte[] data = se.encode(screen, image, new Rectangle(VirtualScreenBean.vScreenResizeX,
 								VirtualScreenBean.vScreenResizeY));
 
-						pushVideo(data.length, data, ctime);
+						pushVideo(data.length, data, timestamp);
 					} catch (Exception e) {
 						e.printStackTrace();
 					}