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}