mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-25 11:01:10 +00:00
Update docs
This commit is contained in:
parent
ca8b8f6a38
commit
d2467b4b65
10 changed files with 1403 additions and 37 deletions
|
@ -619,6 +619,18 @@ handler with `GST_PAD_SET_ACCEPT_INTERSECT` and
|
||||||
`GST_PAD_SET_ACCEPT_TEMPLATE`
|
`GST_PAD_SET_ACCEPT_TEMPLATE`
|
||||||
## `use_`
|
## `use_`
|
||||||
if the default pad accept-caps query handling should be used
|
if the default pad accept-caps query handling should be used
|
||||||
|
<!-- trait AudioDecoderExt::fn get_property_max_errors -->
|
||||||
|
Maximum number of tolerated consecutive decode errors. See
|
||||||
|
`AudioDecoderExt::set_max_errors` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
<!-- trait AudioDecoderExt::fn set_property_max_errors -->
|
||||||
|
Maximum number of tolerated consecutive decode errors. See
|
||||||
|
`AudioDecoderExt::set_max_errors` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- struct AudioEncoder -->
|
<!-- struct AudioEncoder -->
|
||||||
This base class is for audio encoders turning raw audio samples into
|
This base class is for audio encoders turning raw audio samples into
|
||||||
encoded audio data.
|
encoded audio data.
|
||||||
|
@ -969,6 +981,13 @@ Configures encoder audio jitter tolerance threshold.
|
||||||
MT safe.
|
MT safe.
|
||||||
## `tolerance`
|
## `tolerance`
|
||||||
new tolerance
|
new tolerance
|
||||||
|
<!-- struct AudioFlags -->
|
||||||
|
Extra audio flags
|
||||||
|
<!-- struct AudioFlags::const NONE -->
|
||||||
|
no valid flag
|
||||||
|
<!-- struct AudioFlags::const UNPOSITIONED -->
|
||||||
|
the position array explicitly
|
||||||
|
contains unpositioned channels.
|
||||||
<!-- enum AudioFormat -->
|
<!-- enum AudioFormat -->
|
||||||
Enum value describing the most common audio formats.
|
Enum value describing the most common audio formats.
|
||||||
<!-- enum AudioFormat::variant Unknown -->
|
<!-- enum AudioFormat::variant Unknown -->
|
||||||
|
@ -1063,6 +1082,19 @@ encoded audio format
|
||||||
32-bit floating point samples, native endianness
|
32-bit floating point samples, native endianness
|
||||||
<!-- enum AudioFormat::variant F64 -->
|
<!-- enum AudioFormat::variant F64 -->
|
||||||
64-bit floating point samples, native endianness
|
64-bit floating point samples, native endianness
|
||||||
|
<!-- struct AudioFormatFlags -->
|
||||||
|
The different audio flags that a format info can have.
|
||||||
|
<!-- struct AudioFormatFlags::const INTEGER -->
|
||||||
|
integer samples
|
||||||
|
<!-- struct AudioFormatFlags::const FLOAT -->
|
||||||
|
float samples
|
||||||
|
<!-- struct AudioFormatFlags::const SIGNED -->
|
||||||
|
signed samples
|
||||||
|
<!-- struct AudioFormatFlags::const COMPLEX -->
|
||||||
|
complex layout
|
||||||
|
<!-- struct AudioFormatFlags::const UNPACK -->
|
||||||
|
the format can be used in
|
||||||
|
`GstAudioFormatUnpack` and `GstAudioFormatPack` functions
|
||||||
<!-- struct AudioInfo -->
|
<!-- struct AudioInfo -->
|
||||||
Information describing audio properties. This information can be filled
|
Information describing audio properties. This information can be filled
|
||||||
in from GstCaps with `AudioInfo::from_caps`.
|
in from GstCaps with `AudioInfo::from_caps`.
|
||||||
|
@ -1144,6 +1176,16 @@ Layout of the audio samples for the different channels.
|
||||||
interleaved audio
|
interleaved audio
|
||||||
<!-- enum AudioLayout::variant NonInterleaved -->
|
<!-- enum AudioLayout::variant NonInterleaved -->
|
||||||
non-interleaved audio
|
non-interleaved audio
|
||||||
|
<!-- struct AudioPackFlags -->
|
||||||
|
The different flags that can be used when packing and unpacking.
|
||||||
|
<!-- struct AudioPackFlags::const NONE -->
|
||||||
|
No flag
|
||||||
|
<!-- struct AudioPackFlags::const TRUNCATE_RANGE -->
|
||||||
|
When the source has a smaller depth
|
||||||
|
than the target format, set the least significant bits of the target
|
||||||
|
to 0. This is likely slightly faster but less accurate. When this flag
|
||||||
|
is not specified, the most significant bits of the source are duplicated
|
||||||
|
in the least significant bits of the destination.
|
||||||
<!-- enum AudioRingBufferFormatType -->
|
<!-- enum AudioRingBufferFormatType -->
|
||||||
The format of the samples in the ringbuffer.
|
The format of the samples in the ringbuffer.
|
||||||
<!-- enum AudioRingBufferFormatType::variant Raw -->
|
<!-- enum AudioRingBufferFormatType::variant Raw -->
|
||||||
|
|
|
@ -156,6 +156,20 @@ the number of bytes to copy
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
A new `glib::Bytes` structure containing the copied data.
|
A new `glib::Bytes` structure containing the copied data.
|
||||||
|
<!-- impl Adapter::fn distance_from_discont -->
|
||||||
|
Get the distance in bytes since the last buffer with the
|
||||||
|
`gst::BufferFlags::Discont` flag.
|
||||||
|
|
||||||
|
The distance will be reset to 0 for all buffers with
|
||||||
|
`gst::BufferFlags::Discont` on them, and then calculated for all other
|
||||||
|
following buffers based on their size.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The offset. Can be `GST_BUFFER_OFFSET_NONE`.
|
||||||
<!-- impl Adapter::fn dts_at_discont -->
|
<!-- impl Adapter::fn dts_at_discont -->
|
||||||
Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT
|
Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT
|
||||||
flag, or GST_CLOCK_TIME_NONE.
|
flag, or GST_CLOCK_TIME_NONE.
|
||||||
|
@ -790,6 +804,18 @@ Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
<!-- enum AggregatorStartTimeSelection -->
|
||||||
|
<!-- enum AggregatorStartTimeSelection::variant Zero -->
|
||||||
|
Start at running time 0.
|
||||||
|
<!-- enum AggregatorStartTimeSelection::variant First -->
|
||||||
|
Start at the running time of
|
||||||
|
the first buffer that is received.
|
||||||
|
<!-- enum AggregatorStartTimeSelection::variant Set -->
|
||||||
|
Start at the running time
|
||||||
|
selected by the `start-time` property.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- struct BaseParse -->
|
<!-- struct BaseParse -->
|
||||||
This base class is for parser elements that process data and splits it
|
This base class is for parser elements that process data and splits it
|
||||||
into separate audio/video/whatever frames.
|
into separate audio/video/whatever frames.
|
||||||
|
@ -1157,6 +1183,9 @@ a newly-allocated `BaseParseFrame`. Free with
|
||||||
<!-- impl BaseParseFrame::fn copy -->
|
<!-- impl BaseParseFrame::fn copy -->
|
||||||
Copies a `BaseParseFrame`.
|
Copies a `BaseParseFrame`.
|
||||||
|
|
||||||
|
Feature: `v1_12_1`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
A copy of `self`
|
A copy of `self`
|
||||||
|
@ -1168,6 +1197,30 @@ all public fields are zero-ed and a private flag is set to make
|
||||||
sure `BaseParseFrame::free` only frees the contents but not
|
sure `BaseParseFrame::free` only frees the contents but not
|
||||||
the actual frame. Use this function to initialise a `BaseParseFrame`
|
the actual frame. Use this function to initialise a `BaseParseFrame`
|
||||||
allocated on the stack.
|
allocated on the stack.
|
||||||
|
<!-- struct BaseParseFrameFlags -->
|
||||||
|
Flags to be used in a `BaseParseFrame`.
|
||||||
|
<!-- struct BaseParseFrameFlags::const NONE -->
|
||||||
|
no flag
|
||||||
|
<!-- struct BaseParseFrameFlags::const NEW_FRAME -->
|
||||||
|
set by baseclass if current frame
|
||||||
|
is passed for processing to the subclass for the first time
|
||||||
|
(and not set on subsequent calls with same data).
|
||||||
|
<!-- struct BaseParseFrameFlags::const NO_FRAME -->
|
||||||
|
set to indicate this buffer should not be
|
||||||
|
counted as frame, e.g. if this frame is dependent on a previous one.
|
||||||
|
As it is not counted as a frame, bitrate increases but frame to time
|
||||||
|
conversions are maintained.
|
||||||
|
<!-- struct BaseParseFrameFlags::const CLIP -->
|
||||||
|
`pre_push_frame` can set this to indicate
|
||||||
|
that regular segment clipping can still be performed (as opposed to
|
||||||
|
any custom one having been done).
|
||||||
|
<!-- struct BaseParseFrameFlags::const DROP -->
|
||||||
|
indicates to `finish_frame` that the
|
||||||
|
the frame should be dropped (and might be handled internally by subclass)
|
||||||
|
<!-- struct BaseParseFrameFlags::const QUEUE -->
|
||||||
|
indicates to `finish_frame` that the
|
||||||
|
the frame should be queued for now and processed fully later
|
||||||
|
when the first non-queued frame is finished
|
||||||
<!-- struct BaseSink -->
|
<!-- struct BaseSink -->
|
||||||
`BaseSink` is the base class for sink elements in GStreamer, such as
|
`BaseSink` is the base class for sink elements in GStreamer, such as
|
||||||
xvimagesink or filesink. It is a layer on top of `gst::Element` that provides a
|
xvimagesink or filesink. It is a layer on top of `gst::Element` that provides a
|
||||||
|
|
|
@ -187,8 +187,7 @@ call `glib::MainContext::push_thread_default` in a new thread before
|
||||||
calling `ges_init`.
|
calling `ges_init`.
|
||||||
|
|
||||||
Example of an asynchronous asset request:
|
Example of an asynchronous asset request:
|
||||||
|
``` c
|
||||||
```text
|
|
||||||
// The request callback
|
// The request callback
|
||||||
static void
|
static void
|
||||||
asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
|
asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
|
||||||
|
@ -198,14 +197,14 @@ asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user_data)
|
||||||
|
|
||||||
asset = ges_asset_request_finish (res, &error);
|
asset = ges_asset_request_finish (res, &error);
|
||||||
if (asset) {
|
if (asset) {
|
||||||
g_print ("The file: %s is usable as a FileSource",
|
g_print ("The file: %s is usable as a GESUriClip",
|
||||||
ges_asset_get_id (asset));
|
ges_asset_get_id (asset));
|
||||||
} else {
|
} else {
|
||||||
g_print ("The file: %s is *not* usable as a FileSource because: %s",
|
g_print ("The file: %s is *not* usable as a GESUriClip because: %s",
|
||||||
ges_asset_get_id (source), error->message);
|
ges_asset_get_id (source), error->message);
|
||||||
}
|
}
|
||||||
|
|
||||||
gst_object_unref (mfs);
|
gst_object_unref (asset);
|
||||||
}
|
}
|
||||||
|
|
||||||
// The request:
|
// The request:
|
||||||
|
@ -728,6 +727,9 @@ This method can also fail if the adding the track element to the track
|
||||||
would break a configuration rule of the corresponding `Timeline`,
|
would break a configuration rule of the corresponding `Timeline`,
|
||||||
such as causing three sources to overlap at a single time, or causing
|
such as causing three sources to overlap at a single time, or causing
|
||||||
a source to completely overlap another in the same track.
|
a source to completely overlap another in the same track.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `child`
|
## `child`
|
||||||
A child of `self`
|
A child of `self`
|
||||||
## `track`
|
## `track`
|
||||||
|
@ -935,6 +937,9 @@ using this position to trim the end of a clip.
|
||||||
See `ClipExt::get_internal_time_from_timeline_time`, which performs the
|
See `ClipExt::get_internal_time_from_timeline_time`, which performs the
|
||||||
reverse, or `ClipExt::get_timeline_time_from_source_frame` which does
|
reverse, or `ClipExt::get_timeline_time_from_source_frame` which does
|
||||||
the same conversion, but using frame numbers.
|
the same conversion, but using frame numbers.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `child`
|
## `child`
|
||||||
An `TrackElement:active` child of `self` with a
|
An `TrackElement:active` child of `self` with a
|
||||||
`TrackElement:track`
|
`TrackElement:track`
|
||||||
|
@ -1122,6 +1127,9 @@ If the duration-limit would ever go below the current
|
||||||
`TimelineElement:duration` of the clip due to a change in the above
|
`TimelineElement:duration` of the clip due to a change in the above
|
||||||
variables, its `TimelineElement:duration` will be set to the new
|
variables, its `TimelineElement:duration` will be set to the new
|
||||||
limit.
|
limit.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait ClipExt::fn get_property_layer -->
|
<!-- trait ClipExt::fn get_property_layer -->
|
||||||
The layer this clip lies in.
|
The layer this clip lies in.
|
||||||
|
|
||||||
|
@ -1437,9 +1445,14 @@ The element is edited in slide mode (not yet
|
||||||
(`Edge::Start` and `Edge::End`) is not defined. The element can
|
(`Edge::Start` and `Edge::End`) is not defined. The element can
|
||||||
not shift layers under this mode.
|
not shift layers under this mode.
|
||||||
<!-- struct Effect -->
|
<!-- struct Effect -->
|
||||||
Currently we only support effects with 1 sinkpad and 1 sourcepad
|
Currently we only support effects with N sinkpads and one single srcpad.
|
||||||
with the exception of `gesaudiomixer` and `gescompositor` which
|
Apart from `gesaudiomixer` and `gescompositor` which can be used as effects
|
||||||
can be used as effects.
|
and where sinkpads will be requested as needed based on the timeline topology
|
||||||
|
GES will always request at most one sinkpad per effect (when required).
|
||||||
|
|
||||||
|
> Note: GES always adds converters (`audioconvert ! audioresample !
|
||||||
|
> audioconvert` for audio effects and `videoconvert` for video effects) to
|
||||||
|
> make it simpler for end users.
|
||||||
|
|
||||||
# Implements
|
# Implements
|
||||||
|
|
||||||
|
@ -1742,6 +1755,9 @@ if `self` refused to add `clip`.
|
||||||
<!-- trait LayerExt::fn get_active_for_track -->
|
<!-- trait LayerExt::fn get_active_for_track -->
|
||||||
Gets whether the layer is active for the given track. See
|
Gets whether the layer is active for the given track. See
|
||||||
`LayerExt::set_active_for_tracks`.
|
`LayerExt::set_active_for_tracks`.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `track`
|
## `track`
|
||||||
The `Track` to check if `self` is currently active for
|
The `Track` to check if `self` is currently active for
|
||||||
|
|
||||||
|
@ -1823,6 +1839,9 @@ active in the track, regardless of their individual
|
||||||
|
|
||||||
Note that by default a layer will be active for all of its
|
Note that by default a layer will be active for all of its
|
||||||
timeline's tracks.
|
timeline's tracks.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `active`
|
## `active`
|
||||||
Whether elements in `tracks` should be active or not
|
Whether elements in `tracks` should be active or not
|
||||||
## `tracks`
|
## `tracks`
|
||||||
|
@ -1856,6 +1875,9 @@ The priority to set
|
||||||
<!-- trait LayerExt::fn connect_active_changed -->
|
<!-- trait LayerExt::fn connect_active_changed -->
|
||||||
Will be emitted whenever the layer is activated or deactivated
|
Will be emitted whenever the layer is activated or deactivated
|
||||||
for some `Track`. See `LayerExt::set_active_for_tracks`.
|
for some `Track`. See `LayerExt::set_active_for_tracks`.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `active`
|
## `active`
|
||||||
Whether `layer` has been made active or de-active in the `tracks`
|
Whether `layer` has been made active or de-active in the `tracks`
|
||||||
## `tracks`
|
## `tracks`
|
||||||
|
@ -2022,9 +2044,14 @@ to `location` using the given `format`, `height` and `width`.
|
||||||
<!-- trait GESPipelineExt::fn set_mode -->
|
<!-- trait GESPipelineExt::fn set_mode -->
|
||||||
Sets the `Pipeline:mode` of the pipeline.
|
Sets the `Pipeline:mode` of the pipeline.
|
||||||
|
|
||||||
Note that the pipeline will be set to `gst::State::Null` during this call
|
Note that the pipeline will be set to `gst::State::Null` during this call to
|
||||||
to perform the necessary changes. You will need to set the state again
|
perform the necessary changes. You will need to set the state again yourself
|
||||||
yourself after calling this.
|
after calling this.
|
||||||
|
|
||||||
|
> **NOTE**: [Rendering settings](ges_pipeline_set_render_settings) need to be
|
||||||
|
> set before setting `mode` to `PipelineFlags::Render` or
|
||||||
|
> `PipelineFlags::SmartRender`, the call to this method will fail
|
||||||
|
> otherwise.
|
||||||
## `mode`
|
## `mode`
|
||||||
The mode to set for `self`
|
The mode to set for `self`
|
||||||
|
|
||||||
|
@ -2109,6 +2136,25 @@ The video sink used for preview. This exposes the
|
||||||
<!-- trait GESPipelineExt::fn set_property_video_sink -->
|
<!-- trait GESPipelineExt::fn set_property_video_sink -->
|
||||||
The video sink used for preview. This exposes the
|
The video sink used for preview. This exposes the
|
||||||
`playsink:video-sink` property of the internal `playsink`.
|
`playsink:video-sink` property of the internal `playsink`.
|
||||||
|
<!-- struct PipelineFlags -->
|
||||||
|
The various modes a `Pipeline` can be configured to.
|
||||||
|
<!-- struct PipelineFlags::const AUDIO_PREVIEW -->
|
||||||
|
Output the `Pipeline:timeline`'s
|
||||||
|
audio to the soundcard
|
||||||
|
<!-- struct PipelineFlags::const VIDEO_PREVIEW -->
|
||||||
|
Output the `Pipeline:timeline`'s
|
||||||
|
video to the screen
|
||||||
|
<!-- struct PipelineFlags::const FULL_PREVIEW -->
|
||||||
|
Output both the `Pipeline:timeline`'s
|
||||||
|
audio and video to the soundcard and screen (default)
|
||||||
|
<!-- struct PipelineFlags::const RENDER -->
|
||||||
|
Render the `Pipeline:timeline` with
|
||||||
|
forced decoding (the underlying `encodebin` has its
|
||||||
|
`encodebin:avoid-reencoding` property set to `false`)
|
||||||
|
<!-- struct PipelineFlags::const SMART_RENDER -->
|
||||||
|
Render the `Pipeline:timeline`,
|
||||||
|
avoiding decoding/reencoding (the underlying `encodebin` has its
|
||||||
|
`encodebin:avoid-reencoding` property set to `true`)
|
||||||
<!-- struct Project -->
|
<!-- struct Project -->
|
||||||
The `Project` is used to control a set of `Asset` and is a
|
The `Project` is used to control a set of `Asset` and is a
|
||||||
`Asset` with `GES_TYPE_TIMELINE` as `extractable_type` itself. That
|
`Asset` with `GES_TYPE_TIMELINE` as `extractable_type` itself. That
|
||||||
|
@ -2613,6 +2659,9 @@ with the given `name`, or `None` if it was not found.
|
||||||
<!-- trait TimelineExt::fn get_frame_at -->
|
<!-- trait TimelineExt::fn get_frame_at -->
|
||||||
This method allows you to convert a timeline `gst::ClockTime` into its
|
This method allows you to convert a timeline `gst::ClockTime` into its
|
||||||
corresponding `FrameNumber` in the timeline's output.
|
corresponding `FrameNumber` in the timeline's output.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `timestamp`
|
## `timestamp`
|
||||||
The timestamp to get the corresponding frame number of
|
The timestamp to get the corresponding frame number of
|
||||||
|
|
||||||
|
@ -2624,6 +2673,9 @@ This method allows you to convert a timeline output frame number into a
|
||||||
timeline `gst::ClockTime`. For example, this time could be used to seek to a
|
timeline `gst::ClockTime`. For example, this time could be used to seek to a
|
||||||
particular frame in the timeline's output, or as the edit position for
|
particular frame in the timeline's output, or as the edit position for
|
||||||
an element within the timeline.
|
an element within the timeline.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `frame_number`
|
## `frame_number`
|
||||||
The frame number to get the corresponding timestamp of in the
|
The frame number to get the corresponding timestamp of in the
|
||||||
timeline coordinates
|
timeline coordinates
|
||||||
|
@ -3624,6 +3676,9 @@ Emitted when the element has a new child property registered. See
|
||||||
Note that some GES elements will be automatically created with
|
Note that some GES elements will be automatically created with
|
||||||
pre-registered children properties. You can use
|
pre-registered children properties. You can use
|
||||||
`TimelineElementExt::list_children_properties` to list these.
|
`TimelineElementExt::list_children_properties` to list these.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `prop_object`
|
## `prop_object`
|
||||||
The child whose property has been registered
|
The child whose property has been registered
|
||||||
## `prop`
|
## `prop`
|
||||||
|
@ -3631,6 +3686,9 @@ The specification for the property that has been registered
|
||||||
<!-- trait TimelineElementExt::fn connect_child_property_removed -->
|
<!-- trait TimelineElementExt::fn connect_child_property_removed -->
|
||||||
Emitted when the element has a child property unregistered. See
|
Emitted when the element has a child property unregistered. See
|
||||||
`TimelineElementExt::remove_child_property`.
|
`TimelineElementExt::remove_child_property`.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `prop_object`
|
## `prop_object`
|
||||||
The child whose property has been unregistered
|
The child whose property has been unregistered
|
||||||
## `prop`
|
## `prop`
|
||||||
|
@ -3979,7 +4037,7 @@ The element that was removed
|
||||||
The capabilities used to choose the output of the `Track`'s
|
The capabilities used to choose the output of the `Track`'s
|
||||||
elements. Internally, this is used to select output streams when
|
elements. Internally, this is used to select output streams when
|
||||||
several may be available, by determining whether its `gst::Pad` is
|
several may be available, by determining whether its `gst::Pad` is
|
||||||
compatible (see `nlecomposition:caps` for `nlecomposition`). As such,
|
compatible (see `NleObject:caps` for `nlecomposition`). As such,
|
||||||
this is used as a weaker indication of the desired output type of the
|
this is used as a weaker indication of the desired output type of the
|
||||||
track, **before** the `Track:restriction-caps` is applied.
|
track, **before** the `Track:restriction-caps` is applied.
|
||||||
Therefore, this should be set to a *generic* superset of the
|
Therefore, this should be set to a *generic* superset of the
|
||||||
|
@ -3997,7 +4055,7 @@ Default value: `GST_CAPS_ANY`.
|
||||||
The capabilities used to choose the output of the `Track`'s
|
The capabilities used to choose the output of the `Track`'s
|
||||||
elements. Internally, this is used to select output streams when
|
elements. Internally, this is used to select output streams when
|
||||||
several may be available, by determining whether its `gst::Pad` is
|
several may be available, by determining whether its `gst::Pad` is
|
||||||
compatible (see `nlecomposition:caps` for `nlecomposition`). As such,
|
compatible (see `NleObject:caps` for `nlecomposition`). As such,
|
||||||
this is used as a weaker indication of the desired output type of the
|
this is used as a weaker indication of the desired output type of the
|
||||||
track, **before** the `Track:restriction-caps` is applied.
|
track, **before** the `Track:restriction-caps` is applied.
|
||||||
Therefore, this should be set to a *generic* superset of the
|
Therefore, this should be set to a *generic* superset of the
|
||||||
|
@ -4226,7 +4284,7 @@ be initialized if it is initialized with 0
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if the property was found, `false` otherwize.
|
`true` if the property was found, `false` otherwise.
|
||||||
<!-- trait TrackElementExt::fn get_child_property_by_pspec -->
|
<!-- trait TrackElementExt::fn get_child_property_by_pspec -->
|
||||||
Gets a property of a child of `self`.
|
Gets a property of a child of `self`.
|
||||||
|
|
||||||
|
@ -4306,6 +4364,9 @@ The track-type of `self`.
|
||||||
<!-- trait TrackElementExt::fn has_internal_source -->
|
<!-- trait TrackElementExt::fn has_internal_source -->
|
||||||
Gets `TrackElement:has-internal-source` for the element.
|
Gets `TrackElement:has-internal-source` for the element.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if `self` can have its 'internal time' properties set.
|
`true` if `self` can have its 'internal time' properties set.
|
||||||
|
@ -4436,7 +4497,7 @@ The value
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if the property was set, `false` otherwize.
|
`true` if the property was set, `false` otherwise.
|
||||||
<!-- trait TrackElementExt::fn set_child_property_by_pspec -->
|
<!-- trait TrackElementExt::fn set_child_property_by_pspec -->
|
||||||
Sets a property of a child of `self`.
|
Sets a property of a child of `self`.
|
||||||
|
|
||||||
|
@ -4488,9 +4549,17 @@ Sets `TrackElement:has-internal-source` for the element. If this is
|
||||||
set to `false`, this method will also set the
|
set to `false`, this method will also set the
|
||||||
`TimelineElement:in-point` of the element to 0 and its
|
`TimelineElement:in-point` of the element to 0 and its
|
||||||
`TimelineElement:max-duration` to `GST_CLOCK_TIME_NONE`.
|
`TimelineElement:max-duration` to `GST_CLOCK_TIME_NONE`.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
## `has_internal_source`
|
## `has_internal_source`
|
||||||
Whether the `self` should be allowed to have its
|
Whether the `self` should be allowed to have its
|
||||||
'internal time' properties set.
|
'internal time' properties set.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`false` if `has_internal_source` is forbidden for `self` and
|
||||||
|
`true` in any other case.
|
||||||
<!-- trait TrackElementExt::fn set_track_type -->
|
<!-- trait TrackElementExt::fn set_track_type -->
|
||||||
Sets the `TrackElement:track-type` for the element.
|
Sets the `TrackElement:track-type` for the element.
|
||||||
## `type_`
|
## `type_`
|
||||||
|
@ -4523,6 +4592,9 @@ See `TrackElementExt::clamp_control_source` for how this is done
|
||||||
per control source.
|
per control source.
|
||||||
|
|
||||||
Default value: `true`
|
Default value: `true`
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait TrackElementExt::fn set_property_auto_clamp_control_sources -->
|
<!-- trait TrackElementExt::fn set_property_auto_clamp_control_sources -->
|
||||||
Whether the control sources on the element (see
|
Whether the control sources on the element (see
|
||||||
`TrackElementExt::set_control_source`) will be automatically
|
`TrackElementExt::set_control_source`) will be automatically
|
||||||
|
@ -4533,6 +4605,9 @@ See `TrackElementExt::clamp_control_source` for how this is done
|
||||||
per control source.
|
per control source.
|
||||||
|
|
||||||
Default value: `true`
|
Default value: `true`
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait TrackElementExt::fn get_property_has_internal_source -->
|
<!-- trait TrackElementExt::fn get_property_has_internal_source -->
|
||||||
This property is used to determine whether the 'internal time'
|
This property is used to determine whether the 'internal time'
|
||||||
properties of the element have any meaning. In particular, unless
|
properties of the element have any meaning. In particular, unless
|
||||||
|
@ -4568,6 +4643,9 @@ time at which the subtitle file runs out of data.
|
||||||
Note that GES can not support track elements that have both internal
|
Note that GES can not support track elements that have both internal
|
||||||
content and manipulate the timing of their data streams (time
|
content and manipulate the timing of their data streams (time
|
||||||
effects).
|
effects).
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait TrackElementExt::fn set_property_has_internal_source -->
|
<!-- trait TrackElementExt::fn set_property_has_internal_source -->
|
||||||
This property is used to determine whether the 'internal time'
|
This property is used to determine whether the 'internal time'
|
||||||
properties of the element have any meaning. In particular, unless
|
properties of the element have any meaning. In particular, unless
|
||||||
|
@ -4603,6 +4681,9 @@ time at which the subtitle file runs out of data.
|
||||||
Note that GES can not support track elements that have both internal
|
Note that GES can not support track elements that have both internal
|
||||||
content and manipulate the timing of their data streams (time
|
content and manipulate the timing of their data streams (time
|
||||||
effects).
|
effects).
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait TrackElementExt::fn get_property_track -->
|
<!-- trait TrackElementExt::fn get_property_track -->
|
||||||
The track that this element belongs to, or `None` if it does not
|
The track that this element belongs to, or `None` if it does not
|
||||||
belong to a track.
|
belong to a track.
|
||||||
|
@ -4616,6 +4697,23 @@ The track type of the element, which determines the type of track the
|
||||||
element can be added to (see `Track:track-type`). This should
|
element can be added to (see `Track:track-type`). This should
|
||||||
correspond to the type of data that the element can produce or
|
correspond to the type of data that the element can produce or
|
||||||
process.
|
process.
|
||||||
|
<!-- struct TrackType -->
|
||||||
|
Types of content handled by a track. If the content is not one of
|
||||||
|
`TrackType::Audio`, `TrackType::Video` or `TrackType::Text`,
|
||||||
|
the user of the `Track` must set the type to `TrackType::Custom`.
|
||||||
|
|
||||||
|
`TrackType::Unknown` is for internal purposes and should not be used
|
||||||
|
by users
|
||||||
|
<!-- struct TrackType::const UNKNOWN -->
|
||||||
|
A track of unknown type (i.e. invalid)
|
||||||
|
<!-- struct TrackType::const AUDIO -->
|
||||||
|
An audio track
|
||||||
|
<!-- struct TrackType::const VIDEO -->
|
||||||
|
A video track
|
||||||
|
<!-- struct TrackType::const TEXT -->
|
||||||
|
A text (subtitle) track
|
||||||
|
<!-- struct TrackType::const CUSTOM -->
|
||||||
|
A custom-content track
|
||||||
<!-- struct UriClip -->
|
<!-- struct UriClip -->
|
||||||
Represents all the output streams from a particular uri. It is assumed that
|
Represents all the output streams from a particular uri. It is assumed that
|
||||||
the URI points to a file of some type.
|
the URI points to a file of some type.
|
||||||
|
@ -4631,6 +4729,11 @@ Trait containing all `UriClip` methods.
|
||||||
[`UriClip`](struct.UriClip.html)
|
[`UriClip`](struct.UriClip.html)
|
||||||
<!-- impl UriClip::fn new -->
|
<!-- impl UriClip::fn new -->
|
||||||
Creates a new `UriClip` for the provided `uri`.
|
Creates a new `UriClip` for the provided `uri`.
|
||||||
|
|
||||||
|
> **WARNING**: This function might 'discover` @uri **synchrounously**, it is
|
||||||
|
> an IO and processing intensive task that you probably don't want to run in
|
||||||
|
> an application mainloop. Have a look at #ges_asset_request_async to see how
|
||||||
|
> to make that operation happen **asynchronously**.
|
||||||
## `uri`
|
## `uri`
|
||||||
the URI the source should control
|
the URI the source should control
|
||||||
|
|
||||||
|
@ -4784,6 +4887,9 @@ a
|
||||||
<!-- trait UriClipAssetExt::fn is_image -->
|
<!-- trait UriClipAssetExt::fn is_image -->
|
||||||
Gets Whether the file represented by `self` is an image or not
|
Gets Whether the file represented by `self` is an image or not
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
Whether the file represented by `self` is an image or not
|
Whether the file represented by `self` is an image or not
|
||||||
|
@ -4826,6 +4932,9 @@ a `UriClipAsset`
|
||||||
<!-- trait UriSourceAssetExt::fn is_image -->
|
<!-- trait UriSourceAssetExt::fn is_image -->
|
||||||
Check if `self` contains a single image
|
Check if `self` contains a single image
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if the video stream corresponds to an image (i.e. only
|
`true` if the video stream corresponds to an image (i.e. only
|
||||||
|
|
|
@ -1,4 +1,18 @@
|
||||||
<!-- file * -->
|
<!-- file * -->
|
||||||
|
<!-- struct GLAPI -->
|
||||||
|
<!-- struct GLAPI::const NONE -->
|
||||||
|
no API
|
||||||
|
<!-- struct GLAPI::const OPENGL -->
|
||||||
|
Desktop OpenGL up to and including 3.1. The
|
||||||
|
compatibility profile when the OpenGL version is >= 3.2
|
||||||
|
<!-- struct GLAPI::const OPENGL3 -->
|
||||||
|
Desktop OpenGL >= 3.2 core profile
|
||||||
|
<!-- struct GLAPI::const GLES1 -->
|
||||||
|
OpenGL ES 1.x
|
||||||
|
<!-- struct GLAPI::const GLES2 -->
|
||||||
|
OpenGL ES 2.x and 3.x
|
||||||
|
<!-- struct GLAPI::const ANY -->
|
||||||
|
Any OpenGL API
|
||||||
<!-- struct GLBaseFilter -->
|
<!-- struct GLBaseFilter -->
|
||||||
`GLBaseFilter` handles the nitty gritty details of retrieving an OpenGL
|
`GLBaseFilter` handles the nitty gritty details of retrieving an OpenGL
|
||||||
context. It also provided some wrappers around `gst_base::BaseTransform`'s
|
context. It also provided some wrappers around `gst_base::BaseTransform`'s
|
||||||
|
@ -623,6 +637,29 @@ pointer to a display (or 0)
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
A `EGLDisplay` or `EGL_NO_DISPLAY`
|
A `EGLDisplay` or `EGL_NO_DISPLAY`
|
||||||
|
<!-- struct GLDisplayType -->
|
||||||
|
<!-- struct GLDisplayType::const NONE -->
|
||||||
|
no display type
|
||||||
|
<!-- struct GLDisplayType::const X11 -->
|
||||||
|
X11 display
|
||||||
|
<!-- struct GLDisplayType::const WAYLAND -->
|
||||||
|
Wayland display
|
||||||
|
<!-- struct GLDisplayType::const COCOA -->
|
||||||
|
Cocoa display
|
||||||
|
<!-- struct GLDisplayType::const WIN32 -->
|
||||||
|
Win32 display
|
||||||
|
<!-- struct GLDisplayType::const DISPMANX -->
|
||||||
|
Dispmanx display
|
||||||
|
<!-- struct GLDisplayType::const EGL -->
|
||||||
|
EGL display
|
||||||
|
<!-- struct GLDisplayType::const VIV_FB -->
|
||||||
|
Vivante Framebuffer display
|
||||||
|
<!-- struct GLDisplayType::const GBM -->
|
||||||
|
Mesa3D GBM display
|
||||||
|
<!-- struct GLDisplayType::const EGL_DEVICE -->
|
||||||
|
EGLDevice display (Since: 1.18)
|
||||||
|
<!-- struct GLDisplayType::const ANY -->
|
||||||
|
any display type
|
||||||
<!-- struct GLDisplayWayland -->
|
<!-- struct GLDisplayWayland -->
|
||||||
the contents of a `GLDisplayWayland` are private and should only be accessed
|
the contents of a `GLDisplayWayland` are private and should only be accessed
|
||||||
through the provided API
|
through the provided API
|
||||||
|
@ -794,6 +831,22 @@ Opaque `GLOverlayCompositor` object
|
||||||
# Implements
|
# Implements
|
||||||
|
|
||||||
[`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
[`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||||
|
<!-- struct GLPlatform -->
|
||||||
|
<!-- struct GLPlatform::const NONE -->
|
||||||
|
no platform
|
||||||
|
<!-- struct GLPlatform::const EGL -->
|
||||||
|
the EGL platform used primarily with the X11, wayland
|
||||||
|
and android window systems as well as on embedded Linux
|
||||||
|
<!-- struct GLPlatform::const GLX -->
|
||||||
|
the GLX platform used primarily with the X11 window system
|
||||||
|
<!-- struct GLPlatform::const WGL -->
|
||||||
|
the WGL platform used primarily on Windows
|
||||||
|
<!-- struct GLPlatform::const CGL -->
|
||||||
|
the CGL platform used primarily on OS X
|
||||||
|
<!-- struct GLPlatform::const EAGL -->
|
||||||
|
the EAGL platform used primarily on iOS
|
||||||
|
<!-- struct GLPlatform::const ANY -->
|
||||||
|
any OpenGL platform
|
||||||
<!-- enum GLQueryType -->
|
<!-- enum GLQueryType -->
|
||||||
<!-- enum GLQueryType::variant None -->
|
<!-- enum GLQueryType::variant None -->
|
||||||
no query
|
no query
|
||||||
|
@ -809,6 +862,18 @@ Compilation error occurred
|
||||||
Link error occurred
|
Link error occurred
|
||||||
<!-- enum GLSLError::variant Program -->
|
<!-- enum GLSLError::variant Program -->
|
||||||
General program error occurred
|
General program error occurred
|
||||||
|
<!-- struct GLSLProfile -->
|
||||||
|
GLSL profiles
|
||||||
|
<!-- struct GLSLProfile::const NONE -->
|
||||||
|
no profile supported/available
|
||||||
|
<!-- struct GLSLProfile::const ES -->
|
||||||
|
OpenGL|ES profile
|
||||||
|
<!-- struct GLSLProfile::const CORE -->
|
||||||
|
OpenGL core profile
|
||||||
|
<!-- struct GLSLProfile::const COMPATIBILITY -->
|
||||||
|
OpenGL compatibility profile
|
||||||
|
<!-- struct GLSLProfile::const ANY -->
|
||||||
|
any OpenGL/OpenGL|ES profile
|
||||||
<!-- struct GLSLStage -->
|
<!-- struct GLSLStage -->
|
||||||
`GLSLStage` holds and represents a single OpenGL shader stage.
|
`GLSLStage` holds and represents a single OpenGL shader stage.
|
||||||
|
|
||||||
|
|
|
@ -331,6 +331,21 @@ the discovery timed-out
|
||||||
the discoverer was already discovering a file
|
the discoverer was already discovering a file
|
||||||
<!-- enum DiscovererResult::variant MissingPlugins -->
|
<!-- enum DiscovererResult::variant MissingPlugins -->
|
||||||
Some plugins are missing for full discovery
|
Some plugins are missing for full discovery
|
||||||
|
<!-- struct DiscovererSerializeFlags -->
|
||||||
|
You can use these flags to control what is serialized by
|
||||||
|
`DiscovererInfo::to_variant`
|
||||||
|
<!-- struct DiscovererSerializeFlags::const BASIC -->
|
||||||
|
Serialize only basic information, excluding
|
||||||
|
caps, tags and miscellaneous information
|
||||||
|
<!-- struct DiscovererSerializeFlags::const CAPS -->
|
||||||
|
Serialize the caps for each stream
|
||||||
|
<!-- struct DiscovererSerializeFlags::const TAGS -->
|
||||||
|
Serialize the tags for each stream
|
||||||
|
<!-- struct DiscovererSerializeFlags::const MISC -->
|
||||||
|
Serialize miscellaneous information for each stream
|
||||||
|
<!-- struct DiscovererSerializeFlags::const ALL -->
|
||||||
|
Serialize all the available info, including
|
||||||
|
caps, tags and miscellaneous information
|
||||||
<!-- struct DiscovererStreamInfo -->
|
<!-- struct DiscovererStreamInfo -->
|
||||||
Base structure for information concerning a media stream. Depending on the
|
Base structure for information concerning a media stream. Depending on the
|
||||||
stream type, one can find more media-specific information in
|
stream type, one can find more media-specific information in
|
||||||
|
@ -836,6 +851,14 @@ The description of the `self`.
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
The name of the `self`.
|
The name of the `self`.
|
||||||
|
<!-- impl EncodingTarget::fn get_path -->
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The path to the `self` file.
|
||||||
<!-- impl EncodingTarget::fn get_profile -->
|
<!-- impl EncodingTarget::fn get_profile -->
|
||||||
## `name`
|
## `name`
|
||||||
the name of the profile to retrieve
|
the name of the profile to retrieve
|
||||||
|
|
|
@ -93,6 +93,33 @@ VoIP Metrics Report Block
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
<!-- struct RTPBufferFlags -->
|
||||||
|
Additional RTP buffer flags. These flags can potentially be used on any
|
||||||
|
buffers carrying RTP packets.
|
||||||
|
|
||||||
|
Note that these are only valid for `gst::Caps` of type: application/x-rtp (x-rtcp).
|
||||||
|
They can conflict with other extended buffer flags.
|
||||||
|
<!-- struct RTPBufferFlags::const RETRANSMISSION -->
|
||||||
|
The `gst::Buffer` was once wrapped
|
||||||
|
in a retransmitted packet as specified by RFC 4588.
|
||||||
|
<!-- struct RTPBufferFlags::const REDUNDANT -->
|
||||||
|
The packet represents redundant RTP packet.
|
||||||
|
The flag is used in gstrtpstorage to be able to hold the packetback
|
||||||
|
and use it only for recovery from packet loss.
|
||||||
|
Since: 1.14
|
||||||
|
<!-- struct RTPBufferFlags::const LAST -->
|
||||||
|
Offset to define more flags.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
|
<!-- struct RTPBufferMapFlags -->
|
||||||
|
Additional mapping flags for `RTPBuffer::map`.
|
||||||
|
<!-- struct RTPBufferMapFlags::const SKIP_PADDING -->
|
||||||
|
Skip mapping and validation of RTP
|
||||||
|
padding and RTP pad count when present. Useful for buffers where
|
||||||
|
the padding may be encrypted.
|
||||||
|
<!-- struct RTPBufferMapFlags::const LAST -->
|
||||||
|
Offset to define more flags
|
||||||
<!-- enum RTPPayload -->
|
<!-- enum RTPPayload -->
|
||||||
Standard predefined fixed payload types.
|
Standard predefined fixed payload types.
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,20 @@ a copy of `self`.
|
||||||
<!-- impl RTSPAddress::fn free -->
|
<!-- impl RTSPAddress::fn free -->
|
||||||
Free `self` and releasing it back into the pool when owned by a
|
Free `self` and releasing it back into the pool when owned by a
|
||||||
pool.
|
pool.
|
||||||
|
<!-- struct RTSPAddressFlags -->
|
||||||
|
Flags used to control allocation of addresses
|
||||||
|
<!-- struct RTSPAddressFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct RTSPAddressFlags::const IPV4 -->
|
||||||
|
an IPv4 address
|
||||||
|
<!-- struct RTSPAddressFlags::const IPV6 -->
|
||||||
|
and IPv6 address
|
||||||
|
<!-- struct RTSPAddressFlags::const EVEN_PORT -->
|
||||||
|
address with an even port
|
||||||
|
<!-- struct RTSPAddressFlags::const MULTICAST -->
|
||||||
|
a multicast address
|
||||||
|
<!-- struct RTSPAddressFlags::const UNICAST -->
|
||||||
|
a unicast address
|
||||||
<!-- struct RTSPAddressPool -->
|
<!-- struct RTSPAddressPool -->
|
||||||
An address pool, all member are private
|
An address pool, all member are private
|
||||||
|
|
||||||
|
@ -3319,3 +3333,9 @@ pointer becomes invalid when you free the token. This function checks if
|
||||||
`self` is writable and will never return `None`.
|
`self` is writable and will never return `None`.
|
||||||
|
|
||||||
MT safe.
|
MT safe.
|
||||||
|
<!-- struct RTSPTransportMode -->
|
||||||
|
The supported modes of the media.
|
||||||
|
<!-- struct RTSPTransportMode::const PLAY -->
|
||||||
|
Transport supports PLAY mode
|
||||||
|
<!-- struct RTSPTransportMode::const RECORD -->
|
||||||
|
Transport supports RECORD mode
|
||||||
|
|
|
@ -11,6 +11,12 @@ digest authentication
|
||||||
RTSP Authentication parameter
|
RTSP Authentication parameter
|
||||||
|
|
||||||
Feature: `v1_12`
|
Feature: `v1_12`
|
||||||
|
<!-- struct RTSPEvent -->
|
||||||
|
The possible events for the connection.
|
||||||
|
<!-- struct RTSPEvent::const READ -->
|
||||||
|
connection is readable
|
||||||
|
<!-- struct RTSPEvent::const WRITE -->
|
||||||
|
connection is writable
|
||||||
<!-- enum RTSPFamily -->
|
<!-- enum RTSPFamily -->
|
||||||
The possible network families.
|
The possible network families.
|
||||||
<!-- enum RTSPFamily::variant None -->
|
<!-- enum RTSPFamily::variant None -->
|
||||||
|
@ -21,6 +27,50 @@ internet
|
||||||
internet V6
|
internet V6
|
||||||
<!-- enum RTSPHeaderField -->
|
<!-- enum RTSPHeaderField -->
|
||||||
Enumeration of rtsp header fields
|
Enumeration of rtsp header fields
|
||||||
|
<!-- struct RTSPLowerTrans -->
|
||||||
|
The different transport methods.
|
||||||
|
<!-- struct RTSPLowerTrans::const UNKNOWN -->
|
||||||
|
invalid transport flag
|
||||||
|
<!-- struct RTSPLowerTrans::const UDP -->
|
||||||
|
stream data over UDP
|
||||||
|
<!-- struct RTSPLowerTrans::const UDP_MCAST -->
|
||||||
|
stream data over UDP multicast
|
||||||
|
<!-- struct RTSPLowerTrans::const TCP -->
|
||||||
|
stream data over TCP
|
||||||
|
<!-- struct RTSPLowerTrans::const HTTP -->
|
||||||
|
stream data tunneled over HTTP.
|
||||||
|
<!-- struct RTSPLowerTrans::const TLS -->
|
||||||
|
encrypt TCP and HTTP with TLS
|
||||||
|
<!-- struct RTSPMethod -->
|
||||||
|
The different supported RTSP methods.
|
||||||
|
<!-- struct RTSPMethod::const INVALID -->
|
||||||
|
invalid method
|
||||||
|
<!-- struct RTSPMethod::const DESCRIBE -->
|
||||||
|
the DESCRIBE method
|
||||||
|
<!-- struct RTSPMethod::const ANNOUNCE -->
|
||||||
|
the ANNOUNCE method
|
||||||
|
<!-- struct RTSPMethod::const GET_PARAMETER -->
|
||||||
|
the GET_PARAMETER method
|
||||||
|
<!-- struct RTSPMethod::const OPTIONS -->
|
||||||
|
the OPTIONS method
|
||||||
|
<!-- struct RTSPMethod::const PAUSE -->
|
||||||
|
the PAUSE method
|
||||||
|
<!-- struct RTSPMethod::const PLAY -->
|
||||||
|
the PLAY method
|
||||||
|
<!-- struct RTSPMethod::const RECORD -->
|
||||||
|
the RECORD method
|
||||||
|
<!-- struct RTSPMethod::const REDIRECT -->
|
||||||
|
the REDIRECT method
|
||||||
|
<!-- struct RTSPMethod::const SETUP -->
|
||||||
|
the SETUP method
|
||||||
|
<!-- struct RTSPMethod::const SET_PARAMETER -->
|
||||||
|
the SET_PARAMETER method
|
||||||
|
<!-- struct RTSPMethod::const TEARDOWN -->
|
||||||
|
the TEARDOWN method
|
||||||
|
<!-- struct RTSPMethod::const GET -->
|
||||||
|
the GET method (HTTP).
|
||||||
|
<!-- struct RTSPMethod::const POST -->
|
||||||
|
the POST method (HTTP).
|
||||||
<!-- enum RTSPMsgType -->
|
<!-- enum RTSPMsgType -->
|
||||||
The type of a message.
|
The type of a message.
|
||||||
<!-- enum RTSPMsgType::variant Invalid -->
|
<!-- enum RTSPMsgType::variant Invalid -->
|
||||||
|
@ -35,6 +85,18 @@ HTTP request message.
|
||||||
HTTP response message.
|
HTTP response message.
|
||||||
<!-- enum RTSPMsgType::variant Data -->
|
<!-- enum RTSPMsgType::variant Data -->
|
||||||
data message
|
data message
|
||||||
|
<!-- struct RTSPProfile -->
|
||||||
|
The transfer profile to use.
|
||||||
|
<!-- struct RTSPProfile::const UNKNOWN -->
|
||||||
|
invalid profile
|
||||||
|
<!-- struct RTSPProfile::const AVP -->
|
||||||
|
the Audio/Visual profile (RFC 3551)
|
||||||
|
<!-- struct RTSPProfile::const SAVP -->
|
||||||
|
the secure Audio/Visual profile (RFC 3711)
|
||||||
|
<!-- struct RTSPProfile::const AVPF -->
|
||||||
|
the Audio/Visual profile with feedback (RFC 4585)
|
||||||
|
<!-- struct RTSPProfile::const SAVPF -->
|
||||||
|
the secure Audio/Visual profile with feedback (RFC 5124)
|
||||||
<!-- enum RTSPRangeUnit -->
|
<!-- enum RTSPRangeUnit -->
|
||||||
Different possible time range units.
|
Different possible time range units.
|
||||||
<!-- enum RTSPRangeUnit::variant Smpte -->
|
<!-- enum RTSPRangeUnit::variant Smpte -->
|
||||||
|
@ -113,6 +175,14 @@ end
|
||||||
frames and subframes
|
frames and subframes
|
||||||
<!-- enum RTSPTimeType::variant Utc -->
|
<!-- enum RTSPTimeType::variant Utc -->
|
||||||
UTC time
|
UTC time
|
||||||
|
<!-- struct RTSPTransMode -->
|
||||||
|
The transfer mode to use.
|
||||||
|
<!-- struct RTSPTransMode::const UNKNOWN -->
|
||||||
|
invalid tansport mode
|
||||||
|
<!-- struct RTSPTransMode::const RTP -->
|
||||||
|
transfer RTP data
|
||||||
|
<!-- struct RTSPTransMode::const RDT -->
|
||||||
|
transfer RDT (RealMedia) data
|
||||||
<!-- struct RTSPUrl -->
|
<!-- struct RTSPUrl -->
|
||||||
Provides helper functions to handle RTSP urls.
|
Provides helper functions to handle RTSP urls.
|
||||||
<!-- impl RTSPUrl::fn copy -->
|
<!-- impl RTSPUrl::fn copy -->
|
||||||
|
|
|
@ -105,6 +105,54 @@ multiply all alpha with
|
||||||
`GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE`.
|
`GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE`.
|
||||||
When the input format has no alpha but the output format has, the
|
When the input format has no alpha but the output format has, the
|
||||||
alpha value will be set to `GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE`
|
alpha value will be set to `GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE`
|
||||||
|
<!-- struct VideoBufferFlags -->
|
||||||
|
Additional video buffer flags. These flags can potentially be used on any
|
||||||
|
buffers carrying closed caption data, or video data - even encoded data.
|
||||||
|
|
||||||
|
Note that these are only valid for `gst::Caps` of type: video/... and caption/...
|
||||||
|
They can conflict with other extended buffer flags.
|
||||||
|
<!-- struct VideoBufferFlags::const INTERLACED -->
|
||||||
|
If the `gst::Buffer` is interlaced. In mixed
|
||||||
|
interlace-mode, this flags specifies if the frame is
|
||||||
|
interlaced or progressive.
|
||||||
|
<!-- struct VideoBufferFlags::const TFF -->
|
||||||
|
If the `gst::Buffer` is interlaced, then the first field
|
||||||
|
in the video frame is the top field. If unset, the
|
||||||
|
bottom field is first.
|
||||||
|
<!-- struct VideoBufferFlags::const RFF -->
|
||||||
|
If the `gst::Buffer` is interlaced, then the first field
|
||||||
|
(as defined by the `VideoBufferFlags::Tff` flag setting)
|
||||||
|
is repeated.
|
||||||
|
<!-- struct VideoBufferFlags::const ONEFIELD -->
|
||||||
|
If the `gst::Buffer` is interlaced, then only the
|
||||||
|
first field (as defined by the `VideoBufferFlags::Tff`
|
||||||
|
flag setting) is to be displayed (Since: 1.16).
|
||||||
|
<!-- struct VideoBufferFlags::const MULTIPLE_VIEW -->
|
||||||
|
The `gst::Buffer` contains one or more specific views,
|
||||||
|
such as left or right eye view. This flags is set on
|
||||||
|
any buffer that contains non-mono content - even for
|
||||||
|
streams that contain only a single viewpoint. In mixed
|
||||||
|
mono / non-mono streams, the absence of the flag marks
|
||||||
|
mono buffers.
|
||||||
|
<!-- struct VideoBufferFlags::const FIRST_IN_BUNDLE -->
|
||||||
|
When conveying stereo/multiview content with
|
||||||
|
frame-by-frame methods, this flag marks the first buffer
|
||||||
|
in a bundle of frames that belong together.
|
||||||
|
<!-- struct VideoBufferFlags::const TOP_FIELD -->
|
||||||
|
The video frame has the top field only. This is the
|
||||||
|
same as GST_VIDEO_BUFFER_FLAG_TFF |
|
||||||
|
GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16).
|
||||||
|
Use GST_VIDEO_BUFFER_IS_TOP_FIELD() to check for this flag.
|
||||||
|
<!-- struct VideoBufferFlags::const BOTTOM_FIELD -->
|
||||||
|
The video frame has the bottom field only. This is
|
||||||
|
the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD
|
||||||
|
(GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16).
|
||||||
|
Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() to check for this flag.
|
||||||
|
<!-- struct VideoBufferFlags::const MARKER -->
|
||||||
|
The `gst::Buffer` contains the end of a video field or frame
|
||||||
|
boundary such as the last subframe or packet (Since: 1.18).
|
||||||
|
<!-- struct VideoBufferFlags::const LAST -->
|
||||||
|
Offset to define more flags
|
||||||
<!-- struct VideoBufferPool -->
|
<!-- struct VideoBufferPool -->
|
||||||
|
|
||||||
|
|
||||||
|
@ -160,6 +208,26 @@ only perform chroma upsampling
|
||||||
only perform chroma downsampling
|
only perform chroma downsampling
|
||||||
<!-- enum VideoChromaMode::variant None -->
|
<!-- enum VideoChromaMode::variant None -->
|
||||||
disable chroma resampling
|
disable chroma resampling
|
||||||
|
<!-- struct VideoChromaSite -->
|
||||||
|
Various Chroma sitings.
|
||||||
|
<!-- struct VideoChromaSite::const UNKNOWN -->
|
||||||
|
unknown cositing
|
||||||
|
<!-- struct VideoChromaSite::const NONE -->
|
||||||
|
no cositing
|
||||||
|
<!-- struct VideoChromaSite::const H_COSITED -->
|
||||||
|
chroma is horizontally cosited
|
||||||
|
<!-- struct VideoChromaSite::const V_COSITED -->
|
||||||
|
chroma is vertically cosited
|
||||||
|
<!-- struct VideoChromaSite::const ALT_LINE -->
|
||||||
|
choma samples are sited on alternate lines
|
||||||
|
<!-- struct VideoChromaSite::const COSITED -->
|
||||||
|
chroma samples cosited with luma samples
|
||||||
|
<!-- struct VideoChromaSite::const JPEG -->
|
||||||
|
jpeg style cositing, also for mpeg1 and mjpeg
|
||||||
|
<!-- struct VideoChromaSite::const MPEG2 -->
|
||||||
|
mpeg2 style cositing
|
||||||
|
<!-- struct VideoChromaSite::const DV -->
|
||||||
|
DV style cositing
|
||||||
<!-- struct VideoCodecFrame -->
|
<!-- struct VideoCodecFrame -->
|
||||||
A `VideoCodecFrame` represents a video frame both in raw and
|
A `VideoCodecFrame` represents a video frame both in raw and
|
||||||
encoded form.
|
encoded form.
|
||||||
|
@ -189,6 +257,16 @@ a `GDestroyNotify`
|
||||||
<!-- impl VideoCodecFrame::fn unref -->
|
<!-- impl VideoCodecFrame::fn unref -->
|
||||||
Decreases the refcount of the frame. If the refcount reaches 0, the frame
|
Decreases the refcount of the frame. If the refcount reaches 0, the frame
|
||||||
will be freed.
|
will be freed.
|
||||||
|
<!-- struct VideoCodecFrameFlags -->
|
||||||
|
Flags for `VideoCodecFrame`
|
||||||
|
<!-- struct VideoCodecFrameFlags::const DECODE_ONLY -->
|
||||||
|
is the frame only meant to be decoded
|
||||||
|
<!-- struct VideoCodecFrameFlags::const SYNC_POINT -->
|
||||||
|
is the frame a synchronization point (keyframe)
|
||||||
|
<!-- struct VideoCodecFrameFlags::const FORCE_KEYFRAME -->
|
||||||
|
should the output frame be made a keyframe
|
||||||
|
<!-- struct VideoCodecFrameFlags::const FORCE_KEYFRAME_HEADERS -->
|
||||||
|
should the encoder output stream headers
|
||||||
<!-- struct VideoCodecState -->
|
<!-- struct VideoCodecState -->
|
||||||
Structure representing the state of an incoming or outgoing video
|
Structure representing the state of an incoming or outgoing video
|
||||||
stream for encoders and decoders.
|
stream for encoders and decoders.
|
||||||
|
@ -681,6 +759,18 @@ handler with `GST_PAD_SET_ACCEPT_INTERSECT` and
|
||||||
`GST_PAD_SET_ACCEPT_TEMPLATE`
|
`GST_PAD_SET_ACCEPT_TEMPLATE`
|
||||||
## `use_`
|
## `use_`
|
||||||
if the default pad accept-caps query handling should be used
|
if the default pad accept-caps query handling should be used
|
||||||
|
<!-- trait VideoDecoderExt::fn get_property_max_errors -->
|
||||||
|
Maximum number of tolerated consecutive decode errors. See
|
||||||
|
`VideoDecoderExt::set_max_errors` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
<!-- trait VideoDecoderExt::fn set_property_max_errors -->
|
||||||
|
Maximum number of tolerated consecutive decode errors. See
|
||||||
|
`VideoDecoderExt::set_max_errors` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- trait VideoDecoderExt::fn get_property_qos -->
|
<!-- trait VideoDecoderExt::fn get_property_qos -->
|
||||||
If set to `true` the decoder will handle QoS events received
|
If set to `true` the decoder will handle QoS events received
|
||||||
from downstream elements.
|
from downstream elements.
|
||||||
|
@ -888,6 +978,16 @@ a `VideoCodecFrame`
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
max decoding time.
|
max decoding time.
|
||||||
|
<!-- trait VideoEncoderExt::fn get_min_force_key_unit_interval -->
|
||||||
|
Returns the minimum force-keyunit interval, see `VideoEncoderExt::set_min_force_key_unit_interval`
|
||||||
|
for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
the minimum force-keyunit interval
|
||||||
<!-- trait VideoEncoderExt::fn get_oldest_frame -->
|
<!-- trait VideoEncoderExt::fn get_oldest_frame -->
|
||||||
Get the oldest unfinished pending `VideoCodecFrame`
|
Get the oldest unfinished pending `VideoCodecFrame`
|
||||||
|
|
||||||
|
@ -954,6 +1054,15 @@ Informs baseclass of encoding latency.
|
||||||
minimum latency
|
minimum latency
|
||||||
## `max_latency`
|
## `max_latency`
|
||||||
maximum latency
|
maximum latency
|
||||||
|
<!-- trait VideoEncoderExt::fn set_min_force_key_unit_interval -->
|
||||||
|
Sets the minimum interval for requesting keyframes based on force-keyunit
|
||||||
|
events. Setting this to 0 will allow to handle every event, setting this to
|
||||||
|
`GST_CLOCK_TIME_NONE` causes force-keyunit events to be ignored.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
## `interval`
|
||||||
|
minimum interval
|
||||||
<!-- trait VideoEncoderExt::fn set_min_pts -->
|
<!-- trait VideoEncoderExt::fn set_min_pts -->
|
||||||
Request minimal value for PTS passed to handle_frame.
|
Request minimal value for PTS passed to handle_frame.
|
||||||
|
|
||||||
|
@ -995,6 +1104,18 @@ Feature: `v1_14`
|
||||||
|
|
||||||
## `enabled`
|
## `enabled`
|
||||||
the new qos value.
|
the new qos value.
|
||||||
|
<!-- trait VideoEncoderExt::fn get_property_min_force_key_unit_interval -->
|
||||||
|
Minimum interval between force-keyunit requests in nanoseconds. See
|
||||||
|
`VideoEncoderExt::set_min_force_key_unit_interval` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
<!-- trait VideoEncoderExt::fn set_property_min_force_key_unit_interval -->
|
||||||
|
Minimum interval between force-keyunit requests in nanoseconds. See
|
||||||
|
`VideoEncoderExt::set_min_force_key_unit_interval` for more details.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
<!-- enum VideoFieldOrder -->
|
<!-- enum VideoFieldOrder -->
|
||||||
Field order of interlaced content. This is only valid for
|
Field order of interlaced content. This is only valid for
|
||||||
interlace-mode=interleaved and not interlace-mode=mixed. In the case of
|
interlace-mode=interleaved and not interlace-mode=mixed. In the case of
|
||||||
|
@ -1019,6 +1140,16 @@ to implement frame dropping.
|
||||||
# Implements
|
# Implements
|
||||||
|
|
||||||
[`gst_base::BaseTransformExt`](../gst_base/trait.BaseTransformExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
[`gst_base::BaseTransformExt`](../gst_base/trait.BaseTransformExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||||
|
<!-- struct VideoFlags -->
|
||||||
|
Extra video flags
|
||||||
|
<!-- struct VideoFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct VideoFlags::const VARIABLE_FPS -->
|
||||||
|
a variable fps is selected, fps_n and fps_d
|
||||||
|
denote the maximum fps of the video
|
||||||
|
<!-- struct VideoFlags::const PREMULTIPLIED_ALPHA -->
|
||||||
|
Each color has been scaled by the alpha
|
||||||
|
value.
|
||||||
<!-- enum VideoFormat -->
|
<!-- enum VideoFormat -->
|
||||||
Enum value describing the most common video formats.
|
Enum value describing the most common video formats.
|
||||||
|
|
||||||
|
@ -1221,6 +1352,63 @@ packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18)
|
||||||
packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)
|
packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)
|
||||||
<!-- enum VideoFormat::variant Y412Le -->
|
<!-- enum VideoFormat::variant Y412Le -->
|
||||||
packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)
|
packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18)
|
||||||
|
<!-- struct VideoFormatFlags -->
|
||||||
|
The different video flags that a format info can have.
|
||||||
|
<!-- struct VideoFormatFlags::const YUV -->
|
||||||
|
The video format is YUV, components are numbered
|
||||||
|
0=Y, 1=U, 2=V.
|
||||||
|
<!-- struct VideoFormatFlags::const RGB -->
|
||||||
|
The video format is RGB, components are numbered
|
||||||
|
0=R, 1=G, 2=B.
|
||||||
|
<!-- struct VideoFormatFlags::const GRAY -->
|
||||||
|
The video is gray, there is one gray component
|
||||||
|
with index 0.
|
||||||
|
<!-- struct VideoFormatFlags::const ALPHA -->
|
||||||
|
The video format has an alpha components with
|
||||||
|
the number 3.
|
||||||
|
<!-- struct VideoFormatFlags::const LE -->
|
||||||
|
The video format has data stored in little
|
||||||
|
endianness.
|
||||||
|
<!-- struct VideoFormatFlags::const PALETTE -->
|
||||||
|
The video format has a palette. The palette
|
||||||
|
is stored in the second plane and indexes are stored in the first plane.
|
||||||
|
<!-- struct VideoFormatFlags::const COMPLEX -->
|
||||||
|
The video format has a complex layout that
|
||||||
|
can't be described with the usual information in the `VideoFormatInfo`.
|
||||||
|
<!-- struct VideoFormatFlags::const UNPACK -->
|
||||||
|
This format can be used in a
|
||||||
|
`GstVideoFormatUnpack` and `GstVideoFormatPack` function.
|
||||||
|
<!-- struct VideoFormatFlags::const TILED -->
|
||||||
|
The format is tiled, there is tiling information
|
||||||
|
in the last plane.
|
||||||
|
<!-- struct VideoFrameFlags -->
|
||||||
|
Extra video frame flags
|
||||||
|
<!-- struct VideoFrameFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct VideoFrameFlags::const INTERLACED -->
|
||||||
|
The video frame is interlaced. In mixed
|
||||||
|
interlace-mode, this flag specifies if the frame is interlaced or
|
||||||
|
progressive.
|
||||||
|
<!-- struct VideoFrameFlags::const TFF -->
|
||||||
|
The video frame has the top field first
|
||||||
|
<!-- struct VideoFrameFlags::const RFF -->
|
||||||
|
The video frame has the repeat flag
|
||||||
|
<!-- struct VideoFrameFlags::const ONEFIELD -->
|
||||||
|
The video frame has one field
|
||||||
|
<!-- struct VideoFrameFlags::const MULTIPLE_VIEW -->
|
||||||
|
The video contains one or
|
||||||
|
more non-mono views
|
||||||
|
<!-- struct VideoFrameFlags::const FIRST_IN_BUNDLE -->
|
||||||
|
The video frame is the first
|
||||||
|
in a set of corresponding views provided as sequential frames.
|
||||||
|
<!-- struct VideoFrameFlags::const TOP_FIELD -->
|
||||||
|
The video frame has the top field only. This
|
||||||
|
is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD
|
||||||
|
(Since: 1.16).
|
||||||
|
<!-- struct VideoFrameFlags::const BOTTOM_FIELD -->
|
||||||
|
The video frame has the bottom field
|
||||||
|
only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD
|
||||||
|
(GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16).
|
||||||
<!-- enum VideoGammaMode -->
|
<!-- enum VideoGammaMode -->
|
||||||
<!-- enum VideoGammaMode::variant None -->
|
<!-- enum VideoGammaMode::variant None -->
|
||||||
disable gamma handling
|
disable gamma handling
|
||||||
|
@ -1396,6 +1584,42 @@ use the output color matrix to convert
|
||||||
to and from R'G'B
|
to and from R'G'B
|
||||||
<!-- enum VideoMatrixMode::variant None -->
|
<!-- enum VideoMatrixMode::variant None -->
|
||||||
disable color matrix conversion.
|
disable color matrix conversion.
|
||||||
|
<!-- struct VideoMultiviewFlags -->
|
||||||
|
GstVideoMultiviewFlags are used to indicate extra properties of a
|
||||||
|
stereo/multiview stream beyond the frame layout and buffer mapping
|
||||||
|
that is conveyed in the `VideoMultiviewMode`.
|
||||||
|
<!-- struct VideoMultiviewFlags::const NONE -->
|
||||||
|
No flags
|
||||||
|
<!-- struct VideoMultiviewFlags::const RIGHT_VIEW_FIRST -->
|
||||||
|
For stereo streams, the
|
||||||
|
normal arrangement of left and right views is reversed.
|
||||||
|
<!-- struct VideoMultiviewFlags::const LEFT_FLIPPED -->
|
||||||
|
The left view is vertically
|
||||||
|
mirrored.
|
||||||
|
<!-- struct VideoMultiviewFlags::const LEFT_FLOPPED -->
|
||||||
|
The left view is horizontally
|
||||||
|
mirrored.
|
||||||
|
<!-- struct VideoMultiviewFlags::const RIGHT_FLIPPED -->
|
||||||
|
The right view is
|
||||||
|
vertically mirrored.
|
||||||
|
<!-- struct VideoMultiviewFlags::const RIGHT_FLOPPED -->
|
||||||
|
The right view is
|
||||||
|
horizontally mirrored.
|
||||||
|
<!-- struct VideoMultiviewFlags::const HALF_ASPECT -->
|
||||||
|
For frame-packed
|
||||||
|
multiview modes, indicates that the individual
|
||||||
|
views have been encoded with half the true width or height
|
||||||
|
and should be scaled back up for display. This flag
|
||||||
|
is used for overriding input layout interpretation
|
||||||
|
by adjusting pixel-aspect-ratio.
|
||||||
|
For side-by-side, column interleaved or checkerboard packings, the
|
||||||
|
pixel width will be doubled. For row interleaved and top-bottom
|
||||||
|
encodings, pixel height will be doubled.
|
||||||
|
<!-- struct VideoMultiviewFlags::const MIXED_MONO -->
|
||||||
|
The video stream contains both
|
||||||
|
mono and multiview portions, signalled on each buffer by the
|
||||||
|
absence or presence of the `VideoBufferFlags::MultipleView`
|
||||||
|
buffer flag.
|
||||||
<!-- enum VideoMultiviewFramePacking -->
|
<!-- enum VideoMultiviewFramePacking -->
|
||||||
`VideoMultiviewFramePacking` represents the subset of `VideoMultiviewMode`
|
`VideoMultiviewFramePacking` represents the subset of `VideoMultiviewMode`
|
||||||
values that can be applied to any video frame without needing extra metadata.
|
values that can be applied to any video frame without needing extra metadata.
|
||||||
|
@ -1694,13 +1918,13 @@ main (int argc, char **argv)
|
||||||
|
|
||||||
|
|
||||||
```text
|
```text
|
||||||
#include <glib.h>
|
#include <glib.h>;
|
||||||
#include <gst/gst.h>
|
#include <gst/gst.h>;
|
||||||
#include <gst/video/videooverlay.h>
|
#include <gst/video/videooverlay.h>;
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>;
|
||||||
#include <QTimer>
|
#include <QTimer>;
|
||||||
#include <QWidget>
|
#include <QWidget>;
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
@ -1844,6 +2068,28 @@ specific window (e.g. an XWindow on X11). Passing 0 as the `handle` will
|
||||||
tell the overlay to stop using that window and create an internal one.
|
tell the overlay to stop using that window and create an internal one.
|
||||||
## `handle`
|
## `handle`
|
||||||
a handle referencing the window.
|
a handle referencing the window.
|
||||||
|
<!-- struct VideoOverlayFormatFlags -->
|
||||||
|
Overlay format flags.
|
||||||
|
<!-- struct VideoOverlayFormatFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct VideoOverlayFormatFlags::const PREMULTIPLIED_ALPHA -->
|
||||||
|
RGB are premultiplied by A/255.
|
||||||
|
<!-- struct VideoOverlayFormatFlags::const GLOBAL_ALPHA -->
|
||||||
|
a global-alpha value != 1 is set.
|
||||||
|
<!-- struct VideoPackFlags -->
|
||||||
|
The different flags that can be used when packing and unpacking.
|
||||||
|
<!-- struct VideoPackFlags::const NONE -->
|
||||||
|
No flag
|
||||||
|
<!-- struct VideoPackFlags::const TRUNCATE_RANGE -->
|
||||||
|
When the source has a smaller depth
|
||||||
|
than the target format, set the least significant bits of the target
|
||||||
|
to 0. This is likely slightly faster but less accurate. When this flag
|
||||||
|
is not specified, the most significant bits of the source are duplicated
|
||||||
|
in the least significant bits of the destination.
|
||||||
|
<!-- struct VideoPackFlags::const INTERLACED -->
|
||||||
|
The source is interlaced. The unpacked
|
||||||
|
format will be interlaced as well with each line containing
|
||||||
|
information from alternating fields. (Since: 1.2)
|
||||||
<!-- enum VideoPrimariesMode -->
|
<!-- enum VideoPrimariesMode -->
|
||||||
Different primaries conversion modes
|
Different primaries conversion modes
|
||||||
<!-- enum VideoPrimariesMode::variant None -->
|
<!-- enum VideoPrimariesMode::variant None -->
|
||||||
|
@ -2200,6 +2446,18 @@ field 2
|
||||||
':' for non-drop-frame, non-interlaced content and for non-drop-frame
|
':' for non-drop-frame, non-interlaced content and for non-drop-frame
|
||||||
interlaced field 2
|
interlaced field 2
|
||||||
'.' for non-drop-frame interlaced field 1
|
'.' for non-drop-frame interlaced field 1
|
||||||
|
<!-- struct VideoTimeCodeFlags -->
|
||||||
|
Flags related to the time code information.
|
||||||
|
For drop frame, only 30000/1001 and 60000/1001 frame rates are supported.
|
||||||
|
<!-- struct VideoTimeCodeFlags::const NONE -->
|
||||||
|
No flags
|
||||||
|
<!-- struct VideoTimeCodeFlags::const DROP_FRAME -->
|
||||||
|
Whether we have drop frame rate
|
||||||
|
<!-- struct VideoTimeCodeFlags::const INTERLACED -->
|
||||||
|
Whether we have interlaced video
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
<!-- struct VideoTimeCodeInterval -->
|
<!-- struct VideoTimeCodeInterval -->
|
||||||
A representation of a difference between two `VideoTimeCode` instances.
|
A representation of a difference between two `VideoTimeCode` instances.
|
||||||
Will not necessarily correspond to a real timecode (e.g. 00:00:10;00)
|
Will not necessarily correspond to a real timecode (e.g. 00:00:10;00)
|
||||||
|
|
|
@ -485,6 +485,20 @@ The messages are converted to an ELEMENT message with the bin as the
|
||||||
source. The structure of the message is named 'GstBinForwarded' and contains
|
source. The structure of the message is named 'GstBinForwarded' and contains
|
||||||
a field named 'message' of type GST_TYPE_MESSAGE that contains the original
|
a field named 'message' of type GST_TYPE_MESSAGE that contains the original
|
||||||
forwarded message.
|
forwarded message.
|
||||||
|
<!-- struct BinFlags -->
|
||||||
|
GstBinFlags are a set of flags specific to bins. Most are set/used
|
||||||
|
internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro,
|
||||||
|
and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET ().
|
||||||
|
<!-- struct BinFlags::const NO_RESYNC -->
|
||||||
|
don't resync a state change when elements are
|
||||||
|
added or linked in the bin (Since: 1.0.5)
|
||||||
|
<!-- struct BinFlags::const STREAMS_AWARE -->
|
||||||
|
Indicates whether the bin can handle elements
|
||||||
|
that add/remove source pads at any point in time without
|
||||||
|
first posting a no-more-pads signal (Since: 1.10)
|
||||||
|
<!-- struct BinFlags::const LAST -->
|
||||||
|
the last enum in the series of flags for bins.
|
||||||
|
Derived classes can use this as first value in a list of flags.
|
||||||
<!-- struct Buffer -->
|
<!-- struct Buffer -->
|
||||||
Buffers are the basic unit of data transfer in GStreamer. They contain the
|
Buffers are the basic unit of data transfer in GStreamer. They contain the
|
||||||
timing and offset along with other arbitrary metadata that is associated
|
timing and offset along with other arbitrary metadata that is associated
|
||||||
|
@ -1000,6 +1014,17 @@ a pointer to the maxsize
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
total size of `length` memory blocks starting at `idx` in `self`.
|
total size of `length` memory blocks starting at `idx` in `self`.
|
||||||
|
<!-- impl Buffer::fn has_flags -->
|
||||||
|
Gives the status of a specific flag on a buffer.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
|
## `flags`
|
||||||
|
the `BufferFlags` flag to check.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` if all flags in `flags` are found on `self`.
|
||||||
<!-- impl Buffer::fn insert_memory -->
|
<!-- impl Buffer::fn insert_memory -->
|
||||||
Insert the memory block `mem` to `self` at `idx`. This function takes ownership
|
Insert the memory block `mem` to `self` at `idx`. This function takes ownership
|
||||||
of `mem` and thus doesn't increase its refcount.
|
of `mem` and thus doesn't increase its refcount.
|
||||||
|
@ -1303,6 +1328,82 @@ pointer to a `Buffer` that will
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` when `obuf` was different from `nbuf`.
|
`true` when `obuf` was different from `nbuf`.
|
||||||
|
<!-- struct BufferCopyFlags -->
|
||||||
|
A set of flags that can be provided to the `Buffer::copy_into`
|
||||||
|
function to specify which items should be copied.
|
||||||
|
<!-- struct BufferCopyFlags::const NONE -->
|
||||||
|
copy nothing
|
||||||
|
<!-- struct BufferCopyFlags::const FLAGS -->
|
||||||
|
flag indicating that buffer flags should be copied
|
||||||
|
<!-- struct BufferCopyFlags::const TIMESTAMPS -->
|
||||||
|
flag indicating that buffer pts, dts,
|
||||||
|
duration, offset and offset_end should be copied
|
||||||
|
<!-- struct BufferCopyFlags::const META -->
|
||||||
|
flag indicating that buffer meta should be
|
||||||
|
copied
|
||||||
|
<!-- struct BufferCopyFlags::const MEMORY -->
|
||||||
|
flag indicating that buffer memory should be reffed
|
||||||
|
and appended to already existing memory. Unless the memory is marked as
|
||||||
|
NO_SHARE, no actual copy of the memory is made but it is simply reffed.
|
||||||
|
Add `BufferCopyFlags::Deep` to force a real copy.
|
||||||
|
<!-- struct BufferCopyFlags::const MERGE -->
|
||||||
|
flag indicating that buffer memory should be
|
||||||
|
merged
|
||||||
|
<!-- struct BufferCopyFlags::const DEEP -->
|
||||||
|
flag indicating that memory should always be
|
||||||
|
copied instead of reffed (Since: 1.2)
|
||||||
|
<!-- struct BufferFlags -->
|
||||||
|
A set of buffer flags used to describe properties of a `Buffer`.
|
||||||
|
<!-- struct BufferFlags::const LIVE -->
|
||||||
|
the buffer is live data and should be discarded in
|
||||||
|
the PAUSED state.
|
||||||
|
<!-- struct BufferFlags::const DECODE_ONLY -->
|
||||||
|
the buffer contains data that should be dropped
|
||||||
|
because it will be clipped against the segment
|
||||||
|
boundaries or because it does not contain data
|
||||||
|
that should be shown to the user.
|
||||||
|
<!-- struct BufferFlags::const DISCONT -->
|
||||||
|
the buffer marks a data discontinuity in the stream.
|
||||||
|
This typically occurs after a seek or a dropped buffer
|
||||||
|
from a live or network source.
|
||||||
|
<!-- struct BufferFlags::const RESYNC -->
|
||||||
|
the buffer timestamps might have a discontinuity
|
||||||
|
and this buffer is a good point to resynchronize.
|
||||||
|
<!-- struct BufferFlags::const CORRUPTED -->
|
||||||
|
the buffer data is corrupted.
|
||||||
|
<!-- struct BufferFlags::const MARKER -->
|
||||||
|
the buffer contains a media specific marker. for
|
||||||
|
video this is the end of a frame boundary, for audio
|
||||||
|
this is the start of a talkspurt.
|
||||||
|
<!-- struct BufferFlags::const HEADER -->
|
||||||
|
the buffer contains header information that is
|
||||||
|
needed to decode the following data.
|
||||||
|
<!-- struct BufferFlags::const GAP -->
|
||||||
|
the buffer has been created to fill a gap in the
|
||||||
|
stream and contains media neutral data (elements can
|
||||||
|
switch to optimized code path that ignores the buffer
|
||||||
|
content).
|
||||||
|
<!-- struct BufferFlags::const DROPPABLE -->
|
||||||
|
the buffer can be dropped without breaking the
|
||||||
|
stream, for example to reduce bandwidth.
|
||||||
|
<!-- struct BufferFlags::const DELTA_UNIT -->
|
||||||
|
this unit cannot be decoded independently.
|
||||||
|
<!-- struct BufferFlags::const TAG_MEMORY -->
|
||||||
|
this flag is set when memory of the buffer
|
||||||
|
is added/removed
|
||||||
|
<!-- struct BufferFlags::const SYNC_AFTER -->
|
||||||
|
Elements which write to disk or permanent
|
||||||
|
storage should ensure the data is synced after
|
||||||
|
writing the contents of this buffer. (Since: 1.6)
|
||||||
|
<!-- struct BufferFlags::const NON_DROPPABLE -->
|
||||||
|
This buffer is important and should not be dropped.
|
||||||
|
This can be used to mark important buffers, e.g. to flag
|
||||||
|
RTP packets carrying keyframes or codec setup data for RTP
|
||||||
|
Forward Error Correction purposes, or to prevent still video
|
||||||
|
frames from being dropped by elements due to QoS. (Since: 1.14)
|
||||||
|
<!-- struct BufferFlags::const LAST -->
|
||||||
|
additional media specific flags can be added starting from
|
||||||
|
this flag.
|
||||||
<!-- struct BufferList -->
|
<!-- struct BufferList -->
|
||||||
Buffer lists are an object containing a list of buffers.
|
Buffer lists are an object containing a list of buffers.
|
||||||
|
|
||||||
|
@ -1716,6 +1817,21 @@ Enable or disable the flushing state of a `self` without freeing or
|
||||||
allocating buffers.
|
allocating buffers.
|
||||||
## `flushing`
|
## `flushing`
|
||||||
whether to start or stop flushing
|
whether to start or stop flushing
|
||||||
|
<!-- struct BufferPoolAcquireFlags -->
|
||||||
|
Additional flags to control the allocation of a buffer
|
||||||
|
<!-- struct BufferPoolAcquireFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct BufferPoolAcquireFlags::const KEY_UNIT -->
|
||||||
|
buffer is keyframe
|
||||||
|
<!-- struct BufferPoolAcquireFlags::const DONTWAIT -->
|
||||||
|
when the bufferpool is empty, acquire_buffer
|
||||||
|
will by default block until a buffer is released into the pool again. Setting
|
||||||
|
this flag makes acquire_buffer return `FlowReturn::Eos` instead of blocking.
|
||||||
|
<!-- struct BufferPoolAcquireFlags::const DISCONT -->
|
||||||
|
buffer is discont
|
||||||
|
<!-- struct BufferPoolAcquireFlags::const LAST -->
|
||||||
|
last flag, subclasses can use private flags
|
||||||
|
starting from this value.
|
||||||
<!-- enum BufferingMode -->
|
<!-- enum BufferingMode -->
|
||||||
The different types of buffering methods.
|
The different types of buffering methods.
|
||||||
<!-- enum BufferingMode::variant Stream -->
|
<!-- enum BufferingMode::variant Stream -->
|
||||||
|
@ -3443,6 +3559,25 @@ The type of the clock entry
|
||||||
a single shot timeout
|
a single shot timeout
|
||||||
<!-- enum ClockEntryType::variant Periodic -->
|
<!-- enum ClockEntryType::variant Periodic -->
|
||||||
a periodic timeout request
|
a periodic timeout request
|
||||||
|
<!-- struct ClockFlags -->
|
||||||
|
The capabilities of this clock
|
||||||
|
<!-- struct ClockFlags::const CAN_DO_SINGLE_SYNC -->
|
||||||
|
clock can do a single sync timeout request
|
||||||
|
<!-- struct ClockFlags::const CAN_DO_SINGLE_ASYNC -->
|
||||||
|
clock can do a single async timeout request
|
||||||
|
<!-- struct ClockFlags::const CAN_DO_PERIODIC_SYNC -->
|
||||||
|
clock can do sync periodic timeout requests
|
||||||
|
<!-- struct ClockFlags::const CAN_DO_PERIODIC_ASYNC -->
|
||||||
|
clock can do async periodic timeout callbacks
|
||||||
|
<!-- struct ClockFlags::const CAN_SET_RESOLUTION -->
|
||||||
|
clock's resolution can be changed
|
||||||
|
<!-- struct ClockFlags::const CAN_SET_MASTER -->
|
||||||
|
clock can be slaved to a master clock
|
||||||
|
<!-- struct ClockFlags::const NEEDS_STARTUP_SYNC -->
|
||||||
|
clock needs to be synced before it can be used
|
||||||
|
(Since: 1.6)
|
||||||
|
<!-- struct ClockFlags::const LAST -->
|
||||||
|
subclasses can add additional flags starting from this flag
|
||||||
<!-- enum ClockReturn -->
|
<!-- enum ClockReturn -->
|
||||||
The return value of a clock operation.
|
The return value of a clock operation.
|
||||||
<!-- enum ClockReturn::variant Ok -->
|
<!-- enum ClockReturn::variant Ok -->
|
||||||
|
@ -3926,6 +4061,65 @@ a newly allocated string formatted according
|
||||||
<!-- impl DateTime::fn unref -->
|
<!-- impl DateTime::fn unref -->
|
||||||
Atomically decrements the reference count of `self` by one. When the
|
Atomically decrements the reference count of `self` by one. When the
|
||||||
reference count reaches zero, the structure is freed.
|
reference count reaches zero, the structure is freed.
|
||||||
|
<!-- struct DebugColorFlags -->
|
||||||
|
These are some terminal style flags you can use when creating your
|
||||||
|
debugging categories to make them stand out in debugging output.
|
||||||
|
<!-- struct DebugColorFlags::const FG_BLACK -->
|
||||||
|
Use black as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_RED -->
|
||||||
|
Use red as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_GREEN -->
|
||||||
|
Use green as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_YELLOW -->
|
||||||
|
Use yellow as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_BLUE -->
|
||||||
|
Use blue as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_MAGENTA -->
|
||||||
|
Use magenta as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_CYAN -->
|
||||||
|
Use cyan as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const FG_WHITE -->
|
||||||
|
Use white as foreground color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_BLACK -->
|
||||||
|
Use black as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_RED -->
|
||||||
|
Use red as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_GREEN -->
|
||||||
|
Use green as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_YELLOW -->
|
||||||
|
Use yellow as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_BLUE -->
|
||||||
|
Use blue as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_MAGENTA -->
|
||||||
|
Use magenta as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_CYAN -->
|
||||||
|
Use cyan as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BG_WHITE -->
|
||||||
|
Use white as background color.
|
||||||
|
<!-- struct DebugColorFlags::const BOLD -->
|
||||||
|
Make the output bold.
|
||||||
|
<!-- struct DebugColorFlags::const UNDERLINE -->
|
||||||
|
Underline the output.
|
||||||
|
<!-- struct DebugGraphDetails -->
|
||||||
|
Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE()
|
||||||
|
and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS().
|
||||||
|
<!-- struct DebugGraphDetails::const MEDIA_TYPE -->
|
||||||
|
show caps-name on edges
|
||||||
|
<!-- struct DebugGraphDetails::const CAPS_DETAILS -->
|
||||||
|
show caps-details on edges
|
||||||
|
<!-- struct DebugGraphDetails::const NON_DEFAULT_PARAMS -->
|
||||||
|
show modified parameters on
|
||||||
|
elements
|
||||||
|
<!-- struct DebugGraphDetails::const STATES -->
|
||||||
|
show element states
|
||||||
|
<!-- struct DebugGraphDetails::const FULL_PARAMS -->
|
||||||
|
show full element parameter values even
|
||||||
|
if they are very long
|
||||||
|
<!-- struct DebugGraphDetails::const ALL -->
|
||||||
|
show all the typical details that one might want
|
||||||
|
<!-- struct DebugGraphDetails::const VERBOSE -->
|
||||||
|
show all details regardless of how large or
|
||||||
|
verbose they make the resulting output
|
||||||
<!-- enum DebugLevel -->
|
<!-- enum DebugLevel -->
|
||||||
The level defines the importance of a debugging message. The more important a
|
The level defines the importance of a debugging message. The more important a
|
||||||
message is, the greater the probability that the debugging system outputs it.
|
message is, the greater the probability that the debugging system outputs it.
|
||||||
|
@ -5761,6 +5955,22 @@ a `ElementFactoryListType`
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if `self` is of `type_`.
|
`true` if `self` is of `type_`.
|
||||||
|
<!-- struct ElementFlags -->
|
||||||
|
The standard flags that an element may have.
|
||||||
|
<!-- struct ElementFlags::const LOCKED_STATE -->
|
||||||
|
ignore state changes from parent
|
||||||
|
<!-- struct ElementFlags::const SINK -->
|
||||||
|
the element is a sink
|
||||||
|
<!-- struct ElementFlags::const SOURCE -->
|
||||||
|
the element is a source.
|
||||||
|
<!-- struct ElementFlags::const PROVIDE_CLOCK -->
|
||||||
|
the element can provide a clock
|
||||||
|
<!-- struct ElementFlags::const REQUIRE_CLOCK -->
|
||||||
|
the element requires a clock
|
||||||
|
<!-- struct ElementFlags::const INDEXABLE -->
|
||||||
|
the element can use an index
|
||||||
|
<!-- struct ElementFlags::const LAST -->
|
||||||
|
offset to define more flags
|
||||||
<!-- struct Event -->
|
<!-- struct Event -->
|
||||||
The event class provides factory methods to construct events for sending
|
The event class provides factory methods to construct events for sending
|
||||||
and functions to query (parse) received events.
|
and functions to query (parse) received events.
|
||||||
|
@ -7021,6 +7231,11 @@ This function is most useful in language bindings and when subclassing
|
||||||
function. Call this function directly after a call to g_object_new
|
function. Call this function directly after a call to g_object_new
|
||||||
(GST_TYPE_GHOST_PAD, "direction", `dir`, ..., NULL).
|
(GST_TYPE_GHOST_PAD, "direction", `dir`, ..., NULL).
|
||||||
|
|
||||||
|
# Deprecated
|
||||||
|
|
||||||
|
This function is deprecated since 1.18 and does nothing
|
||||||
|
anymore.
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if the construction succeeds, `false` otherwise.
|
`true` if the construction succeeds, `false` otherwise.
|
||||||
|
@ -7062,6 +7277,24 @@ used when the library doesn't accept settings.
|
||||||
used when the library generated an encoding error.
|
used when the library generated an encoding error.
|
||||||
<!-- enum LibraryError::variant NumErrors -->
|
<!-- enum LibraryError::variant NumErrors -->
|
||||||
the number of library error types.
|
the number of library error types.
|
||||||
|
<!-- struct MemoryFlags -->
|
||||||
|
Flags for wrapped memory.
|
||||||
|
<!-- struct MemoryFlags::const READONLY -->
|
||||||
|
memory is readonly. It is not allowed to map the
|
||||||
|
memory with `MapFlags::Write`.
|
||||||
|
<!-- struct MemoryFlags::const NO_SHARE -->
|
||||||
|
memory must not be shared. Copies will have to be
|
||||||
|
made when this memory needs to be shared between buffers.
|
||||||
|
<!-- struct MemoryFlags::const ZERO_PREFIXED -->
|
||||||
|
the memory prefix is filled with 0 bytes
|
||||||
|
<!-- struct MemoryFlags::const ZERO_PADDED -->
|
||||||
|
the memory padding is filled with 0 bytes
|
||||||
|
<!-- struct MemoryFlags::const PHYSICALLY_CONTIGUOUS -->
|
||||||
|
the memory is physically contiguous. (Since: 1.2)
|
||||||
|
<!-- struct MemoryFlags::const NOT_MAPPABLE -->
|
||||||
|
the memory can't be mapped via `Memory::map` without any preconditions. (Since: 1.2)
|
||||||
|
<!-- struct MemoryFlags::const LAST -->
|
||||||
|
first flag that can be used for custom purposes
|
||||||
<!-- struct Message -->
|
<!-- struct Message -->
|
||||||
Messages are implemented as a subclass of `MiniObject` with a generic
|
Messages are implemented as a subclass of `MiniObject` with a generic
|
||||||
`Structure` as the content. This allows for writing custom messages without
|
`Structure` as the content. This allows for writing custom messages without
|
||||||
|
@ -7078,7 +7311,7 @@ The basic use pattern of posting a message on a `Bus` is as follows:
|
||||||
```
|
```
|
||||||
|
|
||||||
A `Element` usually posts messages on the bus provided by the parent
|
A `Element` usually posts messages on the bus provided by the parent
|
||||||
container using `ElementExt::post_message`.
|
container using `Element::post_message`.
|
||||||
<!-- impl Message::fn new_application -->
|
<!-- impl Message::fn new_application -->
|
||||||
Create a new application-typed message. GStreamer will never create these
|
Create a new application-typed message. GStreamer will never create these
|
||||||
messages; they are a gift from us to you. Enjoy.
|
messages; they are a gift from us to you. Enjoy.
|
||||||
|
@ -8487,7 +8720,7 @@ floating reference. Be aware that functions such as `GstBinExt::add` and
|
||||||
`ElementExt::add_pad` take ownership of the floating reference.
|
`ElementExt::add_pad` take ownership of the floating reference.
|
||||||
|
|
||||||
In contrast to `gobject::Object` instances, `Object` adds a name property. The functions
|
In contrast to `gobject::Object` instances, `Object` adds a name property. The functions
|
||||||
`GstObjectExt::set_name` and `GstObjectExt::get_name` are used to set/get the name
|
`Object::set_name` and `GstObjectExt::get_name` are used to set/get the name
|
||||||
of the object.
|
of the object.
|
||||||
|
|
||||||
## controlled properties
|
## controlled properties
|
||||||
|
@ -8908,6 +9141,14 @@ property, we don't emit `gobject::Object::notify` and `Object::deep-notify`
|
||||||
signals due to locking issues. In some cases one can use
|
signals due to locking issues. In some cases one can use
|
||||||
`Bin::element-added` or `Bin::element-removed` signals on the parent to
|
`Bin::element-added` or `Bin::element-removed` signals on the parent to
|
||||||
achieve a similar effect.
|
achieve a similar effect.
|
||||||
|
<!-- struct ObjectFlags -->
|
||||||
|
The standard flags that an gstobject may have.
|
||||||
|
<!-- struct ObjectFlags::const MAY_BE_LEAKED -->
|
||||||
|
the object is expected to stay alive even
|
||||||
|
after `gst_deinit` has been called and so should be ignored by leak
|
||||||
|
detection tools. (Since: 1.10)
|
||||||
|
<!-- struct ObjectFlags::const LAST -->
|
||||||
|
subclasses can add additional flags starting from this flag
|
||||||
<!-- struct Pad -->
|
<!-- struct Pad -->
|
||||||
A `Element` is linked to other elements via "pads", which are extremely
|
A `Element` is linked to other elements via "pads", which are extremely
|
||||||
light-weight generic link points.
|
light-weight generic link points.
|
||||||
|
@ -10138,6 +10379,81 @@ direction is unknown.
|
||||||
the pad is a source pad.
|
the pad is a source pad.
|
||||||
<!-- enum PadDirection::variant Sink -->
|
<!-- enum PadDirection::variant Sink -->
|
||||||
the pad is a sink pad.
|
the pad is a sink pad.
|
||||||
|
<!-- struct PadFlags -->
|
||||||
|
Pad state flags
|
||||||
|
<!-- struct PadFlags::const BLOCKED -->
|
||||||
|
is dataflow on a pad blocked
|
||||||
|
<!-- struct PadFlags::const FLUSHING -->
|
||||||
|
is pad flushing
|
||||||
|
<!-- struct PadFlags::const EOS -->
|
||||||
|
is pad in EOS state
|
||||||
|
<!-- struct PadFlags::const BLOCKING -->
|
||||||
|
is pad currently blocking on a buffer or event
|
||||||
|
<!-- struct PadFlags::const NEED_PARENT -->
|
||||||
|
ensure that there is a parent object before calling
|
||||||
|
into the pad callbacks.
|
||||||
|
<!-- struct PadFlags::const NEED_RECONFIGURE -->
|
||||||
|
the pad should be reconfigured/renegotiated.
|
||||||
|
The flag has to be unset manually after
|
||||||
|
reconfiguration happened.
|
||||||
|
<!-- struct PadFlags::const PENDING_EVENTS -->
|
||||||
|
the pad has pending events
|
||||||
|
<!-- struct PadFlags::const FIXED_CAPS -->
|
||||||
|
the pad is using fixed caps. This means that
|
||||||
|
once the caps are set on the pad, the default caps query function
|
||||||
|
will only return those caps.
|
||||||
|
<!-- struct PadFlags::const PROXY_CAPS -->
|
||||||
|
the default event and query handler will forward
|
||||||
|
all events and queries to the internally linked pads
|
||||||
|
instead of discarding them.
|
||||||
|
<!-- struct PadFlags::const PROXY_ALLOCATION -->
|
||||||
|
the default query handler will forward
|
||||||
|
allocation queries to the internally linked pads
|
||||||
|
instead of discarding them.
|
||||||
|
<!-- struct PadFlags::const PROXY_SCHEDULING -->
|
||||||
|
the default query handler will forward
|
||||||
|
scheduling queries to the internally linked pads
|
||||||
|
instead of discarding them.
|
||||||
|
<!-- struct PadFlags::const ACCEPT_INTERSECT -->
|
||||||
|
the default accept-caps handler will check
|
||||||
|
it the caps intersect the query-caps result instead
|
||||||
|
of checking for a subset. This is interesting for
|
||||||
|
parsers that can accept incompletely specified caps.
|
||||||
|
<!-- struct PadFlags::const ACCEPT_TEMPLATE -->
|
||||||
|
the default accept-caps handler will use
|
||||||
|
the template pad caps instead of query caps to
|
||||||
|
compare with the accept caps. Use this in combination
|
||||||
|
with `PadFlags::AcceptIntersect`. (Since: 1.6)
|
||||||
|
<!-- struct PadFlags::const LAST -->
|
||||||
|
offset to define more flags
|
||||||
|
<!-- struct PadLinkCheck -->
|
||||||
|
The amount of checking to be done when linking pads. `PadLinkCheck::Caps`
|
||||||
|
and `PadLinkCheck::TemplateCaps` are mutually exclusive. If both are
|
||||||
|
specified, expensive but safe `PadLinkCheck::Caps` are performed.
|
||||||
|
|
||||||
|
> Only disable some of the checks if you are 100% certain you know the link
|
||||||
|
> will not fail because of hierarchy/caps compatibility failures. If uncertain,
|
||||||
|
> use the default checks (`PadLinkCheck::Default`) or the regular methods
|
||||||
|
> for linking the pads.
|
||||||
|
<!-- struct PadLinkCheck::const NOTHING -->
|
||||||
|
Don't check hierarchy or caps compatibility.
|
||||||
|
<!-- struct PadLinkCheck::const HIERARCHY -->
|
||||||
|
Check the pads have same parents/grandparents.
|
||||||
|
Could be omitted if it is already known that the two elements that own the
|
||||||
|
pads are in the same bin.
|
||||||
|
<!-- struct PadLinkCheck::const TEMPLATE_CAPS -->
|
||||||
|
Check if the pads are compatible by using
|
||||||
|
their template caps. This is much faster than `PadLinkCheck::Caps`, but
|
||||||
|
would be unsafe e.g. if one pad has `GST_CAPS_ANY`.
|
||||||
|
<!-- struct PadLinkCheck::const CAPS -->
|
||||||
|
Check if the pads are compatible by comparing the
|
||||||
|
caps returned by `PadExt::query_caps`.
|
||||||
|
<!-- struct PadLinkCheck::const NO_RECONFIGURE -->
|
||||||
|
Disables pushing a reconfigure event when pads are
|
||||||
|
linked.
|
||||||
|
<!-- struct PadLinkCheck::const DEFAULT -->
|
||||||
|
The default checks done when linking
|
||||||
|
pads (i.e. the ones used by `Pad::link`).
|
||||||
<!-- enum PadLinkReturn -->
|
<!-- enum PadLinkReturn -->
|
||||||
Result values from gst_pad_link and friends.
|
Result values from gst_pad_link and friends.
|
||||||
<!-- enum PadLinkReturn::variant Ok -->
|
<!-- enum PadLinkReturn::variant Ok -->
|
||||||
|
@ -10201,6 +10517,57 @@ Data has been handled in the probe and will not be
|
||||||
`GST_PAD_PROBE_INFO_FLOW_RETURN`() accessor.
|
`GST_PAD_PROBE_INFO_FLOW_RETURN`() accessor.
|
||||||
Note that the resulting query must contain valid entries.
|
Note that the resulting query must contain valid entries.
|
||||||
Since: 1.6
|
Since: 1.6
|
||||||
|
<!-- struct PadProbeType -->
|
||||||
|
The different probing types that can occur. When either one of
|
||||||
|
`PadProbeType::Idle` or `PadProbeType::Block` is used, the probe will be a
|
||||||
|
blocking probe.
|
||||||
|
<!-- struct PadProbeType::const INVALID -->
|
||||||
|
invalid probe type
|
||||||
|
<!-- struct PadProbeType::const IDLE -->
|
||||||
|
probe idle pads and block while the callback is called
|
||||||
|
<!-- struct PadProbeType::const BLOCK -->
|
||||||
|
probe and block pads
|
||||||
|
<!-- struct PadProbeType::const BUFFER -->
|
||||||
|
probe buffers
|
||||||
|
<!-- struct PadProbeType::const BUFFER_LIST -->
|
||||||
|
probe buffer lists
|
||||||
|
<!-- struct PadProbeType::const EVENT_DOWNSTREAM -->
|
||||||
|
probe downstream events
|
||||||
|
<!-- struct PadProbeType::const EVENT_UPSTREAM -->
|
||||||
|
probe upstream events
|
||||||
|
<!-- struct PadProbeType::const EVENT_FLUSH -->
|
||||||
|
probe flush events. This probe has to be
|
||||||
|
explicitly enabled and is not included in the
|
||||||
|
@`PadProbeType::EventDownstream` or
|
||||||
|
@`PadProbeType::EventUpstream` probe types.
|
||||||
|
<!-- struct PadProbeType::const QUERY_DOWNSTREAM -->
|
||||||
|
probe downstream queries
|
||||||
|
<!-- struct PadProbeType::const QUERY_UPSTREAM -->
|
||||||
|
probe upstream queries
|
||||||
|
<!-- struct PadProbeType::const PUSH -->
|
||||||
|
probe push
|
||||||
|
<!-- struct PadProbeType::const PULL -->
|
||||||
|
probe pull
|
||||||
|
<!-- struct PadProbeType::const BLOCKING -->
|
||||||
|
probe and block at the next opportunity, at data flow or when idle
|
||||||
|
<!-- struct PadProbeType::const DATA_DOWNSTREAM -->
|
||||||
|
probe downstream data (buffers, buffer lists, and events)
|
||||||
|
<!-- struct PadProbeType::const DATA_UPSTREAM -->
|
||||||
|
probe upstream data (events)
|
||||||
|
<!-- struct PadProbeType::const DATA_BOTH -->
|
||||||
|
probe upstream and downstream data (buffers, buffer lists, and events)
|
||||||
|
<!-- struct PadProbeType::const BLOCK_DOWNSTREAM -->
|
||||||
|
probe and block downstream data (buffers, buffer lists, and events)
|
||||||
|
<!-- struct PadProbeType::const BLOCK_UPSTREAM -->
|
||||||
|
probe and block upstream data (events)
|
||||||
|
<!-- struct PadProbeType::const EVENT_BOTH -->
|
||||||
|
probe upstream and downstream events
|
||||||
|
<!-- struct PadProbeType::const QUERY_BOTH -->
|
||||||
|
probe upstream and downstream queries
|
||||||
|
<!-- struct PadProbeType::const ALL_BOTH -->
|
||||||
|
probe upstream events and queries and downstream buffers, buffer lists, events and queries
|
||||||
|
<!-- struct PadProbeType::const SCHEDULING -->
|
||||||
|
probe push and pull
|
||||||
<!-- struct PadTemplate -->
|
<!-- struct PadTemplate -->
|
||||||
Padtemplates describe the possible media types a pad or an elementfactory can
|
Padtemplates describe the possible media types a pad or an elementfactory can
|
||||||
handle. This allows for both inspection of handled types before loading the
|
handle. This allows for both inspection of handled types before loading the
|
||||||
|
@ -10323,10 +10690,30 @@ Gets the capabilities of the pad template.
|
||||||
|
|
||||||
the `Caps` of the pad template.
|
the `Caps` of the pad template.
|
||||||
Unref after usage.
|
Unref after usage.
|
||||||
|
<!-- impl PadTemplate::fn get_documentation_caps -->
|
||||||
|
See `PadTemplate::set_documentation_caps`.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The caps to document. For convenience, this will return
|
||||||
|
`PadTemplate::get_caps` when no documentation caps were set.
|
||||||
<!-- impl PadTemplate::fn pad_created -->
|
<!-- impl PadTemplate::fn pad_created -->
|
||||||
Emit the pad-created signal for this template when created by this pad.
|
Emit the pad-created signal for this template when created by this pad.
|
||||||
## `pad`
|
## `pad`
|
||||||
the `Pad` that created it
|
the `Pad` that created it
|
||||||
|
<!-- impl PadTemplate::fn set_documentation_caps -->
|
||||||
|
Certain elements will dynamically construct the caps of their
|
||||||
|
pad templates. In order not to let environment-specific information
|
||||||
|
into the documentation, element authors should use this method to
|
||||||
|
expose "stable" caps to the reader.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
## `caps`
|
||||||
|
the documented capabilities
|
||||||
<!-- impl PadTemplate::fn connect_pad_created -->
|
<!-- impl PadTemplate::fn connect_pad_created -->
|
||||||
This signal is fired when an element creates a pad from this template.
|
This signal is fired when an element creates a pad from this template.
|
||||||
## `pad`
|
## `pad`
|
||||||
|
@ -10372,6 +10759,9 @@ a newly-allocated parse context. Free
|
||||||
<!-- impl ParseContext::fn copy -->
|
<!-- impl ParseContext::fn copy -->
|
||||||
Copies the `self`.
|
Copies the `self`.
|
||||||
|
|
||||||
|
Feature: `v1_12_1`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
A copied `ParseContext`
|
A copied `ParseContext`
|
||||||
|
@ -10405,6 +10795,21 @@ An empty bin was specified.
|
||||||
An empty description was specified
|
An empty description was specified
|
||||||
<!-- enum ParseError::variant DelayedLink -->
|
<!-- enum ParseError::variant DelayedLink -->
|
||||||
A delayed link did not get resolved.
|
A delayed link did not get resolved.
|
||||||
|
<!-- struct ParseFlags -->
|
||||||
|
Parsing options.
|
||||||
|
<!-- struct ParseFlags::const NONE -->
|
||||||
|
Do not use any special parsing options.
|
||||||
|
<!-- struct ParseFlags::const FATAL_ERRORS -->
|
||||||
|
Always return `None` when an error occurs
|
||||||
|
(default behaviour is to return partially constructed bins or elements
|
||||||
|
in some cases)
|
||||||
|
<!-- struct ParseFlags::const NO_SINGLE_ELEMENT_BINS -->
|
||||||
|
If a bin only has a single element,
|
||||||
|
just return the element.
|
||||||
|
<!-- struct ParseFlags::const PLACE_IN_BIN -->
|
||||||
|
If more than one toplevel element is described
|
||||||
|
by the pipeline description string, put them in a `Bin` instead of a
|
||||||
|
`Pipeline`. (Since: 1.10)
|
||||||
<!-- struct Pipeline -->
|
<!-- struct Pipeline -->
|
||||||
A `Pipeline` is a special `Bin` used as the toplevel container for
|
A `Pipeline` is a special `Bin` used as the toplevel container for
|
||||||
the filter graph. The `Pipeline` will manage the selection and
|
the filter graph. The `Pipeline` will manage the selection and
|
||||||
|
@ -10618,6 +11023,12 @@ see `PipelineExt::set_delay` for more information on this option.
|
||||||
Latency to configure on the pipeline. See `PipelineExt::set_latency`.
|
Latency to configure on the pipeline. See `PipelineExt::set_latency`.
|
||||||
<!-- trait PipelineExt::fn set_property_latency -->
|
<!-- trait PipelineExt::fn set_property_latency -->
|
||||||
Latency to configure on the pipeline. See `PipelineExt::set_latency`.
|
Latency to configure on the pipeline. See `PipelineExt::set_latency`.
|
||||||
|
<!-- struct PipelineFlags -->
|
||||||
|
Pipeline flags
|
||||||
|
<!-- struct PipelineFlags::const FIXED_CLOCK -->
|
||||||
|
this pipeline works with a fixed clock
|
||||||
|
<!-- struct PipelineFlags::const LAST -->
|
||||||
|
offset to define more flags
|
||||||
<!-- struct Plugin -->
|
<!-- struct Plugin -->
|
||||||
GStreamer is extensible, so `Element` instances can be loaded at runtime.
|
GStreamer is extensible, so `Element` instances can be loaded at runtime.
|
||||||
A plugin system can provide one or more of the basic GStreamer
|
A plugin system can provide one or more of the basic GStreamer
|
||||||
|
@ -10895,6 +11306,35 @@ the `self`.
|
||||||
The cache is flushed every time the registry is rebuilt.
|
The cache is flushed every time the registry is rebuilt.
|
||||||
## `cache_data`
|
## `cache_data`
|
||||||
a structure containing the data to cache
|
a structure containing the data to cache
|
||||||
|
<!-- struct PluginAPIFlags -->
|
||||||
|
<!-- struct PluginAPIFlags::const MEMBERS -->
|
||||||
|
Ignore enum members when generating
|
||||||
|
the plugins cache. This is useful if the members of the enum are generated
|
||||||
|
dynamically, in order not to expose incorrect documentation to the end user.
|
||||||
|
|
||||||
|
Feature: `v1_18`
|
||||||
|
|
||||||
|
<!-- struct PluginDependencyFlags -->
|
||||||
|
Flags used in connection with `Plugin::add_dependency`.
|
||||||
|
<!-- struct PluginDependencyFlags::const NONE -->
|
||||||
|
no special flags
|
||||||
|
<!-- struct PluginDependencyFlags::const RECURSE -->
|
||||||
|
recurse into subdirectories
|
||||||
|
<!-- struct PluginDependencyFlags::const PATHS_ARE_DEFAULT_ONLY -->
|
||||||
|
use paths
|
||||||
|
argument only if none of the environment variables is set
|
||||||
|
<!-- struct PluginDependencyFlags::const FILE_NAME_IS_SUFFIX -->
|
||||||
|
interpret
|
||||||
|
filename argument as filter suffix and check all matching files in
|
||||||
|
the directory
|
||||||
|
<!-- struct PluginDependencyFlags::const FILE_NAME_IS_PREFIX -->
|
||||||
|
interpret
|
||||||
|
filename argument as filter prefix and check all matching files in
|
||||||
|
the directory. Since: 1.8.
|
||||||
|
<!-- struct PluginDependencyFlags::const PATHS_ARE_RELATIVE_TO_EXE -->
|
||||||
|
interpret
|
||||||
|
non-absolute paths as relative to the main executable directory. Since
|
||||||
|
1.14.
|
||||||
<!-- enum PluginError -->
|
<!-- enum PluginError -->
|
||||||
The plugin loading errors
|
The plugin loading errors
|
||||||
<!-- enum PluginError::variant Module -->
|
<!-- enum PluginError::variant Module -->
|
||||||
|
@ -11010,6 +11450,12 @@ Specifies a rank for a plugin feature, so that autoplugging uses
|
||||||
the most appropriate feature.
|
the most appropriate feature.
|
||||||
## `rank`
|
## `rank`
|
||||||
rank value - higher number means more priority rank
|
rank value - higher number means more priority rank
|
||||||
|
<!-- struct PluginFlags -->
|
||||||
|
The plugin loading state
|
||||||
|
<!-- struct PluginFlags::const CACHED -->
|
||||||
|
Temporarily loaded plugins
|
||||||
|
<!-- struct PluginFlags::const BLACKLISTED -->
|
||||||
|
The plugin won't be scanned (again)
|
||||||
<!-- struct Preset -->
|
<!-- struct Preset -->
|
||||||
This interface offers methods to query and manipulate parameter preset sets.
|
This interface offers methods to query and manipulate parameter preset sets.
|
||||||
A preset is a bunch of property settings, together with meta data and a name.
|
A preset is a bunch of property settings, together with meta data and a name.
|
||||||
|
@ -12661,6 +13107,118 @@ A `Segment`
|
||||||
<!-- impl Sample::fn unref -->
|
<!-- impl Sample::fn unref -->
|
||||||
Decreases the refcount of the sample. If the refcount reaches 0, the
|
Decreases the refcount of the sample. If the refcount reaches 0, the
|
||||||
sample will be freed.
|
sample will be freed.
|
||||||
|
<!-- struct SchedulingFlags -->
|
||||||
|
The different scheduling flags.
|
||||||
|
<!-- struct SchedulingFlags::const SEEKABLE -->
|
||||||
|
if seeking is possible
|
||||||
|
<!-- struct SchedulingFlags::const SEQUENTIAL -->
|
||||||
|
if sequential access is recommended
|
||||||
|
<!-- struct SchedulingFlags::const BANDWIDTH_LIMITED -->
|
||||||
|
if bandwidth is limited and buffering possible (since 1.2)
|
||||||
|
<!-- struct SeekFlags -->
|
||||||
|
Flags to be used with `Element::seek` or `Event::new_seek`. All flags
|
||||||
|
can be used together.
|
||||||
|
|
||||||
|
A non flushing seek might take some time to perform as the currently
|
||||||
|
playing data in the pipeline will not be cleared.
|
||||||
|
|
||||||
|
An accurate seek might be slower for formats that don't have any indexes
|
||||||
|
or timestamp markers in the stream. Specifying this flag might require a
|
||||||
|
complete scan of the file in those cases.
|
||||||
|
|
||||||
|
When performing a segment seek: after the playback of the segment completes,
|
||||||
|
no EOS will be emitted by the element that performed the seek, but a
|
||||||
|
`MessageType::SegmentDone` message will be posted on the bus by the element.
|
||||||
|
When this message is posted, it is possible to send a new seek event to
|
||||||
|
continue playback. With this seek method it is possible to perform seamless
|
||||||
|
looping or simple linear editing.
|
||||||
|
|
||||||
|
When only changing the playback rate and not the direction, the
|
||||||
|
`SeekFlags::InstantRateChange` flag can be used for a non-flushing seek
|
||||||
|
to signal that the rate change should be applied immediately. This requires
|
||||||
|
special support in the seek handlers (e.g. demuxers) and any elements
|
||||||
|
synchronizing to the clock, and in general can't work in all cases (for example
|
||||||
|
UDP streaming where the delivery rate is controlled by a remote server). The
|
||||||
|
instant-rate-change mode supports changing the trickmode-related GST_SEEK_ flags,
|
||||||
|
but can't be used in conjunction with other seek flags that affect the new
|
||||||
|
playback position - as the playback position will not be changing.
|
||||||
|
|
||||||
|
When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode
|
||||||
|
playback, the `SeekFlags::Trickmode` flag can be used to instruct decoders
|
||||||
|
and demuxers to adjust the playback rate by skipping frames. This can improve
|
||||||
|
performance and decrease CPU usage because not all frames need to be decoded.
|
||||||
|
|
||||||
|
Beyond that, the `SeekFlags::TrickmodeKeyUnits` flag can be used to
|
||||||
|
request that decoders skip all frames except key units, and
|
||||||
|
`SeekFlags::TrickmodeNoAudio` flags can be used to request that audio
|
||||||
|
decoders do no decoding at all, and simple output silence.
|
||||||
|
|
||||||
|
The `SeekFlags::SnapBefore` flag can be used to snap to the previous
|
||||||
|
relevant location, and the `SeekFlags::SnapAfter` flag can be used to
|
||||||
|
select the next relevant location. If `SeekFlags::KeyUnit` is specified,
|
||||||
|
the relevant location is a keyframe. If both flags are specified, the nearest
|
||||||
|
of these locations will be selected. If none are specified, the implementation is
|
||||||
|
free to select whichever it wants.
|
||||||
|
|
||||||
|
The before and after here are in running time, so when playing backwards,
|
||||||
|
the next location refers to the one that will played in next, and not the
|
||||||
|
one that is located after in the actual source stream.
|
||||||
|
|
||||||
|
Also see part-seeking.txt in the GStreamer design documentation for more
|
||||||
|
details on the meaning of these flags and the behaviour expected of
|
||||||
|
elements that handle them.
|
||||||
|
<!-- struct SeekFlags::const NONE -->
|
||||||
|
no flag
|
||||||
|
<!-- struct SeekFlags::const FLUSH -->
|
||||||
|
flush pipeline
|
||||||
|
<!-- struct SeekFlags::const ACCURATE -->
|
||||||
|
accurate position is requested, this might
|
||||||
|
be considerably slower for some formats.
|
||||||
|
<!-- struct SeekFlags::const KEY_UNIT -->
|
||||||
|
seek to the nearest keyframe. This might be
|
||||||
|
faster but less accurate.
|
||||||
|
<!-- struct SeekFlags::const SEGMENT -->
|
||||||
|
perform a segment seek.
|
||||||
|
<!-- struct SeekFlags::const TRICKMODE -->
|
||||||
|
when doing fast forward or fast reverse playback, allow
|
||||||
|
elements to skip frames instead of generating all
|
||||||
|
frames. (Since: 1.6)
|
||||||
|
<!-- struct SeekFlags::const SKIP -->
|
||||||
|
Deprecated backward compatibility flag, replaced
|
||||||
|
by `SeekFlags::Trickmode`
|
||||||
|
<!-- struct SeekFlags::const SNAP_BEFORE -->
|
||||||
|
go to a location before the requested position,
|
||||||
|
if `SeekFlags::KeyUnit` this means the keyframe at or before
|
||||||
|
the requested position the one at or before the seek target.
|
||||||
|
<!-- struct SeekFlags::const SNAP_AFTER -->
|
||||||
|
go to a location after the requested position,
|
||||||
|
if `SeekFlags::KeyUnit` this means the keyframe at of after the
|
||||||
|
requested position.
|
||||||
|
<!-- struct SeekFlags::const SNAP_NEAREST -->
|
||||||
|
go to a position near the requested position,
|
||||||
|
if `SeekFlags::KeyUnit` this means the keyframe closest
|
||||||
|
to the requested position, if both keyframes are at an equal
|
||||||
|
distance, behaves like `SeekFlags::SnapBefore`.
|
||||||
|
<!-- struct SeekFlags::const TRICKMODE_KEY_UNITS -->
|
||||||
|
when doing fast forward or fast reverse
|
||||||
|
playback, request that elements only decode keyframes
|
||||||
|
and skip all other content, for formats that have
|
||||||
|
keyframes. (Since: 1.6)
|
||||||
|
<!-- struct SeekFlags::const TRICKMODE_NO_AUDIO -->
|
||||||
|
when doing fast forward or fast reverse
|
||||||
|
playback, request that audio decoder elements skip
|
||||||
|
decoding and output only gap events or silence. (Since: 1.6)
|
||||||
|
<!-- struct SeekFlags::const TRICKMODE_FORWARD_PREDICTED -->
|
||||||
|
When doing fast forward or fast reverse
|
||||||
|
playback, request that elements only decode keyframes and
|
||||||
|
forward predicted frames and skip all other content (for example
|
||||||
|
B-Frames), for formats that have keyframes and forward predicted
|
||||||
|
frames. (Since: 1.18)
|
||||||
|
<!-- struct SeekFlags::const INSTANT_RATE_CHANGE -->
|
||||||
|
Signals that a rate change should be
|
||||||
|
applied immediately. Only valid if start/stop position
|
||||||
|
are GST_CLOCK_TIME_NONE, the playback direction does not change
|
||||||
|
and the seek is not flushing. (Since: 1.18)
|
||||||
<!-- enum SeekType -->
|
<!-- enum SeekType -->
|
||||||
The different types of seek events. When constructing a seek event with
|
The different types of seek events. When constructing a seek event with
|
||||||
`Event::new_seek` or when doing gst_segment_do_seek ().
|
`Event::new_seek` or when doing gst_segment_do_seek ().
|
||||||
|
@ -13043,6 +13601,42 @@ result stream-time
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
a 1 or -1 on success, 0 on failure.
|
a 1 or -1 on success, 0 on failure.
|
||||||
|
<!-- struct SegmentFlags -->
|
||||||
|
Flags for the GstSegment structure. Currently mapped to the corresponding
|
||||||
|
values of the seek flags.
|
||||||
|
<!-- struct SegmentFlags::const NONE -->
|
||||||
|
no flags
|
||||||
|
<!-- struct SegmentFlags::const RESET -->
|
||||||
|
reset the pipeline running_time to the segment
|
||||||
|
running_time
|
||||||
|
<!-- struct SegmentFlags::const TRICKMODE -->
|
||||||
|
perform skip playback (Since: 1.6)
|
||||||
|
<!-- struct SegmentFlags::const SKIP -->
|
||||||
|
Deprecated backward compatibility flag, replaced
|
||||||
|
by `SegmentFlags::Trickmode`
|
||||||
|
<!-- struct SegmentFlags::const SEGMENT -->
|
||||||
|
send SEGMENT_DONE instead of EOS
|
||||||
|
<!-- struct SegmentFlags::const TRICKMODE_KEY_UNITS -->
|
||||||
|
Decode only keyframes, where
|
||||||
|
possible (Since: 1.6)
|
||||||
|
<!-- struct SegmentFlags::const TRICKMODE_FORWARD_PREDICTED -->
|
||||||
|
Decode only keyframes or forward
|
||||||
|
predicted frames, where possible (Since: 1.18)
|
||||||
|
<!-- struct SegmentFlags::const TRICKMODE_NO_AUDIO -->
|
||||||
|
Do not decode any audio, where
|
||||||
|
possible (Since: 1.6)
|
||||||
|
<!-- struct StackTraceFlags -->
|
||||||
|
<!-- struct StackTraceFlags::const NONE -->
|
||||||
|
Try to retrieve the minimum information
|
||||||
|
available, which may be none on some platforms
|
||||||
|
(Since: 1.18)
|
||||||
|
<!-- struct StackTraceFlags::const FULL -->
|
||||||
|
Try to retrieve as much information as possible,
|
||||||
|
including source information when getting the
|
||||||
|
stack trace
|
||||||
|
|
||||||
|
Feature: `v1_12`
|
||||||
|
|
||||||
<!-- enum State -->
|
<!-- enum State -->
|
||||||
The possible states an element can be in. States can be changed using
|
The possible states an element can be in. States can be changed using
|
||||||
`Element::set_state` and checked using `Element::get_state`.
|
`Element::set_state` and checked using `Element::get_state`.
|
||||||
|
@ -13395,6 +13989,23 @@ used when the stream is encrypted and
|
||||||
can't be decrypted because no suitable key is available.
|
can't be decrypted because no suitable key is available.
|
||||||
<!-- enum StreamError::variant NumErrors -->
|
<!-- enum StreamError::variant NumErrors -->
|
||||||
the number of stream error types.
|
the number of stream error types.
|
||||||
|
<!-- struct StreamFlags -->
|
||||||
|
<!-- struct StreamFlags::const NONE -->
|
||||||
|
This stream has no special attributes
|
||||||
|
<!-- struct StreamFlags::const SPARSE -->
|
||||||
|
This stream is a sparse stream (e.g. a subtitle
|
||||||
|
stream), data may flow only in irregular intervals with large gaps in
|
||||||
|
between.
|
||||||
|
<!-- struct StreamFlags::const SELECT -->
|
||||||
|
This stream should be selected by default. This
|
||||||
|
flag may be used by demuxers to signal that a stream should be selected
|
||||||
|
by default in a playback scenario.
|
||||||
|
<!-- struct StreamFlags::const UNSELECT -->
|
||||||
|
This stream should not be selected by default.
|
||||||
|
This flag may be used by demuxers to signal that a stream should not
|
||||||
|
be selected by default in a playback scenario, but only if explicitly
|
||||||
|
selected by the user (e.g. an audio track for the hard of hearing or
|
||||||
|
a director's commentary track).
|
||||||
<!-- enum StreamStatusType -->
|
<!-- enum StreamStatusType -->
|
||||||
The type of a `MessageType::StreamStatus`. The stream status messages inform the
|
The type of a `MessageType::StreamStatus`. The stream status messages inform the
|
||||||
application of new streaming threads and their status.
|
application of new streaming threads and their status.
|
||||||
|
@ -13412,23 +14023,44 @@ a thread is started
|
||||||
a thread is paused
|
a thread is paused
|
||||||
<!-- enum StreamStatusType::variant Stop -->
|
<!-- enum StreamStatusType::variant Stop -->
|
||||||
a thread is stopped
|
a thread is stopped
|
||||||
|
<!-- struct StreamType -->
|
||||||
|
`StreamType` describes a high level classification set for
|
||||||
|
flows of data in `Stream` objects.
|
||||||
|
|
||||||
|
Note that this is a flag, and therefore users should not assume it
|
||||||
|
will be a single value. Do not use the equality operator for checking
|
||||||
|
whether a stream is of a certain type.
|
||||||
|
<!-- struct StreamType::const UNKNOWN -->
|
||||||
|
The stream is of unknown (unclassified) type.
|
||||||
|
<!-- struct StreamType::const AUDIO -->
|
||||||
|
The stream is of audio data
|
||||||
|
<!-- struct StreamType::const VIDEO -->
|
||||||
|
The stream carries video data
|
||||||
|
<!-- struct StreamType::const CONTAINER -->
|
||||||
|
The stream is a muxed container type
|
||||||
|
<!-- struct StreamType::const TEXT -->
|
||||||
|
The stream contains subtitle / subpicture data.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
<!-- struct Structure -->
|
<!-- struct Structure -->
|
||||||
A `Structure` is a collection of key/value pairs. The keys are expressed
|
A `Structure` is a collection of key/value pairs. The keys are expressed as
|
||||||
as GQuarks and the values can be of any GType.
|
GQuarks and the values can be of any GType.
|
||||||
|
|
||||||
In addition to the key/value pairs, a `Structure` also has a name. The name
|
In addition to the key/value pairs, a `Structure` also has a name. The name
|
||||||
starts with a letter and can be filled by letters, numbers and any of "/-_.:".
|
starts with a letter and can be filled by letters, numbers and any of
|
||||||
|
"/-_.:".
|
||||||
|
|
||||||
`Structure` is used by various GStreamer subsystems to store information
|
`Structure` is used by various GStreamer subsystems to store information in
|
||||||
in a flexible and extensible way. A `Structure` does not have a refcount
|
a flexible and extensible way. A `Structure` does not have a refcount
|
||||||
because it usually is part of a higher level object such as `Caps`,
|
because it usually is part of a higher level object such as `Caps`,
|
||||||
`Message`, `Event`, `Query`. It provides a means to enforce mutability
|
`Message`, `Event`, `Query`. It provides a means to enforce mutability
|
||||||
using the refcount of the parent with the `Structure::set_parent_refcount`
|
using the refcount of the parent with the `Structure::set_parent_refcount`
|
||||||
method.
|
method.
|
||||||
|
|
||||||
A `Structure` can be created with `Structure::new_empty` or
|
A `Structure` can be created with `Structure::new_empty` or
|
||||||
`Structure::new`, which both take a name and an optional set of
|
`Structure::new`, which both take a name and an optional set of key/value
|
||||||
key/value pairs along with the types of the values.
|
pairs along with the types of the values.
|
||||||
|
|
||||||
Field values can be changed with `Structure::set_value` or
|
Field values can be changed with `Structure::set_value` or
|
||||||
`Structure::set`.
|
`Structure::set`.
|
||||||
|
@ -13439,14 +14071,78 @@ convenient gst_structure_get_*() functions.
|
||||||
Fields can be removed with `Structure::remove_field` or
|
Fields can be removed with `Structure::remove_field` or
|
||||||
`Structure::remove_fields`.
|
`Structure::remove_fields`.
|
||||||
|
|
||||||
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are
|
Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not
|
||||||
not allowed. Strings may be `None` however.
|
allowed. Strings may be `None` however.
|
||||||
|
|
||||||
Be aware that the current `Caps` / `Structure` serialization into string
|
## The serialization format
|
||||||
has limited support for nested `Caps` / `Structure` fields. It can only
|
|
||||||
support one level of nesting. Using more levels will lead to unexpected
|
GstStructure serialization format serialize the GstStructure name,
|
||||||
behavior when using serialization features, such as `Caps::to_string` or
|
keys/GType/values in a comma separated list with the structure name as first
|
||||||
`gst_value_serialize` and their counterparts.
|
field without value followed by separated key/value pairs in the form
|
||||||
|
`key=value`, for example:
|
||||||
|
|
||||||
|
```
|
||||||
|
a-structure, key=value
|
||||||
|
````
|
||||||
|
|
||||||
|
The values type will be inferred if not explicitly specified with the
|
||||||
|
`(GTypeName)value` syntax, for example the following struct will have one
|
||||||
|
field called 'is-string' which has the string 'true' as a value:
|
||||||
|
|
||||||
|
```
|
||||||
|
a-struct, field-is-string=(string)true, field-is-boolean=true
|
||||||
|
```
|
||||||
|
|
||||||
|
*Note*: without specifying `(string), `field-is-string` type would have been
|
||||||
|
inferred as boolean.
|
||||||
|
|
||||||
|
*Note*: we specified `(string)` as a type even if `gchararray` is the actual
|
||||||
|
GType name as for convenience some well known types have been aliased or
|
||||||
|
abbreviated.
|
||||||
|
|
||||||
|
To avoid specifying the type, you can give some hints to the "type system".
|
||||||
|
For example to specify a value as a double, you should add a decimal (ie. `1`
|
||||||
|
is an `int` while `1.0` is a `double`).
|
||||||
|
|
||||||
|
*Note*: when a structure is serialized with `Structure::to_string`, all
|
||||||
|
values are explicitly typed.
|
||||||
|
|
||||||
|
Some types have special delimiters:
|
||||||
|
|
||||||
|
- [GstValueArray](GST_TYPE_ARRAY) are inside curly brackets (`{` and `}`).
|
||||||
|
For example `a-structure, array={1, 2, 3}`
|
||||||
|
- Ranges are inside brackets (`[` and `]`). For example `a-structure,
|
||||||
|
range=[1, 6, 2]` 1 being the min value, 6 the maximum and 2 the step. To
|
||||||
|
specify a `GST_TYPE_INT64_RANGE` you need to explicitly specify it like:
|
||||||
|
`a-structure, a-int64-range=(gint64) [1, 5]`
|
||||||
|
- [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`<` and
|
||||||
|
`>`). For example `a-structure, list=<1, 2, 3>
|
||||||
|
|
||||||
|
Structures are delimited either by a null character `\0` or a semicolumn `;`
|
||||||
|
the latter allowing to store multiple structures in the same string (see
|
||||||
|
#GstCaps).
|
||||||
|
|
||||||
|
Quotes are used as "default" delimiters and can be used around any types that
|
||||||
|
don't use other delimiters (for example `a-struct, i=(int)"1"`). They are use
|
||||||
|
to allow adding spaces or special characters (such as delimiters,
|
||||||
|
semicolumns, etc..) inside strings and you can use backslashes `\` to escape
|
||||||
|
characters inside them, for example:
|
||||||
|
|
||||||
|
```
|
||||||
|
a-struct, special="\"{[(;)]}\" can be used inside quotes"
|
||||||
|
```
|
||||||
|
|
||||||
|
They also allow for nested structure, such as:
|
||||||
|
|
||||||
|
```
|
||||||
|
a-struct, nested=(GstStructure)"nested-struct, nested=true"
|
||||||
|
```
|
||||||
|
|
||||||
|
> *Note*: Be aware that the current #GstCaps / #GstStructure serialization
|
||||||
|
> into string has limited support for nested #GstCaps / #GstStructure fields.
|
||||||
|
> It can only support one level of nesting. Using more levels will lead to
|
||||||
|
> unexpected behavior when using serialization features, such as
|
||||||
|
> gst_caps_to_string() or gst_value_serialize() and their counterparts.
|
||||||
<!-- impl Structure::fn from_string -->
|
<!-- impl Structure::fn from_string -->
|
||||||
Creates a `Structure` from a string representation.
|
Creates a `Structure` from a string representation.
|
||||||
If end is not `None`, a pointer to the place inside the given string
|
If end is not `None`, a pointer to the place inside the given string
|
||||||
|
@ -13687,6 +14383,9 @@ This is useful in language bindings where unknown `gobject::Value` types are not
|
||||||
supported. This function will convert the `GST_TYPE_ARRAY` into a newly
|
supported. This function will convert the `GST_TYPE_ARRAY` into a newly
|
||||||
allocated `gobject::ValueArray` and return it through `array`. Be aware that this is
|
allocated `gobject::ValueArray` and return it through `array`. Be aware that this is
|
||||||
slower then getting the `gobject::Value` directly.
|
slower then getting the `gobject::Value` directly.
|
||||||
|
|
||||||
|
Feature: `v1_12`
|
||||||
|
|
||||||
## `fieldname`
|
## `fieldname`
|
||||||
the name of a field
|
the name of a field
|
||||||
## `array`
|
## `array`
|
||||||
|
|
Loading…
Reference in a new issue