Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java?rev=1362554&r1=1362553&r2=1362554&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPSScreenShare.java
 Tue Jul 17 16:12:39 2012
@@ -22,7 +22,6 @@ import org.apache.commons.codec.DecoderE
 import org.apache.commons.codec.binary.Hex;
 import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmps.RTMPSClient;
-import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.api.service.IPendingServiceCallback;
 import org.red5.server.net.rtmp.Channel;
 import org.red5.server.net.rtmp.RTMPConnection;
@@ -39,18 +38,17 @@ public class RTMPSScreenShare extends RT
 
        private CoreScreenShare core = null;
 
-       private RTMPSScreenShare() {
-               core = new CoreScreenShare(this);
+       private RTMPSScreenShare(String[] args) {
+               core = new CoreScreenShare(this, args);
        };
 
        public static void main(String[] args) throws DecoderException {
-               RTMPSScreenShare client = new RTMPSScreenShare();
+               RTMPSScreenShare client = new RTMPSScreenShare(args);
                if (args.length < 11) {
                        System.exit(0);
                }
                client.setKeystoreBytes(Hex.decodeHex(args[9].toCharArray()));
                client.setKeyStorePassword(args[10]);
-               client.core.main(args);
        }
        
        @Override
@@ -79,6 +77,7 @@ public class RTMPSScreenShare extends RT
        public void connectionClosed(RTMPConnection conn, RTMP state) {
                logger.debug("connection closed");
                super.connectionClosed(conn, state);
+               core.stopStream();
        }
 
        @Override
@@ -94,12 +93,4 @@ public class RTMPSScreenShare extends RT
                logger.error("{}", new Object[] { throwable.getCause() });
                System.out.println(throwable.getCause());
        }
-
-       public void onStreamEvent(Notify notify) {
-               core.onStreamEvent(notify);
-       }
-
-       public void resultReceived(IPendingServiceCall call) {
-               core.resultReceived(call);
-       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java?rev=1362554&r1=1362553&r2=1362554&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPScreenShare.java
 Tue Jul 17 16:12:39 2012
@@ -20,7 +20,6 @@ package org.openmeetings.screen.webstart
 
 import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmp.RTMPClient;
-import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.net.rtmp.Channel;
 import org.red5.server.net.rtmp.RTMPConnection;
 import org.red5.server.net.rtmp.codec.RTMP;
@@ -36,12 +35,12 @@ public class RTMPScreenShare extends RTM
 
        private CoreScreenShare core = null;
 
-       private RTMPScreenShare() {
-               core = new CoreScreenShare(this);
+       private RTMPScreenShare(String[] args) {
+               core = new CoreScreenShare(this, args);
        };
 
        public static void main(String[] args) {
-               new RTMPScreenShare().core.main(args);
+               new RTMPScreenShare(args);
        }
        
        // 
------------------------------------------------------------------------
@@ -60,6 +59,7 @@ public class RTMPScreenShare extends RTM
        public void connectionClosed(RTMPConnection conn, RTMP state) {
                logger.debug("connection closed");
                super.connectionClosed(conn, state);
+               core.stopStream();
        }
 
        @Override
@@ -75,12 +75,4 @@ public class RTMPScreenShare extends RTM
                logger.error("{}", new Object[] { throwable.getCause() });
                System.out.println(throwable.getCause());
        }
-
-       public void onStreamEvent(Notify notify) {
-               core.onStreamEvent(notify);
-       }
-
-       public void resultReceived(IPendingServiceCall call) {
-               core.resultReceived(call);
-       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java?rev=1362554&r1=1362553&r2=1362554&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/RTMPTScreenShare.java
 Tue Jul 17 16:12:39 2012
@@ -20,7 +20,6 @@ package org.openmeetings.screen.webstart
 
 import org.red5.client.net.rtmp.ClientExceptionHandler;
 import org.red5.client.net.rtmpt.RTMPTClient;
-import org.red5.server.api.service.IPendingServiceCall;
 import org.red5.server.net.rtmp.Channel;
 import org.red5.server.net.rtmp.RTMPConnection;
 import org.red5.server.net.rtmp.codec.RTMP;
@@ -30,18 +29,16 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 public class RTMPTScreenShare extends RTMPTClient implements 
ClientExceptionHandler, IScreenShare {
-
-       private static final Logger logger = LoggerFactory
-                       .getLogger(RTMPTScreenShare.class);
+       private static final Logger logger = 
LoggerFactory.getLogger(RTMPTScreenShare.class);
 
        private CoreScreenShare core = null;
 
-       private RTMPTScreenShare() {
-               core = new CoreScreenShare(this);
+       private RTMPTScreenShare(String[] args) {
+               core = new CoreScreenShare(this, args);
        };
 
        public static void main(String[] args) {
-               new RTMPTScreenShare().core.main(args);
+               new RTMPTScreenShare(args);
        }
        
        // 
------------------------------------------------------------------------
@@ -60,6 +57,7 @@ public class RTMPTScreenShare extends RT
        public void connectionClosed(RTMPConnection conn, RTMP state) {
                logger.debug("connection closed");
                super.connectionClosed(conn, state);
+               core.stopStream();
        }
 
        @Override
@@ -75,12 +73,4 @@ public class RTMPTScreenShare extends RT
                logger.error("{}", new Object[] { throwable.getCause() });
                System.out.println(throwable.getCause());
        }
-
-       public void onStreamEvent(Notify notify) {
-               core.onStreamEvent(notify);
-       }
-
-       public void resultReceived(IPendingServiceCall call) {
-               core.resultReceived(call);
-       }
 }

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java?rev=1362554&r1=1362553&r2=1362554&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/screen/webstart/gui/ScreenSharerFrame.java
 Tue Jul 17 16:12:39 2012
@@ -28,6 +28,8 @@ import java.awt.SystemColor;
 import java.awt.Toolkit;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
 import java.io.IOException;
 
 import javax.swing.BorderFactory;
@@ -203,6 +205,13 @@ public class ScreenSharerFrame extends J
        private String getTextLabel(String[] textLabels, int idx) {
                return textLabels != null && idx < textLabels.length ? 
textLabels[idx] : "#STAB#";
        }
+       
+       private void stopSharingAndExit(CoreScreenShare core) {
+               core.stopStream();
+               this.setVisible(false);
+               System.exit(0);
+       }
+       
        /**
         * Create the frame.
         * @throws AWTException 
@@ -212,7 +221,13 @@ public class ScreenSharerFrame extends J
                setTitle(getTextLabel(textLabels, 0)); //#id 730
                setBackground(Color.WHITE);
                setResizable(false);
-               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+               setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
+               addWindowListener(new WindowAdapter() {
+                       @Override
+                       public void windowClosing(WindowEvent e) {
+                               stopSharingAndExit(core);
+                       }
+               });
                setBounds(30, 30, 500, 505);
                contentPane = new JPanel();
                contentPane.setBackground(Color.WHITE);
@@ -238,7 +253,7 @@ public class ScreenSharerFrame extends J
                btnStartPauseSharing.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
                                if (sharingStarted) {
-                                       core.captureScreenStop(true, false);
+                                       core.sendCaptureScreenStop(true, false);
                                } else {
                                        core.captureScreenStart(true, false);
                                }
@@ -250,8 +265,7 @@ public class ScreenSharerFrame extends J
                btnStopSharing.setIcon(new 
ImageIcon(ScreenSharerFrame.class.getResource("/org/openmeetings/screen/exit.png")));
                btnStopSharing.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
-                               ScreenSharerFrame.this.setVisible(false);
-                               System.exit(0);
+                               stopSharingAndExit(core);
                        }
                });
                
@@ -444,7 +458,7 @@ public class ScreenSharerFrame extends J
                btnStopRecording.setBounds(257, 82, 200, 32);
                btnStopRecording.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
-                               core.captureScreenStop(false, true);
+                               core.sendCaptureScreenStop(false, true);
                        }
                });
                panelRecording.add(btnStopRecording);
@@ -508,7 +522,7 @@ public class ScreenSharerFrame extends J
                btnStopPublish.setBounds(257, 86, 200, 32);
                btnStopPublish.addActionListener(new ActionListener() {
                        public void actionPerformed(ActionEvent arg0) {
-                               core.captureScreenStop(false, false, true);
+                               core.sendStopPublishing();
                        }
                });
                panelPublish.add(btnStopPublish);
@@ -524,30 +538,28 @@ public class ScreenSharerFrame extends J
                                BorderFactory.createEmptyBorder(0, 5, 0, 0)));
                panelStatus.add(lblStatus);
                
-               setPublishingTabEnabled(false);
                contentPane.setLayout(gl_contentPane);
                
                // Background Image
                //We have no logo, that is why we need no background, 
sebawagner 29.04.2012
        }
 
-       public void setSharingStatus(boolean status) {
-               panelScreen.setEnabled(!status);
+       public void setSharingStatus(boolean status, boolean unlockScreen) {
+               panelScreen.setEnabled(unlockScreen);
                sharingStarted = status;
                btnStartPauseSharing.setIcon(status ? pauseIcon : startIcon);
                btnStartPauseSharing.setText(status ? pauseLabel : startLabel);
                btnStartPauseSharing.setToolTipText(status ? pauseLabel : 
startLabel);
-               setPublishingTabEnabled(status);
        }
        
-       public void setRecordingStatus(boolean status) {
-               panelScreen.setEnabled(!status);
+       public void setRecordingStatus(boolean status, boolean unlockScreen) {
+               panelScreen.setEnabled(unlockScreen);
                btnStartRecording.setEnabled(!status);
                btnStopRecording.setEnabled(status);
        }
        
-       public void setPublishingStatus(boolean status) {
-               panelScreen.setEnabled(!status);
+       public void setPublishingStatus(boolean status, boolean unlockScreen) {
+               panelScreen.setEnabled(unlockScreen);
                btnStartPublish.setEnabled(!status);
                btnStopPublish.setEnabled(status);
        }
@@ -695,7 +707,7 @@ public class ScreenSharerFrame extends J
         * Needs to be always invoked after every re-scaling
         */
        void calcRescaleFactors() {
-               logger.debug("calcRescaleFactors -- ");
+               logger.trace("calcRescaleFactors -- ");
                ScreenDimensions.resizeX = spinnerWidth.getValue();
                ScreenDimensions.resizeY = spinnerHeight.getValue();
                switch (ScreenDimensions.quality) {
@@ -712,7 +724,7 @@ public class ScreenSharerFrame extends J
                        default:
                                break;
                }
-               logger.debug("resize: X:" + ScreenDimensions.resizeX + " Y: " + 
ScreenDimensions.resizeY);
+               logger.trace("resize: X:" + ScreenDimensions.resizeX + " Y: " + 
ScreenDimensions.resizeY);
                updateVScreenBounds();
        }
 

Modified: 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
URL: 
http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java?rev=1362554&r1=1362553&r2=1362554&view=diff
==============================================================================
--- 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
 (original)
+++ 
incubator/openmeetings/trunk/singlewebapp/src/org/openmeetings/servlet/outputhandler/ScreenRequestHandler.java
 Tue Jul 17 16:12:39 2012
@@ -36,7 +36,6 @@ import org.openmeetings.app.Openmeetings
 import org.openmeetings.app.data.basic.Configurationmanagement;
 import org.openmeetings.app.data.basic.Fieldmanagment;
 import org.openmeetings.app.data.basic.Sessionmanagement;
-import org.openmeetings.app.persistence.beans.basic.Configuration;
 import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
 import org.openmeetings.utils.OmFileHelper;
 import org.red5.logging.Red5LoggerFactory;
@@ -283,16 +282,9 @@ public class ScreenRequestHandler extend
                                ctx.put("red5-app", 
OpenmeetingsVariables.webAppRootKey + "/"
                                                + room);
 
-                               Configuration configuration = 
getCfgManagement().getConfKey(3L,
-                                               
"default.quality.screensharing");
-                               String default_quality_screensharing = "1";
-                               if (configuration != null) {
-                                       default_quality_screensharing = 
configuration
-                                                       .getConf_value();
-                               }
-
                                ctx.put("default_quality_screensharing",
-                                               default_quality_screensharing);
+                                       getCfgManagement().getConfValue(
+                                               
"default.quality.screensharing", String.class, "1"));
 
                                //invited guest does not have valid user_id 
(have user_id == -1)
                                ctx.put("user_id", users_id);


Reply via email to