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