VideoStreamPlayback ​
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
_get_channels() virtual const | |
_get_length() virtual const | |
_get_mix_rate() virtual const | |
_get_playback_position() virtual const | |
_get_texture() virtual const | |
_is_paused() virtual const | |
_is_playing() virtual const | |
void | _play() virtual |
void | |
void | _set_audio_track(idx: int) virtual |
void | _set_paused(paused: bool) virtual |
void | _stop() virtual |
void | |
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 _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.