public void AddBytes_TestSegment_HasValidStateSegmentAndCountDataPropertyShouldBeGreaterThanZero() { var testBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var testSegment = new ArraySegment <byte>(testBytes); var buffer = new ElasticBuffer(1, 16); buffer.AddBytes(testSegment); Assert.IsTrue(ArrayUtils.IsBytesEquals(testBytes, 0, testBytes.Length, buffer.StateByteSegment.Array, buffer.StateByteSegment.Offset, buffer.StateByteSegment.Count)); Assert.IsTrue(buffer.CountData > 0); }
public void GetAccumulatedBytes_TestSegment_ReturnsValidSegmentAndResetsInternalState() { var testBytes = new byte[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; var testSegment = new ArraySegment <byte>(testBytes); var buffer = new ElasticBuffer(1, 16); buffer.AddBytes(testSegment); ArraySegment <byte> resultSegment = buffer.GetAccumulatedBytes(); Assert.AreEqual(0, buffer.CountData); Assert.IsTrue(ArrayUtils.IsBytesEquals(testBytes, 0, testBytes.Length, resultSegment.Array, resultSegment.Offset, resultSegment.Count)); }
public H264VideoPayloadParser(H264CodecInfo codecInfo) { if (codecInfo == null) { throw new ArgumentNullException(nameof(codecInfo)); } if (codecInfo.SpsPpsBytes == null) { throw new ArgumentException($"{nameof(codecInfo.SpsPpsBytes)} is null", nameof(codecInfo)); } _h264Parser = new H264Parser { FrameGenerated = OnFrameGenerated }; if (codecInfo.SpsPpsBytes.Length != 0) { _h264Parser.Parse(DateTime.MinValue, new ArraySegment <byte>(codecInfo.SpsPpsBytes), false, false); } _nalBuffer = new ElasticBuffer(8 * 1024, 512 * 1024); }
public MJPEGVideoPayloadParser() { _frameBuffer = new ElasticBuffer(64 * 1024, 8 * 1024 * 1024); }
public H264Parser(Func <DateTime> frameTimestampProvider) { _frameTimestampProvider = frameTimestampProvider ?? throw new ArgumentNullException(nameof(frameTimestampProvider)); _frameBuffer = new ElasticBuffer(8 * 1024, 8 * 1024 * 1024); }
public H264Parser() { _frameBuffer = new ElasticBuffer(8 * 1024, 8 * 1024 * 1024); }