public void RunLivePipe(ref OeipVideoFrame videoFrame) { if (VideoFormat.width != videoFrame.width || VideoFormat.height != videoFrame.height || yuvfmt != videoFrame.fmt) { VideoFormat.fps = 30; VideoFormat.width = (int)videoFrame.width; VideoFormat.height = (int)videoFrame.height; yuvfmt = videoFrame.fmt; VideoFormat.videoType = OeipVideoType.OEIP_VIDEO_RGBA32; ResetPipe(); } OeipHelper.getVideoFrameData(yuvData, ref videoFrame); Pipe.UpdateInput(InputIndex, yuvData); Pipe.RunPipe(); }
public bool PushVideoFrame(int index, IntPtr data, int width, int height, OeipYUVFMT fmt) { lock (obj) { if (!bLogin) { return(false); } ref OeipVideoFrame videoFrame = ref mainVideoFrame; if (index == 1) { videoFrame = ref auxVideoFrame; } OeipHelper.setVideoFrame(data, width, height, fmt, ref videoFrame); return(OeipLiveHelper.pushVideoFrame(index, ref videoFrame)); }
public static extern void setVideoFrame(IntPtr data, int width, int height, OeipYUVFMT fmt, ref OeipVideoFrame videoFrame);
public static extern OeipVideoType getVideoType(OeipYUVFMT videoType);