Package org.apache.openmeetings.persistence.beans.flvrecord

Examples of org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingMetaData


        }
       
        //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);
      }
     
View Full Code Here


   
    super(streamName, scope, flvRecordingMetaDataId, isScreenData);
   
    this.flvRecordingMetaDataDao = flvRecordingMetaDataDao;
   
    FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.
        getFlvRecordingMetaDataById(flvRecordingMetaDataId);
    flvRecordingMetaData.setStreamReaderThreadComplete(false);
    flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);
  }
View Full Code Here

      writer.close();

      // Add Delta in the beginning, this Delta is the Gap between the
      // device chosen and when the User hits the button in the Flash
      // Security Warning
      FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao
          .getFlvRecordingMetaDataById(this.flvRecordingMetaDataId);

      flvRecordingMetaData.setRecordStart(new Date(
          flvRecordingMetaData.getRecordStart().getTime()
              + this.initialDelta));
     
      flvRecordingMetaData.setStreamReaderThreadComplete(true);
     
      flvRecordingMetaDataDao
          .updateFlvRecordingMetaData(flvRecordingMetaData);
     
     
View Full Code Here

   
    this.flvRecordingMetaDeltaDao = flvRecordingMetaDeltaDao;
    this.flvRecordingMetaDataDao = flvRecordingMetaDataDao;
    this.isInterview  = isInterview;
   
    FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.
                getFlvRecordingMetaDataById(flvRecordingMetaDataId);
    flvRecordingMetaData.setStreamReaderThreadComplete(false);
    flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);
   
  }
View Full Code Here

      flvRecordingMetaDeltaDao
          .addFlvRecordingMetaDelta(flvRecordingMetaDelta);
     
      //Write the complete Bit to the meta data, the converter task will wait for this bit!
      FlvRecordingMetaData flvRecordingMetaData = flvRecordingMetaDataDao.getFlvRecordingMetaDataById(flvRecordingMetaDataId);
      flvRecordingMetaData.setStreamReaderThreadComplete(true);
      flvRecordingMetaDataDao.updateFlvRecordingMetaData(flvRecordingMetaData);

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

      stripAudioFirstPass(flvRecording, returnLog, listOfFullWaveFiles, streamFolder);

      // Merge Wave to Full Length
      String streamFolderGeneralName = getStreamFolder().getCanonicalPath() + File.separator; //FIXME

      FlvRecordingMetaData flvRecordingMetaDataOfScreen = this.flvRecordingMetaDataDaoImpl
          .getFlvRecordingMetaDataScreenFlvByRecording(flvRecording
              .getFlvRecordingId());
     
      if (flvRecordingMetaDataOfScreen == null) {
        throw new Exception("flvRecordingMetaDataOfScreen is Null FlvRecordingId "+flvRecording
              .getFlvRecordingId());
      }
     
      if (flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete() == null) {
        throw new Exception("StreamReaderThreadComplete Bit is NULL, error in recording");
      }
     
      if (!flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete()) {
       
        log.debug("### meta ScreenStream not yet written to disk" + flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
        boolean doStop = true;
        while(doStop) {
         
          log.debug("### Stream not yet written Thread Sleep - " + flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
         
          Thread.sleep(100L);
         
          flvRecordingMetaDataOfScreen = flvRecordingMetaDataDaoImpl.getFlvRecordingMetaDataById(flvRecordingMetaDataOfScreen.getFlvRecordingMetaDataId());
         
          if (flvRecordingMetaDataOfScreen.getStreamReaderThreadComplete()) {
            log.debug("### Screen Stream now written Thread continue - " );
            doStop = false;
          }
        }
      }
     
     
      String hashFileFullName = flvRecordingMetaDataOfScreen
          .getStreamName() + "_FINAL_WAVE.wav";
      String outputFullWav = new File(streamFolder, hashFileFullName).getCanonicalPath();

      if (listOfFullWaveFiles.size() == 1) {

        outputFullWav = listOfFullWaveFiles.get(0);

        flvRecordingMetaDataOfScreen
            .setFullWavAudioData(hashFileFullName);

      } else if (listOfFullWaveFiles.size() > 0) {

        String[] argv_full_sox = mergeAudioToWaves(listOfFullWaveFiles, outputFullWav);

        log.debug("START mergeAudioToWaves ################# ");
        log.debug(argv_full_sox.toString());
        String iString = "";
        for (int i = 0; i < argv_full_sox.length; i++) {
          iString += argv_full_sox[i] + " ";
        }
        log.debug(iString);
        log.debug("END mergeAudioToWaves ################# ");

        flvRecordingMetaDataOfScreen
            .setFullWavAudioData(hashFileFullName);

        this.flvRecordingMetaDataDaoImpl
            .updateFlvRecordingMetaData(flvRecordingMetaDataOfScreen);

        returnLog.add(ProcessHelper.executeScript("mergeWave",
            argv_full_sox));
      } else {

        // create default Audio to merge it.
        // strip to content length
        String outputWav = streamFolderGeneralName + "one_second.wav";

        // Calculate delta at beginning
        Long deltaTimeMilliSeconds = flvRecording.getRecordEnd()
            .getTime() - flvRecording.getRecordStart().getTime();
        Float deltaPadding = (Float.parseFloat(deltaTimeMilliSeconds
            .toString()) / 1000) - 1;

        String[] argv_full_sox = new String[] { this.getPathToSoX(),
            outputWav, outputFullWav, "pad", "0",
            deltaPadding.toString() };

        log.debug("START generateSampleAudio ################# ");
        String tString = "";
        for (int i = 0; i < argv_full_sox.length; i++) {
          tString += argv_full_sox[i] + " ";
        }
        log.debug(tString);
        log.debug("END generateSampleAudio ################# ");

        flvRecordingMetaDataOfScreen
            .setFullWavAudioData(hashFileFullName);

        this.flvRecordingMetaDataDaoImpl
            .updateFlvRecordingMetaData(flvRecordingMetaDataOfScreen);

        returnLog.add(ProcessHelper.executeScript("mergeWave",
            argv_full_sox));

      }

      // Merge Audio with Video / Calculate resulting FLV

      String inputScreenFullFlv = new File(streamFolder, flvRecordingMetaDataOfScreen.getStreamName() + ".flv").getCanonicalPath();

      String hashFileFullNameFlv = "flvRecording_"
          + flvRecording.getFlvRecordingId() + ".flv";
      String outputFullFlv = streamFolderGeneralName
          + hashFileFullNameFlv;
View Full Code Here

          "WHERE c.flvRecordingMetaDataId = :flvRecordingMetaDataId";
     
      TypedQuery<FlvRecordingMetaData> query = em.createQuery(hql, FlvRecordingMetaData.class);
      query.setParameter("flvRecordingMetaDataId", flvRecordingMetaDataId);
     
      FlvRecordingMetaData flvRecordingMetaData = null;
      try {
        flvRecordingMetaData = query.getSingleResult();
        } catch (NoResultException ex) {
        }
     
View Full Code Here

  public Long addFlvRecordingMetaData(Long flvRecordingId, String freeTextUserName,
          Date recordStart, Boolean isAudioOnly, Boolean isVideoOnly,
          Boolean isScreenData, String streamName, Integer interiewPodId) {
    try {
     
      FlvRecordingMetaData flvRecordingMetaData = new FlvRecordingMetaData();
     
      flvRecordingMetaData.setDeleted(false);
     
      flvRecordingMetaData.setFlvRecording(flvRecordingDao.getFlvRecordingById(flvRecordingId));
      flvRecordingMetaData.setFreeTextUserName(freeTextUserName);
      flvRecordingMetaData.setInserted(new Date());
     
      flvRecordingMetaData.setRecordStart(recordStart);
     
      flvRecordingMetaData.setIsAudioOnly(isAudioOnly);
      flvRecordingMetaData.setIsVideoOnly(isVideoOnly);
      flvRecordingMetaData.setIsScreenData(isScreenData);
     
      flvRecordingMetaData.setStreamName(streamName);
     
      flvRecordingMetaData.setInteriewPodId(interiewPodId);
     
      flvRecordingMetaData = em.merge(flvRecordingMetaData);
      Long flvRecordingMetaDataId = flvRecordingMetaData.getFlvRecordingMetaDataId();
     
      return flvRecordingMetaDataId;
     
    } catch (Exception ex2) {
      log.error("[addFlvRecordingMetaData]: ",ex2);
View Full Code Here

  public Long updateFlvRecordingMetaDataEndDate(Long flvRecordingMetaDataId,
                    Date recordEnd) {
    try {
     
      FlvRecordingMetaData flvRecordingMetaData = this.getFlvRecordingMetaDataById(flvRecordingMetaDataId);
     
      flvRecordingMetaData.setRecordEnd(recordEnd);
     
      log.debug("updateFlvRecordingMetaDataEndDate :: Start Date :"+flvRecordingMetaData.getRecordStart());
      log.debug("updateFlvRecordingMetaDataEndDate :: End Date :"+flvRecordingMetaData.getRecordEnd());
     
      this.updateFlvRecordingMetaData(flvRecordingMetaData);
     
      return flvRecordingMetaDataId;
     
View Full Code Here

  public Long updateFlvRecordingMetaDataInitialGap(Long flvRecordingMetaDataId,
                    long initalGap) {
    try {
     
      FlvRecordingMetaData flvRecordingMetaData = this.getFlvRecordingMetaDataById(flvRecordingMetaDataId);
     
      flvRecordingMetaData.setInitialGapSeconds(Long.valueOf(initalGap).intValue());
     
      this.updateFlvRecordingMetaData(flvRecordingMetaData);
     
      return flvRecordingMetaDataId;
     
View Full Code Here

TOP

Related Classes of org.apache.openmeetings.persistence.beans.flvrecord.FlvRecordingMetaData

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.