Author: solomax
Date: Thu Jun 19 09:00:31 2014
New Revision: 1603767

URL: http://svn.apache.org/r1603767
Log:
[OPENMEETINGS-270] stalled recordings are stopped automatically

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=1603767&r1=1603766&r2=1603767&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
 Thu Jun 19 09:00:31 2014
@@ -184,18 +184,16 @@ public abstract class BaseConverter {
                                        break;
                                } else {
                                        File metaFlv = getMetaFlv(metaData);
-                                       if (metaFlv.exists()) {
-                                               if (maxTimestamp < 
metaFlv.lastModified()) {
-                                                       maxTimestamp = 
metaFlv.lastModified();
-                                               }
+                                       if (metaFlv.exists() && maxTimestamp < 
metaFlv.lastModified()) {
+                                               maxTimestamp = 
metaFlv.lastModified();
                                        }
                                        File metaSer = getMetaFlvSer(metaData);
-                                       if (metaSer.exists()) {
-                                               if (maxTimestamp < 
metaSer.lastModified()) {
-                                                       maxTimestamp = 
metaSer.lastModified();
-                                               }
-                                               if (maxTimestamp + 
TIME_TO_WAIT_FOR_FRAME < System.currentTimeMillis()) {
-                                                       log.debug("### long 
time without any update, closing ... ");
+                                       if (metaSer.exists() && maxTimestamp < 
metaSer.lastModified()) {
+                                               maxTimestamp = 
metaSer.lastModified();
+                                       }
+                                       if (maxTimestamp + 
TIME_TO_WAIT_FOR_FRAME < System.currentTimeMillis()) {
+                                               if (metaSer.exists()) {
+                                                       log.debug("### long 
time without any update, trying to repair ... ");
                                                        try {
                                                                if 
(FLVWriter.repair(metaSer.getCanonicalPath(), null, null) && !metaSer.exists()) 
{
                                                                        
metaData.setStreamStatus(Status.STOPPED);
@@ -203,7 +201,11 @@ public abstract class BaseConverter {
                                                                }
                                                        } 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);
                                                }
                                        }
                                }

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=1603767&r1=1603766&r2=1603767&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
 Thu Jun 19 09:00:31 2014
@@ -183,19 +183,17 @@ public abstract class BaseConverter {
                                        break;
                                } else {
                                        File metaFlv = getMetaFlv(metaData);
-                                       if (metaFlv.exists()) {
-                                               if (maxTimestamp < 
metaFlv.lastModified()) {
-                                                       maxTimestamp = 
metaFlv.lastModified();
-                                               }
+                                       if (metaFlv.exists() && maxTimestamp < 
metaFlv.lastModified()) {
+                                               maxTimestamp = 
metaFlv.lastModified();
                                        }
                                        File metaSer = getMetaFlvSer(metaData);
-                                       if (metaSer.exists()) {
-                                               if (maxTimestamp < 
metaSer.lastModified()) {
-                                                       maxTimestamp = 
metaSer.lastModified();
-                                               }
-                                               if (maxTimestamp + 
TIME_TO_WAIT_FOR_FRAME < System.currentTimeMillis()) {
+                                       if (metaSer.exists() && maxTimestamp < 
metaSer.lastModified()) {
+                                               maxTimestamp = 
metaSer.lastModified();
+                                       }
+                                       if (maxTimestamp + 
TIME_TO_WAIT_FOR_FRAME < System.currentTimeMillis()) {
+                                               if (metaSer.exists()) {
+                                                       log.debug("### long 
time without any update, trying to repair ... ");
                                                        /*
-                                                       log.debug("### long 
time without any update, closing ... ");
                                                        try {
                                                                if 
(FLVWriter.repair(metaSer.getCanonicalPath(), null, null) && !metaSer.exists()) 
{
                                                                        
metaData.setStreamStatus(Status.STOPPED);
@@ -203,8 +201,12 @@ public abstract class BaseConverter {
                                                                }
                                                        } 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);
                                                }
                                        }
                                }


Reply via email to