VideoInterop.Frame (video_interop v0.1.0)

Copy Markdown View Source

One storage-neutral video frame.

Binary storage owns its immutable BEAM binary and has no lease. Borrowed or reusable storage such as DMA-BUF carries a producer lifetime lease. Timestamps belong to the transport using the frame.

Summary

Functions

Builds a validated, tightly packed or explicitly strided binary frame.

Types

acquire_sync()

@type acquire_sync() :: :implicit | VideoInterop.SyncFile.t()

storage()

t()

@type t() :: %VideoInterop.Frame{
  acquire_sync: acquire_sync(),
  coded_height: pos_integer(),
  coded_width: pos_integer(),
  format: VideoInterop.Format.t() | nil,
  lease: VideoInterop.Lease.t() | nil,
  storage: storage(),
  visible_rect: VideoInterop.Rect.t()
}

Functions

binary(data, opts)

@spec binary(
  binary(),
  keyword()
) :: t()

Builds a validated, tightly packed or explicitly strided binary frame.