跳转到主要内容

OffscreenSharedTexture 对象

  • textureInfo 对象 - 共享纹理信息。
    • widgetType 字符串 - 纹理的窗口小部件类型。可以是 popupframe
    • pixelFormat 字符串 - 纹理的像素格式。
      • rgba - 纹理格式为 8 位无符号归一化 RGBA。
      • bgra - 纹理格式为 8 位无符号归一化 BGRA。
      • rgbaf16 - 纹理格式为 16 位浮点 RGBA。
    • codedSize Size - 视频帧的完整尺寸。
    • colorSpace ColorSpace - 视频帧的色彩空间。
    • 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 数字 (可选) - 捕获帧的递增计数。如果连续接收的帧之间有帧丢失,则可能包含间隙。
    • handle SharedTextureHandle - 共享纹理句柄数据。
  • release 函数 - 释放资源。texture 不能直接传递到另一个进程,用户需要在主进程中维护纹理生命周期,但将 textureInfo 传递到另一个进程是安全的。由于同时存在的纹理数量有限,因此在完成纹理操作后尽快调用 texture.release() 非常重要。