跳到主要內容

OffscreenSharedTexture 物件

  • textureInfo 物件 - 共用紋理資訊。
    • widgetType 字串 - 紋理的 widget 類型。可以是 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 Buffer Windows macOS - 共用紋理的控制代碼。
    • planes 物件[] Linux - 共用紋理的每個平面資訊。
      • stride 數字 - 以位元組為單位的步幅和偏移量,用於透過記憶體映射存取緩衝區。每個平面每個條目一個。
      • offset 數字 - 以位元組為單位的步幅和偏移量,用於透過記憶體映射存取緩衝區。每個平面每個條目一個。
      • size 數字 - 平面的大小,單位為位元組。這是映射緩衝區所必需的。
      • fd 數字 - 底層記憶體物件(通常是 dmabuf)的檔案描述符。
    • modifier 字串 Linux - 修飾符是從 GBM 庫檢索並傳遞到 EGL 驅動程式。
  • release 函數 - 釋放資源。texture 無法直接傳遞到另一個程序,使用者需要在主要程序中維護紋理生命週期,但將 textureInfo 傳遞到另一個程序是安全的。同時只能存在有限數量的紋理,因此在您完成紋理後立即呼叫 texture.release() 非常重要。