Example #1
0
 //拉流拉到数据
 private void Instance_OnVideoFrameEvent(int userId, int index, OeipVideoFrame videoFrame)
 {
     if (userId != this.userId || this.index != index)
     {
         return;
     }
     LivePipe.RunLivePipe(ref videoFrame);
 }
Example #2
0
 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();
 }
Example #3
0
 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));
     }
Example #4
0
 private void MediaPlay_OnVideoFrameEvent(OeipVideoFrame videoFrame)
 {
     mediaPipe.RunLivePipe(ref videoFrame);
 }
Example #5
0
 public static extern bool pushVideoFrame(int index, ref OeipVideoFrame videoFrame);
Example #6
0
 private void Instance_OnVideoFrameEvent(int userId, int index, OeipVideoFrame videoFrame)
 {
     this.liveControl1.LivePipe.RunLivePipe(ref videoFrame);
 }