FrameInfo

data class FrameInfo(val streamIndex: Int, val type: MediaType, val pts: Long, val timeBase: Rational, val width: Int = 0, val height: Int = 0, val pixelFormat: PixelFormat = PixelFormat.None, val sampleCount: Int = 0, val sampleRate: Int = 0, val channelCount: Int = 0, val sampleFormat: SampleFormat = SampleFormat.None, val channelLayoutMask: Long? = null, val duration: Long = 0, val isKeyframe: Boolean = false, val color: ColorInfo = ColorInfo.Unspecified, val sampleAspectRatio: Rational = Rational(1, 1), val isHardware: Boolean = false, val hdr: HdrMetadata? = null)

Immutable per-frame metadata snapshot: no native handle, safe to hold forever.

Constructors

Link copied to clipboard
constructor(streamIndex: Int, type: MediaType, pts: Long, timeBase: Rational, width: Int = 0, height: Int = 0, pixelFormat: PixelFormat = PixelFormat.None, sampleCount: Int = 0, sampleRate: Int = 0, channelCount: Int = 0, sampleFormat: SampleFormat = SampleFormat.None, channelLayoutMask: Long? = null, duration: Long = 0, isKeyframe: Boolean = false, color: ColorInfo = ColorInfo.Unspecified, sampleAspectRatio: Rational = Rational(1, 1), isHardware: Boolean = false, hdr: HdrMetadata? = null)

Types

Link copied to clipboard
object Companion

The sentinel FFmpeg uses for a missing timestamp.

Properties

Link copied to clipboard
Link copied to clipboard

Which speaker each channel of this audio frame belongs to, as FFmpeg's native order mask.

Link copied to clipboard

The colour metadata a renderer must honour. Ignoring it produces a picture that is present and wrong, which is worse than one that is absent: hues shift, or black turns grey.

Link copied to clipboard

The decoder's own duration for this frame, in timeBase units. 0 when it gave none.

Link copied to clipboard

False when the frame carries no timestamp (AV_NOPTS_VALUE). ptsSeconds is meaningless then.

Link copied to clipboard

The static HDR metadata this frame carries: from the bitstream, such as an HEVC SEI message, or from the container. Null on every SDR frame. Like color, the decoder is the authority here, and a raw HEVC or MPEG-TS stream declares it only in the bitstream.

Link copied to clipboard
val height: Int
Link copied to clipboard

True when the pixels live in GPU or hardware memory rather than in main memory.

Link copied to clipboard

True when this frame can be decoded without any earlier frame.

Link copied to clipboard
Link copied to clipboard
val pts: Long
Link copied to clipboard
Link copied to clipboard

Non-square pixel aspect, when the stream declares one. 1:1 otherwise.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val width: Int