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