VideoStreamPlayback๏ƒ Godot Course

Inherits: Resource < RefCounted < Object

Internal class used by VideoStream to manage playback state when played from a VideoStreamPlayer.

Description๏ƒ

This class is intended to be overridden by video decoder extensions with custom implementations of VideoStream.

Methods๏ƒ

int

_get_channels() virtual const

float

_get_length() virtual const

int

_get_mix_rate() virtual const

float

_get_playback_position() virtual const

Texture2D

_get_texture() virtual const

bool

_is_paused() virtual const

bool

_is_playing() virtual const

void

_play() virtual

void

_seek(time: float) virtual

void

_set_audio_track(idx: int) virtual

void

_set_paused(paused: bool) virtual

void

_stop() virtual

void

_update(delta: float) virtual

int

mix_audio(num_frames: int, buffer: PackedFloat32Array = PackedFloat32Array(), offset: int = 0)


Method Descriptions๏ƒ

int _get_channels() virtual const ๐Ÿ”—

Returns the number of audio channels.


float _get_length() virtual const ๐Ÿ”—

Returns the video duration in seconds, if known, or 0 if unknown.


int _get_mix_rate() virtual const ๐Ÿ”—

Returns the audio sample rate used for mixing.


float _get_playback_position() virtual const ๐Ÿ”—

Return the current playback timestamp. Called in response to the VideoStreamPlayer.stream_position getter.


Texture2D _get_texture() virtual const ๐Ÿ”—

Allocates a Texture2D in which decoded video frames will be drawn.


bool _is_paused() virtual const ๐Ÿ”—

Returns the paused status, as set by _set_paused().


bool _is_playing() virtual const ๐Ÿ”—

Returns the playback state, as determined by calls to _play() and _stop().


void _play() virtual ๐Ÿ”—

Called in response to VideoStreamPlayer.autoplay or VideoStreamPlayer.play(). Note that manual playback may also invoke _stop() multiple times before this method is called. _is_playing() should return true once playing.


void _seek(time: float) virtual ๐Ÿ”—

Seeks to time seconds. Called in response to the VideoStreamPlayer.stream_position setter.


void _set_audio_track(idx: int) virtual ๐Ÿ”—

Select the audio track idx. Called when playback starts, and in response to the VideoStreamPlayer.audio_track setter.


void _set_paused(paused: bool) virtual ๐Ÿ”—

Set the paused status of video playback. _is_paused() must return paused. Called in response to the VideoStreamPlayer.paused setter.


void _stop() virtual ๐Ÿ”—

Stops playback. May be called multiple times before _play(), or in response to VideoStreamPlayer.stop(). _is_playing() should return false once stopped.


void _update(delta: float) virtual ๐Ÿ”—

Ticks video playback for delta seconds. Called every frame as long as both _is_paused() and _is_playing() return true.


int mix_audio(num_frames: int, buffer: PackedFloat32Array = PackedFloat32Array(), offset: int = 0) ๐Ÿ”—

Render num_frames audio frames (of _get_channels() floats each) from buffer, starting from index offset in the array. Returns the number of audio frames rendered, or -1 on error.