Esempio n. 1
0
  /**
   * Verifies an MP3 Release
   *
   * @param release Release to verify
   */
  public void checkSfv(Release release) {
    if (Thread.currentThread().isInterrupted()) {
      return;
    }
    if (!release.isReleaseComplete()) {
      release.setReleaseIsValid(false);
      return;
    }

    boolean isValid = true;
    for (AudioFileWithChecksum m : release.getAudioFiles()) {
      if (!m.getAudioFileExists()) {
        isValid = false;
      } else {
        try {
          if (m.getChecksum() == FileUtils.checksumCRC32(m.getAudioFile())) {
            m.setAudioFileIsValid(true);
          } else {
            m.setAudioFileIsValid(false);
            isValid = false;
          }

        } catch (IOException ex) {
          Logger.getLogger(CRCChecker.class.getName()).log(Level.SEVERE, null, ex);
        }
      }
    }

    release.setReleaseIsValid(isValid);
  }