public bool EncodeData(byte[] frame, DateTime dt) { try { dateTimeQueue.Enqueue(dt); IFrameCount++; if (IFrameCount > KeyframeInterval) { forceKeyFrame = true; IFrameCount = 0; } unsafe { fixed(byte *start = frame) { var data = new byte_ptrArray8 { [0] = start }; EncodeFrame(data, FrameNum++, forceKeyFrame); } } forceKeyFrame = false; return(true); } catch { if (!IsDisposed) { throw; } return(false); } }
public static extern void EncodeFrame(byte_ptrArray8 data, float timeStamp, bool forceKeyFrame);