public void beforeConvert() { if (FFMpegUI.getFFmpeg() == null && !quickCopy.getSelection()) { log.warn("this never happend:must filtered by canConvert"); return; } // TODO if use pure_ffmpeg use it.if can handle codec. String ffmpegPath = FFMpegUI.getFFmpeg(); if (ffmpegPath == null) { ffmpegPath = FFMpegUI.getPureFFmpeg(); } // should initialize first. fileOverwriteControler = new FileOverwriteControler(tab.getShell()); ffmpegExecuter = new FFMpegExecuter(); ffmpegExecuter.setAllowDemuxingFLV(false); // if true newer ffmpeg.exe make problem. ffmpegExecuter.setIgnoreAvisynthExtensions(new String[0]); // use any file ffmpegExecuter.setExecuteListener(new FFMpegMonitor()); MP3FFMpegPreference preference = new MP3FFMpegPreference(); ffmpegExecuter.setFfmpegPreference(preference); preference.setFfmpegPath(ffmpegPath); preference.setExtension(FFMpegOptions.EXTENSION_MP3); // support thread.//no it crash /* boolean threads = Akj_betasPlugin.getDefault().getPreferenceStore() .getBoolean(FFMpegPage.USE_THREAD); */ ffmpegExecuter.setSameDirectory(samefolder.getSelection()); ffmpegExecuter.setBackup(backup.getSelection()); if (!samefolder.getSelection()) { ffmpegExecuter.setExportDir(directoryChooser.getAbsoluteFilePath()); } // copy settings preference.setForceConvert(forceConvert.getSelection()); preference.setUseCopy(quickCopy.getSelection()); preference.setDefaultBitrate( Integer.parseInt(defaultBitrate.getItem(defaultBitrate.getSelectionIndex()))); ffmpegExecuter.setUseAvisynth(useAvisynth.getSelection()); preference.setConvertBitrate(mp3setting.getBitrate()); preference.setConvertFramerate(mp3setting.getFramerate()); preference.setConvertChannel(mp3setting.getChannel()); }