OffscreenSharedTexture Object
textureInfoObject - The shared texture info.widgetTypestring - The widget type of the texture. Can bepopuporframe.pixelFormatstring - The pixel format of the texture. Can bergbaorbgra.codedSizeSize - The full dimensions of the video frame.visibleRectRectangle - A subsection of [0, 0, codedSize.width(), codedSize.height()]. In OSR case, it is expected to have the full section area.contentRectRectangle - The region of the video frame that capturer would like to populate. In OSR case, it is the same withdirtyRectthat needs to be painted.timestampnumber - The time in microseconds since the capture start.metadataObject - Extra metadata. See comments in src\media\base\video_frame_metadata.h for accurate details.captureUpdateRectRectangle (optional) - Updated area of frame, can be considered as thedirtyarea.regionCaptureRectRectangle (optional) - May reflect the frame's contents origin if region capture is used internally.sourceSizeRectangle (optional) - Full size of the source frame.frameCountnumber (optional) - The increasing count of captured frame. May contain gaps if frames are dropped between two consecutively received frames.
sharedTextureHandleBuffer Windows macOS - The handle to the shared texture.planesObject[] Linux - Each plane's info of the shared texture.stridenumber - The strides and offsets in bytes to be used when accessing the buffers via a memory mapping. One per plane per entry.offsetnumber - The strides and offsets in bytes to be used when accessing the buffers via a memory mapping. One per plane per entry.sizenumber - Size in bytes of the plane. This is necessary to map the buffers.fdnumber - File descriptor for the underlying memory object (usually dmabuf).
modifierstring Linux - The modifier is retrieved from GBM library and passed to EGL driver.
releaseFunction - Release the resources. Thetexturecannot be directly passed to another process, users need to maintain texture lifecycles in main process, but it is safe to pass thetextureInfoto another process. Only a limited number of textures can exist at the same time, so it's important that you calltexture.release()as soon as you're done with the texture.