ae74e78909
We've had many issues with WebM support and specifically the libvpx library over the years, mostly due to its poor integration in Godot's buildsystem, but without anyone really interested in improving this state. With the new GDExtensions in Godot 4.0, we intend to move video decoding to first-party extensions, and this would likely be done using something like libvlc to expose more codecs. Removing the `webm` module means we can remove libsimplewebm, libvpx and opus, which we were only used for that purpose. Both libvpx and opus were fairly complex pieces of the buildsystem, so this is a nice cleanup. This also removes the compile-time dependency on `yasm`. Fixes lots of compilation or non-working WebM issues which will be linked in the PR.
89 lines
3.8 KiB
XML
89 lines
3.8 KiB
XML
<?xml version="1.0" encoding="UTF-8" ?>
|
|
<class name="VideoPlayer" inherits="Control" version="4.0">
|
|
<brief_description>
|
|
Control for playing video streams.
|
|
</brief_description>
|
|
<description>
|
|
Control node for playing video streams using [VideoStream] resources.
|
|
Supported video formats are [url=https://www.theora.org/]Ogg Theora[/url] ([code].ogv[/code], [VideoStreamTheora]) and any format exposed via a GDNative plugin using [VideoStreamGDNative].
|
|
[b]Note:[/b] Due to a bug, VideoPlayer does not support localization remapping yet.
|
|
[b]Warning:[/b] On HTML5, video playback [i]will[/i] perform poorly due to missing architecture-specific assembly optimizations.
|
|
</description>
|
|
<tutorials>
|
|
</tutorials>
|
|
<methods>
|
|
<method name="get_stream_name" qualifiers="const">
|
|
<return type="String" />
|
|
<description>
|
|
Returns the video stream's name, or [code]"<No Stream>"[/code] if no video stream is assigned.
|
|
</description>
|
|
</method>
|
|
<method name="get_video_texture" qualifiers="const">
|
|
<return type="Texture2D" />
|
|
<description>
|
|
Returns the current frame as a [Texture2D].
|
|
</description>
|
|
</method>
|
|
<method name="is_playing" qualifiers="const">
|
|
<return type="bool" />
|
|
<description>
|
|
Returns [code]true[/code] if the video is playing.
|
|
[b]Note:[/b] The video is still considered playing if paused during playback.
|
|
</description>
|
|
</method>
|
|
<method name="play">
|
|
<return type="void" />
|
|
<description>
|
|
Starts the video playback from the beginning. If the video is paused, this will not unpause the video.
|
|
</description>
|
|
</method>
|
|
<method name="stop">
|
|
<return type="void" />
|
|
<description>
|
|
Stops the video playback and sets the stream position to 0.
|
|
[b]Note:[/b] Although the stream position will be set to 0, the first frame of the video stream won't become the current frame.
|
|
</description>
|
|
</method>
|
|
</methods>
|
|
<members>
|
|
<member name="audio_track" type="int" setter="set_audio_track" getter="get_audio_track" default="0">
|
|
The embedded audio track to play.
|
|
</member>
|
|
<member name="autoplay" type="bool" setter="set_autoplay" getter="has_autoplay" default="false">
|
|
If [code]true[/code], playback starts when the scene loads.
|
|
</member>
|
|
<member name="buffering_msec" type="int" setter="set_buffering_msec" getter="get_buffering_msec" default="500">
|
|
Amount of time in milliseconds to store in buffer while playing.
|
|
</member>
|
|
<member name="bus" type="StringName" setter="set_bus" getter="get_bus" default="&"Master"">
|
|
Audio bus to use for sound playback.
|
|
</member>
|
|
<member name="expand" type="bool" setter="set_expand" getter="has_expand" default="true">
|
|
If [code]true[/code], the video scales to the control size. Otherwise, the control minimum size will be automatically adjusted to match the video stream's dimensions.
|
|
</member>
|
|
<member name="paused" type="bool" setter="set_paused" getter="is_paused" default="false">
|
|
If [code]true[/code], the video is paused.
|
|
</member>
|
|
<member name="stream" type="VideoStream" setter="set_stream" getter="get_stream">
|
|
The assigned video stream. See description for supported formats.
|
|
</member>
|
|
<member name="stream_position" type="float" setter="set_stream_position" getter="get_stream_position">
|
|
The current position of the stream, in seconds.
|
|
[b]Note:[/b] Changing this value won't have any effect as seeking is not implemented yet, except in video formats implemented by a GDNative add-on.
|
|
</member>
|
|
<member name="volume" type="float" setter="set_volume" getter="get_volume">
|
|
Audio volume as a linear value.
|
|
</member>
|
|
<member name="volume_db" type="float" setter="set_volume_db" getter="get_volume_db" default="0.0">
|
|
Audio volume in dB.
|
|
</member>
|
|
</members>
|
|
<signals>
|
|
<signal name="finished">
|
|
<description>
|
|
Emitted when playback is finished.
|
|
</description>
|
|
</signal>
|
|
</signals>
|
|
</class>
|