Example #1
0
        private void WriteFlvTag(FlvTagType type, int timestampMillis, int reserveBytes, FlvTagWriter tagWriter)
        {
            int tagStartOffset   = bufferOffset;
            int bodyLengthOffset = WriteFlvTagHeader(type, timestampMillis);

            int bodyStartOffset = bufferOffset;

            ReserveCapacity(reserveBytes);
            tagWriter(buffer, ref bufferOffset);

            WriteFlvTagBodyLengthAtOffset(bodyLengthOffset, bufferOffset - bodyStartOffset);
            WriteFlvTagTotalLenth(bufferOffset - tagStartOffset);
        }
Example #2
0
 public void WriteFlvVideoFrame(FlvVideoFrameFlags flags, int timestampMillis, int reserveBytes, FlvTagWriter tagWriter)
 {
     WriteFlvTag(FlvTagType.Video, timestampMillis, reserveBytes + 1, delegate
     {
         buffer[bufferOffset++] = (byte)flags;
         tagWriter(buffer, ref bufferOffset);
     });
 }