public override void WriteNextVideoFrame(byte[] frameBytes, int size = -1) { // the 'movi' element is getting too big (1Gb+). // close it and start new RIFF AVIX element if (writer.currentElementSize > maxRiffElementSize) { StartNewRiff(); } if (size < 0) { size = frameBytes.Length; } var entry = new AviStreamIndex.Entry(); entry.chunkOffset = writer.binaryWriter.Seek(0, SeekOrigin.Current) + 8; entry.chunkLength = size; videoIndex.entries.Add(entry); writer.WriteChunk(AviDemux.ID_00dc, frameBytes, size); totalFrames++; if (!usingMultipleRiffs) { totalFramesOld++; } }