美摄SDK For iOS  3.14.0
构造函数 | 所有成员列表
<NvsVideoFrameReceiverDelegate>协议 参考

#import <NvsVideoFrameReceiver.h>

类 <NvsVideoFrameReceiverDelegate> 继承关系图:

构造函数

(BOOL) - didVideoFrameReceived:videoFrameTextureId:videoSize:timelinePos:
 通知接收者一个视频帧已经渲染完成 如果接收者想要获取该视频帧的使用权则需要返回YES,否则并不获取视频帧的使用权。获取使用权后则 可以使用该视频帧的OpenGL ES纹理ID在自己的EAGLContext之中进行绘制,当然前提是该 EAGLContext必须与美摄引擎的EAGLContext处于同一个EAGLSharegroup中。接收者在确保不再使用 这个纹理之后一定要调用reclaimVideoFrame让美摄SDK回收这个纹理,否则会出现泄漏!另外,如果 在接收者已经使用了该纹理进行了绘制,那么调用reclaimVideoFrame之前请调用glFlush()来确保 对纹理使用的同步。 注意:这个回调函数是在引擎的某个线程调用的,并非主线程! 更多...
 
(void) - didVideoFrameReceived:pixelBuffer:videoSize:timelinePos:
 通知接收者一个视频帧已经渲染完成 更多...
 

函数文档

◆ didVideoFrameReceived:pixelBuffer:videoSize:timelinePos:

- (void) didVideoFrameReceived: (NvsVideoFrameReceiver *)  receiver
pixelBuffer: (CVPixelBufferRef)  pixelBuffer
videoSize: (CGSize)  videoSize
timelinePos: (int64_t)  timelinePos 
optional

通知接收者一个视频帧已经渲染完成

注意:这个回调函数是在引擎的某个线程调用的,并非主线程!

参数
receiver该回调接口对应的NvsVideoFrameReceiver对象
pixelBuffer视频帧的CVPixelBuffer对象
videoSize视频帧的尺寸,单位为像素
timelinePos视频帧的时间戳,单位为微秒

◆ didVideoFrameReceived:videoFrameTextureId:videoSize:timelinePos:

- (BOOL) didVideoFrameReceived: (NvsVideoFrameReceiver *)  receiver
videoFrameTextureId: (unsigned int)  videoFrameTextureId
videoSize: (CGSize)  videoSize
timelinePos: (int64_t)  timelinePos 
optional

通知接收者一个视频帧已经渲染完成 如果接收者想要获取该视频帧的使用权则需要返回YES,否则并不获取视频帧的使用权。获取使用权后则 可以使用该视频帧的OpenGL ES纹理ID在自己的EAGLContext之中进行绘制,当然前提是该 EAGLContext必须与美摄引擎的EAGLContext处于同一个EAGLSharegroup中。接收者在确保不再使用 这个纹理之后一定要调用reclaimVideoFrame让美摄SDK回收这个纹理,否则会出现泄漏!另外,如果 在接收者已经使用了该纹理进行了绘制,那么调用reclaimVideoFrame之前请调用glFlush()来确保 对纹理使用的同步。 注意:这个回调函数是在引擎的某个线程调用的,并非主线程!

参数
receiver该回调接口对应的NvsVideoFrameReceiver对象
videoFrameTextureId视频帧的OpenGL ES纹理ID
videoSize视频帧的尺寸,单位为像素
timelinePos视频帧的时间戳,单位为微秒
返回
返回BOOL值,为YES表示接收者获取了该视频帧的使用权,如果为NO表示接收者未获取该视频帧的使用权

该协议的文档由以下文件生成: