001package net.bramp.ffmpeg.builder; 002 003import com.google.common.collect.ImmutableList; 004import net.bramp.ffmpeg.probe.FFmpegProbeResult; 005 006public class FFmpegFileInputBuilder extends AbstractFFmpegInputBuilder<FFmpegFileInputBuilder> { 007 public FFmpegFileInputBuilder(FFmpegBuilder parent, String filename) { 008 super(parent, filename); 009 } 010 011 public FFmpegFileInputBuilder(FFmpegBuilder parent, String filename, FFmpegProbeResult result) { 012 super(parent, result, filename); 013 } 014 015 @Override 016 protected void addSourceTarget(int pass, ImmutableList.Builder<String> args) { 017 if (filename != null && uri != null) { 018 throw new IllegalStateException("Only one of filename and uri can be set"); 019 } 020 021 // Input 022 if (filename != null) { 023 args.add("-i", filename); 024 } else if (uri != null) { 025 args.add("-i", uri.toString()); 026 } else { 027 assert false; 028 } 029 } 030}