Commit e10df811 authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

Update documentation

parent 4513eb22
......@@ -532,6 +532,9 @@ buffers that the appsrc element will push to its source pad. Any
previous caps that were set on appsrc will be replaced by the caps
associated with the sample if not equal.
This function does not take ownership of the
sample so the sample needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free
space becomes available in the queue.
## `sample`
......
......@@ -278,7 +278,7 @@ Feature: `v1_14`
<!-- impl AudioStreamAlign::fn new -->
Allocate a new `AudioStreamAlign` with the given configuration. All
processing happens according to sample rate `rate`, until
`gst_audio_discont_wait_set_rate` is called with a new `rate`.
`AudioStreamAlign::set_rate` is called with a new `rate`.
A negative rate can be used for reverse playback.
`alignment_threshold` gives the tolerance in nanoseconds after which a
......@@ -315,6 +315,33 @@ or `AudioStreamAlign::copy`.
Feature: `v1_14`
<!-- impl AudioStreamAlign::fn get_alignment_threshold -->
Gets the currently configured alignment threshold.
Feature: `v1_14`
# Returns
The currently configured alignment threshold
<!-- impl AudioStreamAlign::fn get_discont_wait -->
Gets the currently configured discont wait.
Feature: `v1_14`
# Returns
The currently configured discont wait
<!-- impl AudioStreamAlign::fn get_rate -->
Gets the currently configured sample rate.
Feature: `v1_14`
# Returns
The currently configured sample rate
<!-- impl AudioStreamAlign::fn get_samples_since_discont -->
Returns the number of samples that were processed since the last
discontinuity was detected.
......@@ -376,6 +403,28 @@ output sample position of the start of the data
# Returns
`true` if a discontinuity was detected, `false` otherwise.
<!-- impl AudioStreamAlign::fn set_alignment_threshold -->
Sets `alignment_treshold` as new alignment threshold for the following processing.
Feature: `v1_14`
## `alignment_threshold`
a new alignment threshold
<!-- impl AudioStreamAlign::fn set_discont_wait -->
Sets `alignment_treshold` as new discont wait for the following processing.
Feature: `v1_14`
## `discont_wait`
a new discont wait
<!-- impl AudioStreamAlign::fn set_rate -->
Sets `rate` as new sample rate for the following processing. If the sample
rate differs this implicitely marks the next data as discontinuous.
Feature: `v1_14`
## `rate`
a new sample rate
<!-- struct StreamVolume -->
This interface is implemented by elements that provide a stream volume. Examples for
such elements are `volume` and `playbin`.
......
This diff is collapsed.
......@@ -876,7 +876,7 @@ a `guint` describing how many seconds to wait for `waits` to be true
# Returns
a `gboolean` `true` if the waits have been registered, `false` if not.
(Could be that it timed out waiting or that more waits then waits was found)
(Could be that it timed out waiting or that more waits than waits was found)
<!-- impl Harness::fn new -->
Creates a new harness. Works like `Harness::new_with_padnames`, except it
assumes the `gst::Element` sinkpad is named "sink" and srcpad is named "src"
......@@ -1266,6 +1266,27 @@ which is earlier or equal to the time of the clock as given by
MT safe.
## `new_time`
a `gst::ClockTime` later than that returned by `gst::ClockExt::get_time`
<!-- impl TestClock::fn timed_wait_for_multiple_pending_ids -->
Blocks until at least `count` clock notifications have been requested from
`self`, or the timeout expires.
MT safe.
Feature: `v1_16`
## `count`
the number of pending clock notifications to wait for
## `timeout_ms`
the timeout in milliseconds
## `pending_list`
Address
of a `glib::List` pointer variable to store the list of pending `GstClockIDs`
that expired, or `None`
# Returns
a `gboolean` `true` if the waits have been registered, `false` if not.
(Could be that it timed out waiting or that more waits than waits was found)
<!-- impl TestClock::fn wait_for_multiple_pending_ids -->
Blocks until at least `count` clock notifications have been requested from
`self`. There is no timeout for this wait, see the main description of
......
......@@ -105,6 +105,14 @@ The Identifier or `None`
A reference to the wanted `Asset` or `None`
<!-- impl Asset::fn request_async -->
The `callback` will be called from a running `glib::MainLoop` which is iterating a `glib::MainContext`.
Note that, users should ensure the `glib::MainContext`, since this method will notify
`callback` from the thread which was associated with a thread default
`glib::MainContext` at calling `ges_init`.
For example, if a user wants non-default `glib::MainContext` to be associated
with `callback`, `ges_init` must be called after g_main_context_push_thread_default ()
with custom `glib::MainContext`.
Request a new `Asset` asyncronously, `callback` will be called when the materail is
ready to be used or if an error occured.
......@@ -1163,7 +1171,7 @@ Informs you that a `Asset` could not be created. In case of
missing GStreamer plugins, the error will be set to `GST_CORE_ERROR`
`gst::CoreError::MissingPlugin`
## `error`
The `glib::Error` defining the error that accured, might be `None`
The `glib::Error` defining the error that occured, might be `None`
## `id`
The `id` of the asset that failed loading
## `extractable_type`
......@@ -1515,6 +1523,22 @@ The `TrackElement` for which to choose the tracks it should land into
# Returns
a `glib::PtrArray` of `Track`-s where that object should be added
<!-- trait TimelineExt::fn connect_snapping_ended -->
Will be emitted when the 2 `TrackElement` ended to snap
## `obj1`
the first `TrackElement` that was snapping.
## `obj2`
the second `TrackElement` that was snapping.
## `position`
the position where the two objects finally snapping.
<!-- trait TimelineExt::fn connect_snapping_started -->
Will be emitted when the 2 `TrackElement` first snapped
## `obj1`
the first `TrackElement` that was snapping.
## `obj2`
the second `TrackElement` that was snapping.
## `position`
the position where the two objects finally snapping.
<!-- trait TimelineExt::fn connect_track_added -->
Will be emitted after the track was added to the timeline.
## `track`
......@@ -1606,6 +1630,13 @@ The `duration` of `self`
# Returns
The `inpoint` of `self`
<!-- trait TimelineElementExt::fn get_layer_priority -->
# Returns
The priority of the first layer the element is in (note that only
groups can span over several layers). `GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY`
means that the element is not in a layer.
<!-- trait TimelineElementExt::fn get_max_duration -->
# Returns
......@@ -1787,15 +1818,27 @@ Note that if the timeline snap-distance property of the timeline containing
`self` is set, `self` will properly snap to its neighboors.
## `duration`
the duration in `gst::ClockTime`
# Returns
`true` if `duration` could be set.
<!-- trait TimelineElementExt::fn set_inpoint -->
Set the in-point, that is the moment at which the `self` will start
outputting data from its contents.
## `inpoint`
the in-point in `gst::ClockTime`
# Returns
`true` if `inpoint` could be set.
<!-- trait TimelineElementExt::fn set_max_duration -->
Set the maximun duration of the object
## `maxduration`
the maximum duration in `gst::ClockTime`
# Returns
`true` if `maxduration` could be set.
<!-- trait TimelineElementExt::fn set_name -->
Sets the name of object, or gives `self` a guaranteed unique name (if name is NULL).
This function makes a copy of the provided name, so the caller retains ownership
......@@ -1822,6 +1865,10 @@ To set `Effect` priorities `ClipExt::set_top_effect_index` should
be used.
## `priority`
the priority
# Returns
`true` if `priority` could be set.
<!-- trait TimelineElementExt::fn set_start -->
Set the position of the object in its containing layer.
......@@ -1829,6 +1876,10 @@ Note that if the snapping-distance property of the timeline containing
`self` is set, `self` will properly snap to the edges around `start`.
## `start`
the position in `gst::ClockTime`
# Returns
`true` if `start` could be set.
<!-- trait TimelineElementExt::fn set_timeline -->
Sets the timeline of `self` to `timeline`.
## `timeline`
......@@ -2358,7 +2409,9 @@ the `gst::ControlSource` to set on the binding.
## `property_name`
The name of the property to control.
## `binding_type`
The type of binding to create. Only "direct" is available for now.
The type of binding to create. Currently the following values are valid:
- "direct": See `gst_direct_control_binding_new`
- "direct-absolute": See `gst_direct_control_binding_new_absolute`
# Returns
......@@ -2446,7 +2499,7 @@ The location of the file/resource to use.
The `UriClipAsset` is a special `Asset` that lets you handle
the media file to use inside the GStreamer Editing Services. It has APIs that
let you get information about the medias. Also, the tags found in the media file are
set as Metadatas of the Asser.
set as Metadata of the Asset.
# Implements
......@@ -2457,6 +2510,14 @@ Trait containing all `UriClipAsset` methods.
# Implementors
[`UriClipAsset`](struct.UriClipAsset.html)
<!-- impl UriClipAsset::fn finish -->
Finalize the request of an async `UriClipAsset`
## `res`
The `gio::AsyncResult` from which to get the newly created `UriClipAsset`
# Returns
The `UriClipAsset` previously requested
<!-- impl UriClipAsset::fn new -->
Creates a `UriClipAsset` for `uri`
......@@ -2470,7 +2531,7 @@ filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user
GError *error = NULL;
GESUriClipAsset *filesource_asset;
filesource_asset = GES_URI_CLIP_ASSET (ges_asset_request_finish (res, &error));
filesource_asset = ges_uri_clip_asset_finish (res, &error);
if (filesource_asset) {
g_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
ges_asset_get_id (GES_ASSET (filesource_asset))
......@@ -2504,8 +2565,8 @@ You can also use multi file uris for `MultiFileSource`.
# Returns
A reference to the requested asset or
`None` if an error happened
A reference to the requested asset or `None` if
an error happened
<!-- trait UriClipAssetExt::fn get_duration -->
Gets duration of the file represented by `self`
......
......@@ -5,15 +5,27 @@ context. It also provided some wrappers around `gst_base::BaseTransform`'s
`start`, `stop` and `set_caps` virtual methods that ensure an OpenGL context
is available and current in the calling thread.
Feature: `v1_16`
# Implements
[`GLBaseFilterExt`](trait.GLBaseFilterExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- trait GLBaseFilterExt -->
Trait containing all `GLBaseFilter` methods.
Feature: `v1_16`
# Implementors
[`GLBaseFilter`](struct.GLBaseFilter.html)
<!-- trait GLBaseFilterExt::fn find_gl_context -->
Feature: `v1_16`
# Returns
Whether an OpenGL context could be retrieved or created successfully
<!-- struct GLBuffer -->
GstGLBuffer is a `gst::Memory` subclass providing support for the mapping of
GL buffers.
......@@ -44,7 +56,7 @@ a `GLContext`
a new `GLColorConvert` object
<!-- impl GLColorConvert::fn fixate_caps -->
Provides an implementation of `gst_base::BaseTransformClass::fixate_caps`()
Provides an implementation of `gst_base::BaseTransformClass.fixate_caps`()
## `context`
a `GLContext` to use for transforming `caps`
## `direction`
......@@ -58,7 +70,7 @@ the `gst::Caps` to fixate
the fixated `gst::Caps`
<!-- impl GLColorConvert::fn transform_caps -->
Provides an implementation of `gst_base::BaseTransformClass::transform_caps`()
Provides an implementation of `gst_base::BaseTransformClass.transform_caps`()
## `context`
a `GLContext` to use for transforming `caps`
## `direction`
......@@ -72,7 +84,7 @@ a set of filter `gst::Caps`
the converted `gst::Caps`
<!-- impl GLColorConvert::fn decide_allocation -->
Provides an implementation of `GstBaseTransfromClass::decide_allocation`()
Provides an implementation of `gst_base::BaseTransformClass.decide_allocation`()
## `query`
a completed ALLOCATION `gst::Query`
......@@ -299,7 +311,7 @@ Gets the OpenGL platform that used by `self`.
The platform specific backing OpenGL context
<!-- trait GLContextExt::fn get_gl_platform_version -->
Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid
after a call to `gst_gl_context_create_context`.
after a call to `GLContextExt::create`.
## `major`
return for the major version
## `minor`
......@@ -377,6 +389,30 @@ a `GLSLProfile`
# Returns
Whether `self` supports the combination of `version` with `profile`
<!-- trait GLContextExt::fn supports_precision -->
Feature: `v1_16`
## `version`
a `GLSLVersion`
## `profile`
a `GLSLProfile`
# Returns
whether `self` supports the 'precision' specifier in GLSL shaders
<!-- trait GLContextExt::fn supports_precision_highp -->
Feature: `v1_16`
## `version`
a `GLSLVersion`
## `profile`
a `GLSLProfile`
# Returns
whether `self` supports the 'precision highp' specifier in GLSL shaders
<!-- trait GLContextExt::fn swap_buffers -->
Swap the front and back buffers on the window attached to `self`.
This will display the frame on the next refresh cycle.
......@@ -432,7 +468,7 @@ Trait containing all `GLDisplay` methods.
# Implementors
[`GLDisplayEGL`](struct.GLDisplayEGL.html), [`GLDisplay`](struct.GLDisplay.html)
[`GLDisplayEGL`](struct.GLDisplayEGL.html), [`GLDisplayWayland`](struct.GLDisplayWayland.html), [`GLDisplayX11`](struct.GLDisplayX11.html), [`GLDisplay`](struct.GLDisplay.html)
<!-- impl GLDisplay::fn new -->
# Returns
......@@ -551,6 +587,54 @@ pointer to a display (or 0)
# Returns
A `EGLDisplay` or `EGL_NO_DISPLAY`
<!-- struct GLDisplayWayland -->
the contents of a `GLDisplayWayland` are private and should only be accessed
through the provided API
# Implements
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayWayland::fn new -->
Create a new `GLDisplayWayland` from the wayland display name. See `wl_display_connect`
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayWayland` or `None`
<!-- impl GLDisplayWayland::fn new_with_display -->
Creates a new display connection from a wl_display Display.
## `display`
an existing, wayland display
# Returns
a new `GLDisplayWayland`
<!-- struct GLDisplayX11 -->
the contents of a `GLDisplayX11` are private and should only be accessed
through the provided API
# Implements
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayX11::fn new -->
Create a new `GLDisplayX11` from the x11 display name. See XOpenDisplay()
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayX11` or `None`
<!-- impl GLDisplayX11::fn new_with_display -->
Creates a new display connection from a X11 Display.
## `display`
an existing, x11 display
# Returns
a new `GLDisplayX11`
<!-- enum GLFormat -->
<!-- enum GLFormat::variant Luminance -->
Single component replicated across R, G, and B textures
......@@ -575,12 +659,18 @@ Three 8-bit components stored in the R, G, and B
<!-- enum GLFormat::variant Rgb565 -->
Three components of bit depth 5, 6 and 5 stored in the R, G,
and B texture components respectively.
<!-- enum GLFormat::variant Rgb16 -->
Three 16-bit components stored in the R, G, and B
texture components
<!-- enum GLFormat::variant Rgba -->
Four components stored in the R, G, B, and A texture
components respectively.
<!-- enum GLFormat::variant Rgba8 -->
Four 8-bit components stored in the R, G, B, and A texture
components respectively.
<!-- enum GLFormat::variant Rgba16 -->
Four 16-bit components stored in the R, G, B, and A texture
components respectively.
<!-- enum GLFormat::variant DepthComponent16 -->
A single 16-bit component for depth information.
<!-- enum GLFormat::variant Depth24Stencil8 -->
......@@ -895,6 +985,58 @@ a `glib::Error`
# Returns
a new `shader` with the specified stages.
<!-- impl GLShader::fn string_fragment_external_oes_get_default -->
Feature: `v1_16`
## `context`
a `GLContext`
## `version`
a `GLSLVersion`
## `profile`
a `GLSLProfile`
# Returns
a passthrough shader string for copying an input external-oes
texture to the output
<!-- impl GLShader::fn string_fragment_get_default -->
Feature: `v1_16`
## `context`
a `GLContext`
## `version`
a `GLSLVersion`
## `profile`
a `GLSLProfile`
# Returns
a passthrough shader string for copying an input texture to
the output
<!-- impl GLShader::fn string_get_highest_precision -->
Generates a shader string that defines the precision of float types in
GLSL shaders. This is particularly needed for fragment shaders in a
GLSL ES context where there is no default precision specified.
Practically, this will return the string 'precision mediump float'
or 'precision highp float' depending on if high precision floats are
determined to be supported.
Feature: `v1_16`
## `context`
a `GLContext`
## `version`
a `GLSLVersion`
## `profile`
a `GLSLProfile`
# Returns
a shader string defining the precision of float types based on
`context`, `version` and `profile`
<!-- impl GLShader::fn attach -->
Attaches `stage` to `self`. `stage` must have been successfully compiled
with `GLSLStage::compile`.
......@@ -1221,6 +1363,12 @@ Mark's `self` as being used for the next GL draw command.
Note: must be called in the GL thread and `self` must have been linked.
<!-- enum GLStereoDownmix -->
Output anaglyph type to generate when downmixing to mono
<!-- enum GLStereoDownmix::variant GreenMagentaDubois -->
Dubois optimised Green-Magenta anaglyph
<!-- enum GLStereoDownmix::variant RedCyanDubois -->
Dubois optimised Red-Cyan anaglyph
<!-- enum GLStereoDownmix::variant AmberBlueDubois -->
Dubois optimised Amber-Blue anaglyph
<!-- enum GLTextureTarget -->
<!-- enum GLTextureTarget::variant None -->
no texture target
......@@ -1298,7 +1446,7 @@ Convert stereoscopic/multiview video using fragment shaders.
a new `GLViewConvert`
<!-- impl GLViewConvert::fn fixate_caps -->
Provides an implementation of `gst_base::BaseTransformClass::fixate_caps`()
Provides an implementation of `gst_base::BaseTransformClass.fixate_caps`()
## `direction`
a `gst::PadDirection`
## `caps`
......@@ -1350,7 +1498,7 @@ a `gst::Buffer`
a `gst::FlowReturn`
<!-- impl GLViewConvert::fn transform_caps -->
Provides an implementation of `gst_base::BaseTransformClass::transform_caps`()
Provides an implementation of `gst_base::BaseTransformClass.transform_caps`()
## `direction`
a `gst::PadDirection`
## `caps`
......@@ -1381,6 +1529,15 @@ a `GLDisplay`
# Returns
a new `GLWindow` using `display`'s connection
<!-- trait GLWindowExt::fn controls_viewport -->
Checks if `self` controls the GL viewport.
Feature: `v1_16`
# Returns
`true` if `self` controls the GL viewport, otherwise `false`
<!-- trait GLWindowExt::fn draw -->
Redraw the window contents. Implementations should invoke the draw callback.
<!-- trait GLWindowExt::fn get_context -->
......@@ -1411,8 +1568,16 @@ for them. This method allows you to disable events handling completely
from the `self`.
## `handle_events`
a `gboolean` indicating if events should be handled or not.
<!-- trait GLWindowExt::fn queue_resize -->
Queue resizing of `self`.
<!-- trait GLWindowExt::fn quit -->
Quit the runloop's execution.
<!-- trait GLWindowExt::fn resize -->
Resize `self` to the given `width` and `height`.
## `width`
new width
## `height`
new height
<!-- trait GLWindowExt::fn run -->
Start the execution of the runloop.
<!-- trait GLWindowExt::fn send_message -->
......
......@@ -522,13 +522,7 @@ Encoding profiles for containers. Keeps track of a list of `EncodingProfile`
# Implements
[`EncodingContainerProfileExt`](trait.EncodingContainerProfileExt.html), [`EncodingProfileExt`](trait.EncodingProfileExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- trait EncodingContainerProfileExt -->
Trait containing all `EncodingContainerProfile` methods.
# Implementors
[`EncodingContainerProfile`](struct.EncodingContainerProfile.html)
[`EncodingProfileExt`](trait.EncodingProfileExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl EncodingContainerProfile::fn new -->
Creates a new `EncodingContainerProfile`.
## `name`
......@@ -544,7 +538,7 @@ The preset to use for this profile.
# Returns
The newly created `EncodingContainerProfile`.
<!-- trait EncodingContainerProfileExt::fn add_profile -->
<!-- impl EncodingContainerProfile::fn add_profile -->
Add a `EncodingProfile` to the list of profiles handled by `self`.
No copy of `profile` will be made, if you wish to use it elsewhere after this
......@@ -555,7 +549,7 @@ the `EncodingProfile` to add.
# Returns
`true` if the `stream` was properly added, else `false`.
<!-- trait EncodingContainerProfileExt::fn contains_profile -->
<!-- impl EncodingContainerProfile::fn contains_profile -->
Checks if `self` contains a `EncodingProfile` identical to
`profile`.
## `profile`
......@@ -565,7 +559,7 @@ a `EncodingProfile`
`true` if `self` contains a `EncodingProfile` identical
to `profile`, else `false`.
<!-- trait EncodingContainerProfileExt::fn get_profiles -->
<!-- impl EncodingContainerProfile::fn get_profiles -->
# Returns
......@@ -610,11 +604,12 @@ The new `EncodingProfile` or `None`.
<!-- trait EncodingProfileExt::fn copy -->
Makes a deep copy of `self`
Feature: `v1_12`
# Returns
The copy of `self`
Since 1.12
<!-- trait EncodingProfileExt::fn get_allow_dynamic_output -->
Get whether the format that has been negotiated in at some point can be renegotiated
later during the encoding.
......@@ -699,8 +694,6 @@ Set `description` as the given description for the `self`. A copy of
the description to set on the profile
<!-- trait EncodingProfileExt::fn set_enabled -->
Set whether the profile should be used or not.
Since 1.6
## `enabled`
`false` to disable `profile`, `true` to enable it
<!-- trait EncodingProfileExt::fn set_format -->
......
......@@ -28,8 +28,6 @@ a `Player` configuration
# Returns
current position update interval in milliseconds
Since 1.10
<!-- impl Player::fn config_get_seek_accurate -->
## `config`
a `Player` configuration
......@@ -37,8 +35,6 @@ a `Player` configuration
# Returns
`true` if accurate seeking is enabled
Since 1.12
<!-- impl Player::fn config_get_user_agent -->
Return the user agent which has been configured using
`Player::config_set_user_agent` if any.
......@@ -48,11 +44,9 @@ a `Player` configuration
# Returns
the configured agent, or `None`
Since 1.10
<!-- impl Player::fn config_set_position_update_interval -->
set interval in milliseconds between two position-updated signals.
pass 0 to stop updating the position.
Since 1.10
## `config`
a `Player` configuration
## `interval`
......@@ -75,8 +69,6 @@ accurate seek or not
Set the user agent to pass to the server if `player` needs to connect
to a server during playback. This is typically used when playing HTTP
or RTSP streams.
Since 1.10