Author: solomax
Date: Sun Jan 18 19:31:55 2015
New Revision: 1652838

URL: http://svn.apache.org/r1652838
Log:
Screen-sharing over RTMPT is fixed

Modified:
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
    
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
    
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
 Sun Jan 18 19:31:55 2015
@@ -33,6 +33,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
+import org.red5.server.api.Red5;
 import org.red5.server.net.rtmp.event.VideoData;
 import org.red5.server.stream.message.RTMPMessage;
 import org.slf4j.Logger;
@@ -136,6 +137,9 @@ final class CaptureScreen extends Thread
                        if (sendCursor) {
                                cursorScheduler.scheduleWithFixedDelay(new 
Runnable() {
                                        public void run() {
+                                               if (Red5.getConnectionLocal() 
== null) {
+                                                       
Red5.setConnectionLocal(client.getConnection());
+                                               }
                                                core.sendCursorStatus();
                                        }
                                }, 0, timeBetweenFrames * NANO_MULTIPLIER, 
TimeUnit.NANOSECONDS);
@@ -164,6 +168,9 @@ final class CaptureScreen extends Thread
        
        private void pushVideo(VideoData data, int ts) throws IOException {
                if (startPublish) {
+                       if (Red5.getConnectionLocal() == null) {
+                               Red5.setConnectionLocal(client.getConnection());
+                       }
                        RTMPMessage rtmpMsg = RTMPMessage.build(data, ts);
                        client.publishStreamData(streamId, rtmpMsg);
                }

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/IScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,12 +18,13 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
+import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.INetStreamEventHandler;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.red5.server.messaging.IMessage;
 import org.red5.server.net.rtmp.RTMPConnection;
 
-public interface IScreenShare {
+public interface IScreenShare extends ClientExceptionHandler {
        RTMPConnection getConnection();
        void invoke(String method, Object[] params, IPendingServiceCallback 
callback);
        void connect(String server, int port, String application, 
IPendingServiceCallback connectCallback);

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.INetStreamEventHandler;
 import org.red5.client.net.rtmp.RTMPClient;
 import org.red5.server.api.service.IPendingServiceCall;
@@ -31,7 +30,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-class RTMPClientPublish extends RTMPClient implements IPendingServiceCallback, 
INetStreamEventHandler, ClientExceptionHandler, IScreenShare {
+class RTMPClientPublish extends RTMPClient implements IPendingServiceCallback, 
INetStreamEventHandler, IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPClientPublish.class);
        private final CaptureScreen publishScreen;
        private String id;

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmps.RTMPSClient;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.red5.server.net.ICommand;
@@ -28,7 +27,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPSScreenShare extends RTMPSClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPSScreenShare extends RTMPSClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPSScreenShare.class);
 
        private CoreScreenShare core = null;

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.RTMPClient;
 import org.red5.server.net.ICommand;
 import org.red5.server.net.rtmp.Channel;
@@ -27,7 +26,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPScreenShare extends RTMPClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPScreenShare extends RTMPClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPScreenShare.class);
 
        private CoreScreenShare core = null;

Modified: 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/screenshare/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmpt.RTMPTClient;
 import org.red5.server.net.ICommand;
 import org.red5.server.net.rtmp.Channel;
@@ -27,7 +26,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPTScreenShare extends RTMPTClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPTScreenShare extends RTMPTClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPTScreenShare.class);
 
        private CoreScreenShare core = null;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/CaptureScreen.java
 Sun Jan 18 19:31:55 2015
@@ -33,6 +33,7 @@ import java.util.concurrent.Executors;
 import java.util.concurrent.ScheduledExecutorService;
 import java.util.concurrent.TimeUnit;
 
+import org.red5.server.api.Red5;
 import org.red5.server.net.rtmp.event.VideoData;
 import org.red5.server.stream.message.RTMPMessage;
 import org.slf4j.Logger;
@@ -136,6 +137,9 @@ final class CaptureScreen extends Thread
                        if (sendCursor) {
                                cursorScheduler.scheduleWithFixedDelay(new 
Runnable() {
                                        public void run() {
+                                               if (Red5.getConnectionLocal() 
== null) {
+                                                       
Red5.setConnectionLocal(client.getConnection());
+                                               }
                                                core.sendCursorStatus();
                                        }
                                }, 0, timeBetweenFrames * NANO_MULTIPLIER, 
TimeUnit.NANOSECONDS);
@@ -164,6 +168,9 @@ final class CaptureScreen extends Thread
        
        private void pushVideo(VideoData data, int ts) throws IOException {
                if (startPublish) {
+                       if (Red5.getConnectionLocal() == null) {
+                               Red5.setConnectionLocal(client.getConnection());
+                       }
                        RTMPMessage rtmpMsg = RTMPMessage.build(data, ts);
                        client.publishStreamData(streamId, rtmpMsg);
                }

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/IScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,12 +18,13 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
+import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.INetStreamEventHandler;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.red5.server.messaging.IMessage;
 import org.red5.server.net.rtmp.RTMPConnection;
 
-public interface IScreenShare {
+public interface IScreenShare extends ClientExceptionHandler {
        RTMPConnection getConnection();
        void invoke(String method, Object[] params, IPendingServiceCallback 
callback);
        void connect(String server, int port, String application, 
IPendingServiceCallback connectCallback);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPClientPublish.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.INetStreamEventHandler;
 import org.red5.client.net.rtmp.RTMPClient;
 import org.red5.server.api.service.IPendingServiceCall;
@@ -31,7 +30,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-class RTMPClientPublish extends RTMPClient implements IPendingServiceCallback, 
INetStreamEventHandler, ClientExceptionHandler, IScreenShare {
+class RTMPClientPublish extends RTMPClient implements IPendingServiceCallback, 
INetStreamEventHandler, IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPClientPublish.class);
        private final CaptureScreen publishScreen;
        private String id;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPSScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmps.RTMPSClient;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.red5.server.net.ICommand;
@@ -28,7 +27,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPSScreenShare extends RTMPSClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPSScreenShare extends RTMPSClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPSScreenShare.class);
 
        private CoreScreenShare core = null;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.RTMPClient;
 import org.red5.server.net.ICommand;
 import org.red5.server.net.rtmp.Channel;
@@ -27,7 +26,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPScreenShare extends RTMPClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPScreenShare extends RTMPClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPScreenShare.class);
 
        private CoreScreenShare core = null;

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1652838&r1=1652837&r2=1652838&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-screenshare/src/main/java/org/apache/openmeetings/screen/webstart/RTMPTScreenShare.java
 Sun Jan 18 19:31:55 2015
@@ -18,7 +18,6 @@
  */
 package org.apache.openmeetings.screen.webstart;
 
-import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmpt.RTMPTClient;
 import org.red5.server.net.ICommand;
 import org.red5.server.net.rtmp.Channel;
@@ -27,7 +26,7 @@ import org.red5.server.net.rtmp.message.
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RTMPTScreenShare extends RTMPTClient implements 
ClientExceptionHandler, IScreenShare {
+public class RTMPTScreenShare extends RTMPTClient implements IScreenShare {
        private static final Logger logger = 
LoggerFactory.getLogger(RTMPTScreenShare.class);
 
        private CoreScreenShare core = null;


Reply via email to