package org.korsakow.services.encoders.video.ffmpeg.plaf;
import java.io.File;
import java.io.IOException;
import java.util.List;
import org.apache.log4j.Logger;
import org.korsakow.ide.util.ExternalsResourceManager;
import org.korsakow.ide.util.Util;
import org.korsakow.services.encoders.video.VideoCodec;
import org.korsakow.services.encoders.video.VideoEncoder;
import org.korsakow.services.encoders.video.ffmpeg.FFMpegEncoder;
public class FFMpegEncoderWin32 extends FFMpegEncoder
{
public static class FFMpegEncoderWin32Description extends FFMpegEncoder.FFMpegEncoderDescription
{
public Class<? extends VideoEncoder> getEncoderClass() {
return FFMpegEncoderWin32.class;
}
}
@Override
protected Process createProcess(VideoCodec sourceFormat, File srcFile, File dstFile) throws IOException
{
ExternalsResourceManager.getExternalFile(ExternalsResourceManager.FFMPEG_WIN);
List<String> cmds = createCommandLine(sourceFormat, srcFile, dstFile);
cmds.add(0, ExternalsResourceManager.getExternalFile(ExternalsResourceManager.FFMPEG_WIN).getAbsolutePath());
Logger.getLogger(getClass()).info(Util.join(cmds));
return Runtime.getRuntime().exec(cmds.toArray(new String[cmds.size()]));
}
@Override
protected String getNullDevice()
{
return "NUL";
}
}