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);
 }
Esempio n. 5
0
 public H264Parser(Func <DateTime> frameTimestampProvider)
 {
     _frameTimestampProvider = frameTimestampProvider ?? throw new ArgumentNullException(nameof(frameTimestampProvider));
     _frameBuffer            = new ElasticBuffer(8 * 1024, 8 * 1024 * 1024);
 }
Esempio n. 6
0
 public H264Parser()
 {
     _frameBuffer = new ElasticBuffer(8 * 1024, 8 * 1024 * 1024);
 }