跳至主要內容

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