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); }
public IDecodedVideoFrame Decode(RawVideoFrame frame) { VideoDecoder decoder = GetDecoderForFrame(frame); return(decoder?.TryDecode(frame)); }