Author: solomax
Date: Fri Feb  6 10:16:30 2015
New Revision: 1657771

URL: http://svn.apache.org/r1657771
Log:
Infinite loop while recording conversion is fixed

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

Modified: 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/BaseConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/BaseConverter.java?rev=1657771&r1=1657770&r2=1657771&view=diff
==============================================================================
--- 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/BaseConverter.java
 (original)
+++ 
openmeetings/branches/3.0.x/src/main/java/org/apache/openmeetings/converter/BaseConverter.java
 Fri Feb  6 10:16:30 2015
@@ -176,10 +176,9 @@ public abstract class BaseConverter {
                FlvRecordingMetaData metaData = metaDataDao.get(metaId);
                if (metaData.getStreamStatus() != Status.STOPPED) {
                        log.debug("### meta Stream not yet written to disk " + 
metaId);
-                       boolean doWait = true;
                        long counter = 0;
                        long maxTimestamp = 0;
-                       while(doWait) {
+                       while(true) {
                                log.trace("### Stream not yet written Thread 
Sleep - " + metaId);
                                
                                metaData = metaDataDao.get(metaId);
@@ -187,7 +186,6 @@ public abstract class BaseConverter {
                                if (metaData.getStreamStatus() == 
Status.STOPPED) {
                                        printMetaInfo(metaData, "Stream now 
written");
                                        log.debug("### Thread continue ... " );
-                                       doWait = false;
                                        break;
                                } else {
                                        File metaFlv = 
getRecordingMetaData(metaData.getFlvRecording().getRoom_id(), 
metaData.getStreamName());
@@ -203,17 +201,19 @@ public abstract class BaseConverter {
                                                        log.debug("### long 
time without any update, trying to repair ... ");
                                                        try {
                                                                if 
(FLVWriter.repair(metaSer.getCanonicalPath(), null, null) && !metaSer.exists()) 
{
-                                                                       
metaData.setStreamStatus(Status.STOPPED);
-                                                                       
metaDataDao.update(metaData);
+                                                                       
log.debug("### Repairing was successful ... ");
+                                                               } else {
+                                                                       
log.debug("### Repairing was NOT successful ... ");
                                                                }
                                                        } catch (IOException e) 
{
                                                                log.error("### 
Error while file repairing ... ", e);
                                                        }
                                                } else {
                                                        log.debug("### long 
time without any update, closing ... ");
-                                                       
metaData.setStreamStatus(Status.STOPPED);
-                                                       
metaDataDao.update(metaData);
                                                }
+                                               
metaData.setStreamStatus(Status.STOPPED);
+                                               metaDataDao.update(metaData);
+                                               break;
                                        }
                                }
                                if (++counter % 1000 == 0) {

Modified: 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
URL: 
http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java?rev=1657771&r1=1657770&r2=1657771&view=diff
==============================================================================
--- 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 (original)
+++ 
openmeetings/trunk/singlewebapp/openmeetings-core/src/main/java/org/apache/openmeetings/core/converter/BaseConverter.java
 Fri Feb  6 10:16:30 2015
@@ -176,10 +176,9 @@ public abstract class BaseConverter {
                FlvRecordingMetaData metaData = metaDataDao.get(metaId);
                if (metaData.getStreamStatus() != Status.STOPPED) {
                        log.debug("### meta Stream not yet written to disk " + 
metaId);
-                       boolean doWait = true;
                        long counter = 0;
                        long maxTimestamp = 0;
-                       while(doWait) {
+                       while(true) {
                                log.trace("### Stream not yet written Thread 
Sleep - " + metaId);
                                
                                metaData = metaDataDao.get(metaId);
@@ -187,7 +186,6 @@ public abstract class BaseConverter {
                                if (metaData.getStreamStatus() == 
Status.STOPPED) {
                                        printMetaInfo(metaData, "Stream now 
written");
                                        log.debug("### Thread continue ... " );
-                                       doWait = false;
                                        break;
                                } else {
                                        File metaFlv = 
getRecordingMetaData(metaData.getFlvRecording().getRoomId(), 
metaData.getStreamName());
@@ -203,17 +201,19 @@ public abstract class BaseConverter {
                                                        log.debug("### long 
time without any update, trying to repair ... ");
                                                        try {
                                                                if 
(FLVWriter.repair(metaSer.getCanonicalPath(), null, null) && !metaSer.exists()) 
{
-                                                                       
metaData.setStreamStatus(Status.STOPPED);
-                                                                       
metaDataDao.update(metaData);
+                                                                       
log.debug("### Repairing was successful ... ");
+                                                               } else {
+                                                                       
log.debug("### Repairing was NOT successful ... ");
                                                                }
                                                        } catch (IOException e) 
{
                                                                log.error("### 
Error while file repairing ... ", e);
                                                        }
                                                } else {
                                                        log.debug("### long 
time without any update, closing ... ");
-                                                       
metaData.setStreamStatus(Status.STOPPED);
-                                                       
metaDataDao.update(metaData);
                                                }
+                                               
metaData.setStreamStatus(Status.STOPPED);
+                                               metaDataDao.update(metaData);
+                                               break;
                                        }
                                }
                                if (++counter % 1000 == 0) {


Reply via email to