Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 /// <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();
 }
Exemplo n.º 5
0
        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;
        }
Exemplo n.º 6
0
 internal ArchiveEncoderOutputSlot(EncoderNodeDefinition node, int index)
 {
     mDefinition = node.Definition;
     mNode       = node;
     mIndex      = index;
 }
Exemplo n.º 7
0
 internal ArchiveEncoderOutputSlot(EncoderDefinition definition)
 {
     mDefinition = definition;
 }
Exemplo n.º 8
0
 internal ArchiveEncoderInputSlot(EncoderDefinition definition, int index)
 {
     mDefinition = definition;
     mIndex      = index;
 }
Exemplo n.º 9
0
        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);
        }
Exemplo n.º 10
0
 internal ArchiveEncoderOutputSlot(EncoderNodeDefinition node, int index)
 {
     mDefinition = node.Definition;
     mNode = node;
     mIndex = index;
 }
Exemplo n.º 11
0
 internal ArchiveEncoderOutputSlot(EncoderDefinition definition)
 {
     mDefinition = definition;
 }
Exemplo n.º 12
0
 internal ArchiveEncoderInputSlot(EncoderDefinition definition, int index)
 {
     mDefinition = definition;
     mIndex = index;
 }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        // 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();
        }