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",


Reply via email to