internal EncoderSession(ArchiveWriter writer, int section, EncoderDefinition definition, EncoderInput input, EncoderStorage[] storage, EncoderConnection[] connections, EncoderNode[] encoders) { mWriter = writer; mSection = section; mDefinition = definition; mInput = input; mStorage = storage; mConnections = connections; mEncoders = encoders; input.Connect(this); }
internal EncoderNodeDefinition(EncoderDefinition definition, int index, EncoderSettings settings) { mDefinition = definition; mIndex = index; mSettings = settings; mInputSlots = new ArchiveEncoderInputSlot[settings.GetInputSlots()]; for (int i = 0; i < mInputSlots.Length; i++) { mInputSlots[i] = new ArchiveEncoderInputSlot(this, i); } mOutputSlots = new ArchiveEncoderOutputSlot[settings.GetOutputSlots()]; for (int i = 0; i < mOutputSlots.Length; i++) { mOutputSlots[i] = new ArchiveEncoderOutputSlot(this, i); } }
public EncoderSession BeginEncoding(EncoderDefinition definition, bool calculateChecksums) { if (definition == null) { throw new ArgumentNullException(nameof(definition)); } var storage = new Stream[definition.StorageCount]; for (int i = 0; i < storage.Length; i++) { storage[i] = mStreamProvider?.CreateBufferStream() ?? new MemoryStream(); } var session = definition.CreateEncoderSession(this, mDecoderSections.Count, storage, calculateChecksums); mDecoderSections.Add(null); mEncoderSessions.Add(session); return(session); }
/// <summary> /// Allows to copy partial sections from an existing archive, reencoding selected entries on the fly. /// </summary> public Task TranscodeSectionAsync(Stream stream, ArchiveMetadata metadata, int section, Func<int, Task<bool>> selector, EncoderDefinition definition) { throw new NotImplementedException(); }
public EncoderSession BeginEncoding(EncoderDefinition definition, bool calculateChecksums) { if (definition == null) throw new ArgumentNullException(nameof(definition)); var storage = new Stream[definition.StorageCount]; for (int i = 0; i < storage.Length; i++) storage[i] = mStreamProvider?.CreateBufferStream() ?? new MemoryStream(); var session = definition.CreateEncoderSession(this, mDecoderSections.Count, storage, calculateChecksums); mDecoderSections.Add(null); mEncoderSessions.Add(session); return session; }
internal ArchiveEncoderOutputSlot(EncoderNodeDefinition node, int index) { mDefinition = node.Definition; mNode = node; mIndex = index; }
internal ArchiveEncoderOutputSlot(EncoderDefinition definition) { mDefinition = definition; }
internal ArchiveEncoderInputSlot(EncoderDefinition definition, int index) { mDefinition = definition; mIndex = index; }
internal EncoderNodeDefinition(EncoderDefinition definition, int index, EncoderSettings settings) { mDefinition = definition; mIndex = index; mSettings = settings; mInputSlots = new ArchiveEncoderInputSlot[settings.GetInputSlots()]; for (int i = 0; i < mInputSlots.Length; i++) mInputSlots[i] = new ArchiveEncoderInputSlot(this, i); mOutputSlots = new ArchiveEncoderOutputSlot[settings.GetOutputSlots()]; for (int i = 0; i < mOutputSlots.Length; i++) mOutputSlots[i] = new ArchiveEncoderOutputSlot(this, i); }
// This method is currently not implemented so we don't include it in the nuget release build. /// <summary> /// Allows to copy partial sections from an existing archive, reencoding selected entries on the fly. /// </summary> public Task TranscodeSectionAsync(Stream stream, ArchiveMetadata metadata, int section, Func <int, Task <bool> > selector, EncoderDefinition definition) { throw new NotImplementedException(); }