public void DidCaptureSampleBuffer(CMSampleBuffer sampleBuffer)
        {
            if (sampleBuffer.NumSamples != 1 || !sampleBuffer.IsValid || !sampleBuffer.DataIsReady)
            {
                return;
            }

            var pixelBuffer = sampleBuffer.GetImageBuffer() as CVPixelBuffer;

            if (pixelBuffer == null)
            {
                return;
            }

            var rtcPixelBuffer = new RTCCVPixelBuffer(pixelBuffer);
            var timeSpanNS     = (long)(sampleBuffer.PresentationTimeStamp.Seconds * 1000);
            var videoFrame     = new RTCVideoFrame(rtcPixelBuffer, RTCVideoRotation.Rotation0, timeSpanNS);

            Delegate?.Capturer(this, videoFrame);
        }