Package org.openmeetings.app.data.flvrecord.listener

Examples of org.openmeetings.app.data.flvrecord.listener.BaseStreamListener


          + " || " + conn.getScope().getContextPath());

      Object streamToClose = scopeApplicationAdapter.getBroadcastStream(
          conn.getScope(), broadcastId);

      BaseStreamListener listenerAdapter = streamListeners.get(flvRecordingMetaDataId);
     
      log.debug("Stream Closing :: " + flvRecordingMetaDataId);
     
      ClientBroadcastStream stream = (ClientBroadcastStream) streamToClose;

      //the stream can be null if the user just closes the browser
      //without canceling the recording before leaving
      if (stream != null) {
        //Iterate through all stream listeners and stop the appropriate
        if (stream.getStreamListeners() != null) {
 
          for (IStreamListener iStreamListener : stream
              .getStreamListeners()) {
            stream.removeStreamListener(iStreamListener);
          }
        }
      }
     
      if (listenerAdapter == null) {
       
        log.debug("Stream Not Found :: " + flvRecordingMetaDataId);
        log.debug("Available Streams :: "+streamListeners.size());
       
        for (Long entryKey : streamListeners.keySet()) {
          log.debug("Stored flvRecordingMetaDataId in Map: "+ entryKey);
        }
       
        //Manually call finish on the stream so that there is no endless loop waiting 
        //in the FlvRecorderConverter waiting for the stream to finish
        //this would normally happen in the Listener
        FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDaoImpl.
              getFlvRecordingMetaDataById(flvRecordingMetaDataId);
        flvRecordingMetaData.setStreamReaderThreadComplete(true);
        flvRecordingMetaDataDaoImpl.updateFlvRecordingMetaData(flvRecordingMetaData);
       
        throw new IllegalStateException("Could not find Listener to stop! flvRecordingMetaDataId "+flvRecordingMetaDataId);
      }
     
      listenerAdapter.closeStream();
      streamListeners.remove(flvRecordingMetaDataId);
     

    } catch (Exception err) {
      log.error("[stopRecordingShow]", err);
View Full Code Here

TOP

Related Classes of org.openmeetings.app.data.flvrecord.listener.BaseStreamListener

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.