You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by se...@apache.org on 2012/02/26 16:57:49 UTC

svn commit: r1293858 - in /incubator/openmeetings/trunk/singlewebapp: WebContent/swf10/video/ src/app/org/openmeetings/app/data/flvrecord/converter/ src/app/org/openmeetings/app/data/flvrecord/listener/ src/app/org/openmeetings/app/remote/red5/

Author: sebawagner
Date: Sun Feb 26 15:57:48 2012
New Revision: 1293858

URL: http://svn.apache.org/viewvc?rev=1293858&view=rev
Log:
OPENMEETINGS-71 Fix interviewPodId in avClient's RoomClient Session variable

Modified:
    incubator/openmeetings/trunk/singlewebapp/WebContent/swf10/video/editRecordStreamSWF10.lzx
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamScreenListener.java
    incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java

Modified: incubator/openmeetings/trunk/singlewebapp/WebContent/swf10/video/editRecordStreamSWF10.lzx
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/WebContent/swf10/video/editRecordStreamSWF10.lzx?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/WebContent/swf10/video/editRecordStreamSWF10.lzx (original)
+++ incubator/openmeetings/trunk/singlewebapp/WebContent/swf10/video/editRecordStreamSWF10.lzx Sun Feb 26 15:57:48 2012
@@ -131,6 +131,7 @@
         <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam>
         <netparam><method name="getValue">return parent.parent.cam_default_height;</method></netparam>
         <netparam><method name="getValue">return canvas.publicSID;</method></netparam>
+        <netparam><method name="getValue">return parent.parent.interviewPodId;</method></netparam>
         <handler name="ondata" args="value">
             <![CDATA[
                 if ($debug) Debug.write("setUserAVSettings",value);

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/BaseConverter.java Sun Feb 26 15:57:48 2012
@@ -116,15 +116,21 @@ public abstract class BaseConverter {
 		}
 	}
 	
-	protected String[] mergeAudioToWaves(List<String> listOfFullWaveFiles, String outputFullWav) {
+	protected String[] mergeAudioToWaves(List<String> listOfFullWaveFiles, String outputFullWav) throws Exception {
 		String[] argv_full_sox = new String[listOfFullWaveFiles.size() + 3];
+		
+		log.debug(" listOfFullWaveFiles "+listOfFullWaveFiles.size()+" argv_full_sox LENGTH "+argv_full_sox.length);
+		
 		argv_full_sox[0] = getPathToSoX();
 		argv_full_sox[1] = "-m";
 
 		int i = 0;
-		for (;i < listOfFullWaveFiles.size(); ++i) {
+		for (;i < listOfFullWaveFiles.size(); i++) {
+			log.debug(" i "+i+" = "+listOfFullWaveFiles.get(i));
 			argv_full_sox[2 + i] = listOfFullWaveFiles.get(i);
 		}
+		log.debug(" i + 3 "+(i+3)+" "+outputFullWav);
+		
 		argv_full_sox[i + 3] = outputFullWav;
 		
 		return argv_full_sox;
@@ -132,7 +138,7 @@ public abstract class BaseConverter {
 	
 	protected void stripAudioFirstPass(FlvRecording flvRecording,
 			List<HashMap<String, String>> returnLog,
-			List<String> listOfFullWaveFiles, String streamFolderName) {
+			List<String> listOfFullWaveFiles, String streamFolderName) throws Exception {
 		List<FlvRecordingMetaData> metaDataList = flvRecordingMetaDataDaoImpl
 				.getFlvRecordingMetaDataAudioFlvsByRecording(flvRecording
 						.getFlvRecordingId());

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvInterviewConverter.java Sun Feb 26 15:57:48 2012
@@ -641,7 +641,7 @@ public class FlvInterviewConverter exten
 			// Create the Content of the Converter Script (.bat or .sh File)
 			String fileContent = pathToIMagick + " " + file1 + " " + file2
 					+ " " + "+append" + " " + file3
-					+ ScopeApplicationAdapter.lineSeperator + "exit";
+					+ ScopeApplicationAdapter.lineSeperator + "";
 
 			File previous = new File(executable_fileName);
 			if (previous.exists()) {

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/converter/FlvRecorderConverter.java Sun Feb 26 15:57:48 2012
@@ -73,9 +73,8 @@ public class FlvRecorderConverter extend
 		List<HashMap<String, String>> returnLog = new LinkedList<HashMap<String, String>>();
 		List<String> listOfFullWaveFiles = new LinkedList<String>();
 		String streamFolderName = getStreamFolderName(flvRecording);
-		
-		stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles, streamFolderName);
 		try {
+			stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles, streamFolderName);
 
 			// Merge Wave to Full Length
 			String streamFolderGeneralName = getStreamFolderName();

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamAudioListener.java Sun Feb 26 15:57:48 2012
@@ -28,6 +28,7 @@ import org.openmeetings.app.data.flvreco
 import org.openmeetings.app.persistence.beans.flvrecord.FlvRecordingMetaDelta;
 import org.openmeetings.app.remote.red5.ScopeApplicationAdapter;
 import org.red5.io.ITag;
+import org.red5.io.flv.impl.FLVWriter;
 import org.red5.io.flv.impl.Tag;
 import org.red5.logging.Red5LoggerFactory;
 import org.red5.server.api.IScope;
@@ -337,7 +338,11 @@ public class StreamAudioListener extends
 				tag.setBodySize(data.limit());
 				tag.setTimestamp(timeStamp);
 				tag.setBody(data);
-
+				
+				if (this.isClosed) {
+					throw new Exception("Stream was already closed");
+				}
+				
 				writer.writeTag(tag);
 
 			}

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamScreenListener.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamScreenListener.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamScreenListener.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/data/flvrecord/listener/StreamScreenListener.java Sun Feb 26 15:57:48 2012
@@ -146,6 +146,10 @@ public class StreamScreenListener extend
 					return;
 				}
 			}
+			
+			if (this.isClosed) {
+				throw new Exception("Stream was already closed");
+			}
 
 			writer.writeTag(tag);
 

Modified: incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java?rev=1293858&r1=1293857&r2=1293858&view=diff
==============================================================================
--- incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java (original)
+++ incubator/openmeetings/trunk/singlewebapp/src/app/org/openmeetings/app/remote/red5/ScopeApplicationAdapter.java Sun Feb 26 15:57:48 2012
@@ -129,8 +129,6 @@ public class ScopeApplicationAdapter ext
 
 			log.debug("webAppPath : " + webAppPath);
 			log.debug("batchFileFir : " + batchFileFir);
-			// batchFileFir = webAppPath + File.separatorChar + "jod" +
-			// File.separatorChar;
 
 			// Only load this Class one time
 			// Initially this value might by empty, because the DB is empty yet
@@ -1073,7 +1071,7 @@ public class ScopeApplicationAdapter ext
             // Put the mod-flag to true for this client
 		    this.clientListManager.updateClientByStreamId(
 		    		currentClient.getStreamid(), currentClient);
-
+		    
 			// Notify all clients of the same scope (room)
 			Collection<Set<IConnection>> conCollection = current.getScope()
 					.getConnections();
@@ -1083,20 +1081,23 @@ public class ScopeApplicationAdapter ext
 						RoomClient rcl = this.clientListManager
 								.getClientByStreamId(conn.getClient().getId());
 						if (rcl == null) {
-							// continue;
+							continue;
 						} else if (rcl.getIsScreenClient() != null
 								&& rcl.getIsScreenClient()) {
-							// continue;
-						} else {
-							log.debug("Send Flag to Client: "
-									+ rcl.getUsername());
-							if (conn instanceof IServiceCapableConnection) {
-								((IServiceCapableConnection) conn).invoke(
-										"setNewBroadCastingFlag",
-										new Object[] { currentClient }, this);
-								log.debug("sending setNewBroadCastingFlag to "
-										+ conn);
-							}
+							continue;
+						} else if (rcl.getIsAVClient() != null
+								&& rcl.getIsAVClient()) {
+							continue;
+						}
+						
+						log.debug("Send Flag to Client: "
+								+ rcl.getUsername());
+						if (conn instanceof IServiceCapableConnection) {
+							((IServiceCapableConnection) conn).invoke(
+									"setNewBroadCastingFlag",
+									new Object[] { currentClient }, this);
+							log.debug("sending setNewBroadCastingFlag to "
+									+ conn);
 						}
 					}
 				}
@@ -1285,7 +1286,7 @@ public class ScopeApplicationAdapter ext
 	 */
 	public synchronized RoomClient setUserAVSettings(String avsettings,
 			Object newMessage, Integer vWidth, Integer vHeight, 
-			long room_id, String publicSID) {
+			long room_id, String publicSID, Integer interviewPodId) {
 		try {
 
 			IConnection current = Red5.getConnectionLocal();
@@ -1298,6 +1299,7 @@ public class ScopeApplicationAdapter ext
 			currentClient.setIsAVClient(true);
 			currentClient.setVWidth(vWidth);
 			currentClient.setVHeight(vHeight);
+			currentClient.setInterviewPodId(interviewPodId);
 			// Long room_id = currentClient.getRoom_id();
 			this.clientListManager.updateAVClientByStreamId(streamid,
 					currentClient);
@@ -2642,6 +2644,17 @@ public class ScopeApplicationAdapter ext
 			for (Set<IConnection> conset : conCollection) {
 				for (IConnection conn : conset) {
 					if (conn != null) {
+						
+						RoomClient rcl = this.clientListManager
+								.getClientByStreamId(conn.getClient().getId());
+						
+						if (rcl == null) {
+							continue;
+						} else if (rcl.getIsAVClient() == null || rcl.getIsAVClient()) {
+							continue;
+						} else if (rcl.getIsScreenClient() != null && rcl.getIsScreenClient()) {
+							continue;
+						}
 
 						((IServiceCapableConnection) conn).invoke(
 								"interviewStatus",