/** * Calls avconv command to perform a specific audio task. * * <p>Can strip audio, replace or overlay audio on another selected input file. * * <p>Relays success or errors back to EDT to deal with. */ @Override protected Void doInBackground() throws Exception { ProcessBuilder builder = null; errorState = false; switch (_cmd) { case "STRIP-audio": builder = new ProcessBuilder( "/bin/bash", "-c", "avconv -i " + _inputFile + " -vn " + _outputFile); fc = new FileChecker(_inputFile); if (!fc.checkAVFile("Audio")) { firePropertyChange("failure", null, _noAudioWarning); errorState = true; return null; } break; case "STRIP-video": builder = new ProcessBuilder( "/bin/bash", "-c", "avconv -i " + _inputFile + " -c copy -map 0:v " + _outputFile); fc = new FileChecker(_inputFile); if (!fc.checkAVFile("Audio")) { firePropertyChange("failure", null, _noAudioWarning); errorState = true; return null; } break; case "MERGE": builder = new ProcessBuilder( "/bin/bash", "-c", "avconv -i " + _inputFile + " -i " + _replaceOrMergeFile + " -filter_complex amix=duration=shortest -vcodec copy -shortest -y -strict experimental " + _outputFile); break; case "REPLACE": builder = new ProcessBuilder( "/bin/bash", "-c", "avconv -i " + _inputFile + " -i " + _replaceOrMergeFile + " -c copy -map 0:v -map 1:a " + _outputFile); break; } bashProcess(builder); return null; }
String getFileName(final FileChecker fileChecker, final int groupUrl) { String fileName = ORIGINAL_COMPILER_WARNINGS_XML; if (fileChecker.canRead(fileName)) { return fileName; } fileName = createFileName(groupUrl); if (fileChecker.canRead(fileName)) { return fileName; } return group.replaceAll("\\W+", "") + ".xml"; }
private boolean checkFile(P file) throws IOException { return lastCheck = checker.areFilesSame(file, d2.resolve(d1.relativize(file))); }