Пример #1
0
        public override void Destroy()
        {
            if (_Encoder != null)
            {
                _Encoder.Destroy();
                _Encoder = null;
            }

            if (_Decoder != null)
            {
                _Decoder.Destroy();
                _Decoder = null;
            }
        }
Пример #2
0
        public override VideoBuffer Decode(byte[] encodedFrame)
        {
            if (_Decoder == null)
            {
                _Decoder = new Win8_VP8.Decoder();
            }

            if (_Padep.SequenceNumberingViolated)
            {
                _Decoder.NeedsKeyFrame = true;
                return(null);
            }

            // vp8 -> bitmap
            var bitmap = _Decoder.Decode(encodedFrame);

            // bitmap -> buffer
            if (bitmap == null)
            {
                return(null);
            }
            return(new VideoBuffer(bitmap.Width, bitmap.Height, new VideoPlane(bitmap.Buffer)));
        }
Пример #3
0
        public override VideoBuffer Decode(byte[] encodedFrame)
        {
            if (_Decoder == null)
            {
                _Decoder = new Win8_VP8.Decoder();
            }

            if (_Padep.SequenceNumberingViolated)
            {
                _Decoder.NeedsKeyFrame = true;
                return null;
            }

            // vp8 -> bitmap
            var bitmap = _Decoder.Decode(encodedFrame);

            // bitmap -> buffer
            if (bitmap == null)
            {
                return null;
            }
            return new VideoBuffer(bitmap.Width, bitmap.Height, new VideoPlane(bitmap.Buffer));
        }
Пример #4
0
        public override void Destroy()
        {
            if (_Encoder != null)
            {
                _Encoder.Destroy();
                _Encoder = null;
            }

            if (_Decoder != null)
            {
                _Decoder.Destroy();
                _Decoder = null;
            }
        }