mirror of https://github.com/electron/electron
25 lines
2.4 KiB
Markdown
25 lines
2.4 KiB
Markdown
# OffscreenSharedTexture Object
|
|
|
|
* `textureInfo` Object - The shared texture info.
|
|
* `widgetType` string - The widget type of the texture. Can be `popup` or `frame`.
|
|
* `pixelFormat` string - The pixel format of the texture. Can be `rgba` or `bgra`.
|
|
* `codedSize` [Size](size.md) - The full dimensions of the video frame.
|
|
* `visibleRect` [Rectangle](rectangle.md) - A subsection of [0, 0, codedSize.width(), codedSize.height()]. In OSR case, it is expected to have the full section area.
|
|
* `contentRect` [Rectangle](rectangle.md) - The region of the video frame that capturer would like to populate. In OSR case, it is the same with `dirtyRect` that needs to be painted.
|
|
* `timestamp` number - The time in microseconds since the capture start.
|
|
* `metadata` Object - Extra metadata. See comments in src\media\base\video_frame_metadata.h for accurate details.
|
|
* `captureUpdateRect` [Rectangle](rectangle.md) (optional) - Updated area of frame, can be considered as the `dirty` area.
|
|
* `regionCaptureRect` [Rectangle](rectangle.md) (optional) - May reflect the frame's contents origin if region capture is used internally.
|
|
* `sourceSize` [Rectangle](rectangle.md) (optional) - Full size of the source frame.
|
|
* `frameCount` number (optional) - The increasing count of captured frame. May contain gaps if frames are dropped between two consecutively received frames.
|
|
* `sharedTextureHandle` Buffer _Windows_ _macOS_ - The handle to the shared texture.
|
|
* `planes` Object[] _Linux_ - Each plane's info of the shared texture.
|
|
* `stride` number - The strides and offsets in bytes to be used when accessing the buffers via a memory mapping. One per plane per entry.
|
|
* `offset` number - The strides and offsets in bytes to be used when accessing the buffers via a memory mapping. One per plane per entry.
|
|
* `size` number - Size in bytes of the plane. This is necessary to map the buffers.
|
|
* `fd` number - File descriptor for the underlying memory object (usually dmabuf).
|
|
* `modifier` string _Linux_ - The modifier is retrieved from GBM library and passed to EGL driver.
|
|
* `release` Function - Release the resources. The `texture` cannot be directly passed to another process, users need to maintain texture lifecycles in
|
|
main process, but it is safe to pass the `textureInfo` to another process. Only a limited number of textures can exist at the same time, so it's important
|
|
that you call `texture.release()` as soon as you're done with the texture.
|