Up to date
This page is up to date for Godot 4.1
. If you still find outdated information, please open an issue.
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 ( int idx ) virtual |
void | _set_paused ( bool paused ) virtual |
void | _stop ( ) virtual |
void | |
mix_audio ( int num_frames, PackedFloat32Array buffer=PackedFloat32Array(), int offset=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 ( float time ) virtual
Seeks to time
seconds. Called in response to the VideoStreamPlayer.stream_position setter.
void _set_audio_track ( int idx ) virtual
Select the audio track idx
. Called when playback starts, and in response to the VideoStreamPlayer.audio_track setter.
void _set_paused ( bool paused ) 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 ( float delta ) virtual
Ticks video playback for delta
seconds. Called every frame as long as _is_paused and _is_playing return true.
int mix_audio ( int num_frames, PackedFloat32Array buffer=PackedFloat32Array(), int offset=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.