跳转到主要内容

OffscreenSharedTexture 对象

  • textureInfo 对象 - 共享的纹理信息。
    • widgetType 字符串 - 纹理的小部件类型。可以是 popupframe
    • pixelFormat 字符串 - 纹理的像素格式。可以是 rgbabgra
    • 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 缓冲区 Windows macOS - 共享纹理的句柄。
    • planes 对象[] Linux - 共享纹理的每个平面的信息。
      • stride 数字 - 通过内存映射访问缓冲区时要使用的字节步幅和偏移量。每个平面每项一项。
      • offset 数字 - 通过内存映射访问缓冲区时要使用的字节步幅和偏移量。每个平面每项一项。
      • size 数字 - 平面的字节大小。映射缓冲区需要此项。
      • fd 数字 - 底层内存对象(通常是 dmabuf)的文件描述符。
    • modifier 字符串 Linux - 转换器从 GBM 库检索并传递给 EGL 驱动程序。
  • release 函数 - 释放资源。texture 不能直接传递到另一个进程,用户需要在主进程中维护纹理的生命周期,但将 textureInfo 传递到另一个进程是安全的。同一时间只能存在有限数量的纹理,因此,一旦您不再使用该纹理,务必调用 texture.release()