Author: solomax
Date: Thu Jun 12 16:42:49 2014
New Revision: 1602226

URL: http://svn.apache.org/r1602226
Log:
Flv convertion is partially fixed

Modified:
    
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
    
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java?rev=1602226&r1=1602225&r2=1602226&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/remote/FLVRecorderService.java
 Thu Jun 12 16:42:49 2014
@@ -285,9 +285,9 @@ public class FLVRecorderService implemen
         * 
         * @param conn
         */
-       public synchronized void stopRecordingShow(IConnection conn, String 
broadcastId, Long flvRecordingMetaDataId) {
+       public synchronized void stopRecordingShow(IConnection conn, String 
broadcastId, Long metaId) {
                try {
-                       if (flvRecordingMetaDataId == null) {
+                       if (metaId == null) {
                                // this should be fixed, can be useful for 
debugging, after all this is an error
                                // but we don't want the application to 
completely stop the process
                                log.error("flvRecordingMetaDataId is null");
@@ -298,9 +298,9 @@ public class FLVRecorderService implemen
 
                        Object streamToClose = 
scopeApplicationAdapter.getBroadcastStream(conn.getScope(), broadcastId);
 
-                       StreamListener listenerAdapter = 
streamListeners.get(flvRecordingMetaDataId);
+                       StreamListener listenerAdapter = 
streamListeners.get(metaId);
 
-                       log.debug("Stream Closing :: " + 
flvRecordingMetaDataId);
+                       log.debug("Stream Closing :: " + metaId);
 
                        ClientBroadcastStream stream = (ClientBroadcastStream) 
streamToClose;
 
@@ -315,25 +315,30 @@ public class FLVRecorderService implemen
                                }
                        }
 
-                       FlvRecordingMetaData metaData = 
metaDataDao.get(flvRecordingMetaDataId);
+                       FlvRecordingMetaData metaData = metaDataDao.get(metaId);
                        BaseConverter.printMetaInfo(metaData, "Stopping the 
stream");
                        // Manually call finish on the stream so that there is 
no endless loop waiting in the FlvRecorderConverter waiting for the stream to 
finish
                        // this would normally happen in the Listener
-                       metaData.setStreamStatus(listenerAdapter == null && 
metaData.getStreamStatus() == Status.STARTED ? Status.STOPPED : 
Status.STOPPING);
-                       log.debug("Stopping the stream :: New status == " + 
metaData.getStreamStatus());
+                       Status s = metaData.getStreamStatus();
+                       if (Status.NONE == s) {
+                               log.debug("Stream was not started, no need to 
stop :: stream with id " + metaId);
+                       } else {
+                               metaData.setStreamStatus(listenerAdapter == 
null && s == Status.STARTED ? Status.STOPPED : Status.STOPPING);
+                               log.debug("Stopping the stream :: New status == 
" + metaData.getStreamStatus());
+                       }
                        metaDataDao.update(metaData);
                        if (listenerAdapter == null) {
-                               log.debug("Stream Not Found :: " + 
flvRecordingMetaDataId);
+                               log.debug("Stream Not Found :: " + metaId);
                                log.debug("Available Streams :: " + 
streamListeners.size());
 
                                for (Long entryKey : streamListeners.keySet()) {
                                        log.debug("Stored 
flvRecordingMetaDataId in Map: " + entryKey);
                                }
-                               throw new IllegalStateException("Could not find 
Listener to stop! flvRecordingMetaDataId " + flvRecordingMetaDataId);
+                               throw new IllegalStateException("Could not find 
Listener to stop! flvRecordingMetaDataId " + metaId);
                        }
 
                        listenerAdapter.closeStream();
-                       streamListeners.remove(flvRecordingMetaDataId);
+                       streamListeners.remove(metaId);
 
                } catch (Exception err) {
                        log.error("[stopRecordingShow]", err);

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java?rev=1602226&r1=1602225&r2=1602226&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/remote/FLVRecorderService.java
 Thu Jun 12 16:42:49 2014
@@ -286,9 +286,9 @@ public class FLVRecorderService implemen
         * 
         * @param conn
         */
-       public synchronized void stopRecordingShow(IConnection conn, String 
broadcastId, Long flvRecordingMetaDataId) {
+       public synchronized void stopRecordingShow(IConnection conn, String 
broadcastId, Long metaId) {
                try {
-                       if (flvRecordingMetaDataId == null) {
+                       if (metaId == null) {
                                // this should be fixed, can be useful for 
debugging, after all this is an error
                                // but we don't want the application to 
completely stop the process
                                log.error("flvRecordingMetaDataId is null");
@@ -299,9 +299,9 @@ public class FLVRecorderService implemen
 
                        Object streamToClose = 
scopeApplicationAdapter.getBroadcastStream(conn.getScope(), broadcastId);
 
-                       StreamListener listenerAdapter = 
streamListeners.get(flvRecordingMetaDataId);
+                       StreamListener listenerAdapter = 
streamListeners.get(metaId);
 
-                       log.debug("Stream Closing :: " + 
flvRecordingMetaDataId);
+                       log.debug("Stream Closing :: " + metaId);
 
                        ClientBroadcastStream stream = (ClientBroadcastStream) 
streamToClose;
 
@@ -316,25 +316,30 @@ public class FLVRecorderService implemen
                                }
                        }
 
-                       FlvRecordingMetaData metaData = 
metaDataDao.get(flvRecordingMetaDataId);
+                       FlvRecordingMetaData metaData = metaDataDao.get(metaId);
                        BaseConverter.printMetaInfo(metaData, "Stopping the 
stream");
                        // Manually call finish on the stream so that there is 
no endless loop waiting in the FlvRecorderConverter waiting for the stream to 
finish
                        // this would normally happen in the Listener
-                       metaData.setStreamStatus(listenerAdapter == null && 
metaData.getStreamStatus() == Status.STARTED ? Status.STOPPED : 
Status.STOPPING);
-                       log.debug("Stopping the stream :: New status == " + 
metaData.getStreamStatus());
+                       Status s = metaData.getStreamStatus();
+                       if (Status.NONE == s) {
+                               log.debug("Stream was not started, no need to 
stop :: stream with id " + metaId);
+                       } else {
+                               metaData.setStreamStatus(listenerAdapter == 
null && s == Status.STARTED ? Status.STOPPED : Status.STOPPING);
+                               log.debug("Stopping the stream :: New status == 
" + metaData.getStreamStatus());
+                       }
                        metaDataDao.update(metaData);
                        if (listenerAdapter == null) {
-                               log.debug("Stream Not Found :: " + 
flvRecordingMetaDataId);
+                               log.debug("Stream Not Found :: " + metaId);
                                log.debug("Available Streams :: " + 
streamListeners.size());
 
                                for (Long entryKey : streamListeners.keySet()) {
                                        log.debug("Stored 
flvRecordingMetaDataId in Map: " + entryKey);
                                }
-                               throw new IllegalStateException("Could not find 
Listener to stop! flvRecordingMetaDataId " + flvRecordingMetaDataId);
+                               throw new IllegalStateException("Could not find 
Listener to stop! flvRecordingMetaDataId " + metaId);
                        }
 
                        listenerAdapter.closeStream();
-                       streamListeners.remove(flvRecordingMetaDataId);
+                       streamListeners.remove(metaId);
 
                } catch (Exception err) {
                        log.error("[stopRecordingShow]", err);


Reply via email to