Example #1
0
        private VideoDecoder GetDecoderForFrame(RawVideoFrame videoFrame)
        {
            VideoCodecId codecId = DetectCodecId(videoFrame);

            if (!videoDecodersMap.TryGetValue(codecId, out VideoDecoder decoder))
            {
                decoder = VideoDecoder.CreateDecoder(codecId);
                videoDecodersMap.Add(codecId, decoder);
            }

            return(decoder);
        }
Example #2
0
        public IDecodedVideoFrame Decode(RawVideoFrame frame)
        {
            VideoDecoder decoder = GetDecoderForFrame(frame);

            return(decoder?.TryDecode(frame));
        }