OffscreenSharedTexture 对象
textureInfo
对象 - 共享纹理信息。
widgetType
字符串 - 纹理的窗口小部件类型。可以是 popup
或 frame
。
pixelFormat
字符串 - 纹理的像素格式。可以是 rgba
或 bgra
。
codedSize
Size - 视频帧的完整尺寸。
visibleRect
Rectangle - [0, 0, codedSize.width(), codedSize.height()] 的子区域。在 OSR 情况下,预计具有完整的区域面积。
contentRect
Rectangle - 捕获器希望填充的视频帧区域。在 OSR 情况下,它与需要绘制的 dirtyRect
相同。
timestamp
数字 - 自捕获开始以来的微秒时间。
metadata
对象 - 额外的元数据。有关准确的详细信息,请参阅 src\media\base\video_frame_metadata.h 中的注释。
captureUpdateRect
Rectangle (可选) - 帧的更新区域,可以视为 dirty
区域。
regionCaptureRect
Rectangle (可选) - 如果在内部使用区域捕获,则可能反映帧的内容原点。
sourceSize
Rectangle (可选) - 源帧的完整尺寸。
frameCount
数字 (可选) - 捕获帧的递增计数。如果两个连续接收的帧之间丢帧,则可能包含间隙。
sharedTextureHandle
Buffer Windows macOS - 共享纹理的句柄。
planes
对象数组 Linux - 共享纹理的每个平面信息。
stride
数字 - 通过内存映射访问缓冲区时要使用的步幅和偏移量(以字节为单位)。每个平面每个条目一个。
offset
数字 - 通过内存映射访问缓冲区时要使用的步幅和偏移量(以字节为单位)。每个平面每个条目一个。
size
数字 - 平面的大小(以字节为单位)。这对于映射缓冲区是必要的。
fd
数字 - 底层内存对象(通常是 dmabuf)的文件描述符。
modifier
字符串 Linux - 修饰符从 GBM 库检索并传递到 EGL 驱动程序。
release
函数 - 释放资源。texture
不能直接传递到另一个进程,用户需要在主进程中维护纹理生命周期,但将 textureInfo
传递到另一个进程是安全的。同时只能存在有限数量的纹理,因此在完成纹理后立即调用 texture.release()
非常重要。