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 FFMpegEncoderOSX extends FFMpegEncoder
{
public static class FFMpegEncoderOSXDescription extends FFMpegEncoder.FFMpegEncoderDescription
{
public Class<? extends VideoEncoder> getEncoderClass() {
return FFMpegEncoderOSX.class;
}
}
@Override
protected Process createProcess(VideoCodec sourceFormat, File srcFile, File dstFile) throws IOException
{
File file = ExternalsResourceManager.getExternalFile(ExternalsResourceManager.FFMPEG_OSX);
List<String> cmds = createCommandLine(sourceFormat, srcFile, dstFile);
cmds.add(0, file.getAbsolutePath());
Logger.getLogger(getClass()).info(Util.join(cmds));
return Runtime.getRuntime().exec(cmds.toArray(new String[cmds.size()]));
}
@Override
protected String getNullDevice()
{
return "/dev/null";
}
}