private FFmpegCommand(CommandFactory owner) { if (owner == null) { throw new ArgumentNullException("owner"); } Owner = owner; Id = Guid.NewGuid().ToString(); Objects = CommandObjects.Create(this); OutputManager = CommandOutputManager.Create(this); InputManager = CommandInputManager.Create(this); FilterchainManager = CommandFiltergraphManager.Create(this); PreRenderAction = EmptyOperation; PostRenderAction = EmptyOperation; }
public void CommandFilterchainManager_Verify() { var factory = CommandFactory.Create(); var command = factory.CreateOutputCommand() .WithInput <VideoStream>(Assets.Utilities.GetVideoFile()) .WithInput <VideoStream>(Assets.Utilities.GetVideoFile()); var commandFilterchainManager = CommandFiltergraphManager.Create(command.Command); var filterchain = Filterchain.FilterTo <VideoStream>(new Fps()); var filterchain2 = Filterchain.FilterTo <VideoStream>(new Concat()); var streamIds = new List <StreamIdentifier>(); Assert.DoesNotThrow(() => streamIds = commandFilterchainManager.AddToEach(filterchain, command.StreamIdentifiers.ToArray())); Assert.True(streamIds.Count == 2); Assert.DoesNotThrow(() => streamIds = commandFilterchainManager.Add(filterchain2, streamIds.ToArray())); Assert.True(streamIds.Count == 1); }