use of org.fagu.fmv.ffmpeg.operation.MediaInput in project fmv by f-agu.
the class FilterComplexBase method countVariousInput.
/**
* @return
*/
public int countVariousInput() {
Set<MediaInput> inputs = new HashSet<MediaInput>();
int countSrcGen = 0;
for (MediaInput input : getInputs()) {
inputs.add(input);
if (input instanceof GeneratedSource) {
++countSrcGen;
}
}
return inputs.size() - (countSrcGen >= 1 ? 1 : 0);
}
use of org.fagu.fmv.ffmpeg.operation.MediaInput in project fmv by f-agu.
the class MockFFMPEGExecutorBuilder method mock.
/**
* @param movieMetadatasSupplier
* @param commandExecute
*/
public static void mock(Supplier<Function<String, MovieMetadatas>> movieMetadatasSupplier, final Consumer<String> commandExecute) {
FFMPEGExecutorBuilder.setFactory(() -> {
final FFExecutorFactory ffExecutorFactory = new FFExecutorFactory() {
@Override
public <R> FFExecutor<R> create(Operation<R, ?> operation, FFMPEGExecutorBuilder ffmpegExecutorBuilder) {
return new FFExecutor<R>(operation) {
/**
* @see org.fagu.fmv.ffmpeg.executor.FFExecutor#execute()
*/
@Override
public Executed<R> execute() throws IOException {
commandExecute.accept(getCommandLine());
return null;
}
};
}
};
Require require = new Require(false);
DefaultFFMPEGOperation<?> defaultFFMPEGOperation = new DefaultFFMPEGOperation<Object>(new FilterNaming(), require);
defaultFFMPEGOperation.getInputParameters().setInputProcessorFactory(new InputProcessorFactory() {
/**
* @see org.fagu.fmv.ffmpeg.operation.InputProcessorFactory#create(org.fagu.fmv.ffmpeg.operation.InputParameters,
* org.fagu.fmv.ffmpeg.operation.MediaInput, int, org.fagu.fmv.ffmpeg.require.Require)
*/
@Override
public InputProcessor create(InputParameters inputParameters, MediaInput input, int index, Require require) {
return new MyInputProcessor(movieMetadatasSupplier.get(), inputParameters, input, index, require);
}
});
return new MyFFMPEGExecutorBuilder(ffExecutorFactory, defaultFFMPEGOperation);
});
}
use of org.fagu.fmv.ffmpeg.operation.MediaInput in project fmv by f-agu.
the class FFMPEGExecutorBuilderTestCase method testInputProcessor_frameRate.
/**
*/
@Test
public void testInputProcessor_frameRate() {
MediaInput input = mockInput("/path/file");
InputProcessor inputProcessor = ffmpegExecutorBuilder.addMediaInput(input);
inputProcessor.frameRate(FrameRate.PAL);
assertArgs("-r", "25", "-i", "/path/file");
}
use of org.fagu.fmv.ffmpeg.operation.MediaInput in project fmv by f-agu.
the class FFMPEGExecutorBuilderTestCase method testInputProcessor_size.
/**
*/
@Test
public void testInputProcessor_size() {
MediaInput input = mockInput("/path/file");
InputProcessor inputProcessor = ffmpegExecutorBuilder.addMediaInput(input);
inputProcessor.size(Size.HD720);
assertArgs("-s", "hd720", "-i", "/path/file");
}
use of org.fagu.fmv.ffmpeg.operation.MediaInput in project fmv by f-agu.
the class FFMPEGExecutorBuilderTestCase method testInputProcessor_timeSeek.
/**
*/
@Test
public void testInputProcessor_timeSeek() {
MediaInput input = mockInput("/path/file");
InputProcessor inputProcessor = ffmpegExecutorBuilder.addMediaInput(input);
inputProcessor.timeSeek(new Time(1, 2, 3.4));
assertArgs("-ss", "01:02:03.400", "-i", "/path/file");
}
Aggregations