docs: Regenerate and add missing gl egl/wayland/x11 files

This commit is contained in:
Marijn Suijten 2021-04-11 15:55:54 +02:00
parent 7bd5212484
commit 4c53bda67f
13 changed files with 1028 additions and 444 deletions

View file

@ -39,7 +39,7 @@ to avoid polling.
# Implements # Implements
[`gst_base::BaseSinkExt`](../gst_base/trait.BaseSinkExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`gst::URIHandlerExt`](../gst/trait.URIHandlerExt.html) [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`gst::URIHandlerExt`](../gst/trait.URIHandlerExt.html)
<!-- impl AppSink::fn get_buffer_list_support --> <!-- impl AppSink::fn get_buffer_list_support -->
Check if `self` supports buffer lists. Check if `self` supports buffer lists.
@ -54,7 +54,7 @@ Get the configured caps on `self`.
# Returns # Returns
the `gst::Caps` accepted by the sink. `gst::Caps::unref` after usage. the `gst::Caps` accepted by the sink. `gst_caps_unref` after usage.
<!-- impl AppSink::fn get_drop --> <!-- impl AppSink::fn get_drop -->
Check if `self` will drop old buffers when the maximum amount of queued Check if `self` will drop old buffers when the maximum amount of queued
buffers is reached. buffers is reached.
@ -117,7 +117,7 @@ element is set to the READY/NULL state.
# Returns # Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS. a `gst::Sample` or NULL when the appsink is stopped or EOS.
Call `gst::Sample::unref` after usage. Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn pull_sample --> <!-- impl AppSink::fn pull_sample -->
This function blocks until a sample or EOS becomes available or the appsink This function blocks until a sample or EOS becomes available or the appsink
element is set to the READY/NULL state. element is set to the READY/NULL state.
@ -134,7 +134,7 @@ If an EOS event was received before any buffers, this function returns
# Returns # Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS. a `gst::Sample` or NULL when the appsink is stopped or EOS.
Call `gst::Sample::unref` after usage. Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn set_buffer_list_support --> <!-- impl AppSink::fn set_buffer_list_support -->
Instruct `self` to enable or disable buffer list support. Instruct `self` to enable or disable buffer list support.
@ -218,7 +218,7 @@ the maximum amount of time to wait for the preroll sample
# Returns # Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires. a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
Call `gst::Sample::unref` after usage. Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn try_pull_sample --> <!-- impl AppSink::fn try_pull_sample -->
This function blocks until a sample or EOS becomes available or the appsink This function blocks until a sample or EOS becomes available or the appsink
element is set to the READY/NULL state or the timeout expires. element is set to the READY/NULL state or the timeout expires.
@ -241,7 +241,7 @@ the maximum amount of time to wait for a sample
# Returns # Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires. a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
Call `gst::Sample::unref` after usage. Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn connect_eos --> <!-- impl AppSink::fn connect_eos -->
Signal that the end-of-stream has been reached. This signal is emitted from Signal that the end-of-stream has been reached. This signal is emitted from
the streaming thread. the streaming thread.
@ -433,7 +433,7 @@ occurs or the state of the appsrc has gone through READY.
# Implements # Implements
[`gst_base::BaseSrcExt`](../gst_base/trait.BaseSrcExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`gst::URIHandlerExt`](../gst/trait.URIHandlerExt.html) [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`gst::URIHandlerExt`](../gst/trait.URIHandlerExt.html)
<!-- impl AppSrc::fn end_of_stream --> <!-- impl AppSrc::fn end_of_stream -->
Indicates to the appsrc element that the last buffer queued in the Indicates to the appsrc element that the last buffer queued in the
element is the last buffer of the stream. element is the last buffer of the stream.
@ -447,7 +447,7 @@ Get the configured caps on `self`.
# Returns # Returns
the `gst::Caps` produced by the source. `gst::Caps::unref` after usage. the `gst::Caps` produced by the source. `gst_caps_unref` after usage.
<!-- impl AppSrc::fn get_current_level_bytes --> <!-- impl AppSrc::fn get_current_level_bytes -->
Get the number of currently queued bytes inside `self`. Get the number of currently queued bytes inside `self`.
@ -675,6 +675,110 @@ the offset to seek to
# Returns # Returns
`true` if the seek succeeded. `true` if the seek succeeded.
<!-- impl AppSrc::fn get_property_block -->
When max-bytes are queued and after the enough-data signal has been emitted,
block any further push-buffer calls until the amount of queued bytes drops
below the max-bytes limit.
<!-- impl AppSrc::fn set_property_block -->
When max-bytes are queued and after the enough-data signal has been emitted,
block any further push-buffer calls until the amount of queued bytes drops
below the max-bytes limit.
<!-- impl AppSrc::fn get_property_caps -->
The GstCaps that will negotiated downstream and will be put
on outgoing buffers.
<!-- impl AppSrc::fn set_property_caps -->
The GstCaps that will negotiated downstream and will be put
on outgoing buffers.
<!-- impl AppSrc::fn get_property_current_level_bytes -->
The number of currently queued bytes inside appsrc.
<!-- impl AppSrc::fn get_property_duration -->
The total duration in nanoseconds of the data stream. If the total duration is known, it
is recommended to configure it with this property.
Feature: `v1_10`
<!-- impl AppSrc::fn set_property_duration -->
The total duration in nanoseconds of the data stream. If the total duration is known, it
is recommended to configure it with this property.
Feature: `v1_10`
<!-- impl AppSrc::fn get_property_emit_signals -->
Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
This option is by default enabled for backwards compatibility reasons but
can disabled when needed because signal emission is expensive.
<!-- impl AppSrc::fn set_property_emit_signals -->
Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
This option is by default enabled for backwards compatibility reasons but
can disabled when needed because signal emission is expensive.
<!-- impl AppSrc::fn get_property_format -->
The format to use for segment events. When the source is producing
timestamped buffers this property should be set to GST_FORMAT_TIME.
<!-- impl AppSrc::fn set_property_format -->
The format to use for segment events. When the source is producing
timestamped buffers this property should be set to GST_FORMAT_TIME.
<!-- impl AppSrc::fn get_property_handle_segment_change -->
When enabled, appsrc will check GstSegment in GstSample which was
pushed via `AppSrc::push_sample` or "push-sample" signal action.
If a GstSegment is changed, corresponding segment event will be followed
by next data flow.
FIXME: currently only GST_FORMAT_TIME format is supported and therefore
GstAppSrc::format should be time. However, possibly `AppSrc` can support
other formats.
Feature: `v1_18`
<!-- impl AppSrc::fn set_property_handle_segment_change -->
When enabled, appsrc will check GstSegment in GstSample which was
pushed via `AppSrc::push_sample` or "push-sample" signal action.
If a GstSegment is changed, corresponding segment event will be followed
by next data flow.
FIXME: currently only GST_FORMAT_TIME format is supported and therefore
GstAppSrc::format should be time. However, possibly `AppSrc` can support
other formats.
Feature: `v1_18`
<!-- impl AppSrc::fn get_property_is_live -->
Instruct the source to behave like a live source. This includes that it
will only push out buffers in the PLAYING state.
<!-- impl AppSrc::fn set_property_is_live -->
Instruct the source to behave like a live source. This includes that it
will only push out buffers in the PLAYING state.
<!-- impl AppSrc::fn get_property_max_bytes -->
The maximum amount of bytes that can be queued internally.
After the maximum amount of bytes are queued, appsrc will emit the
"enough-data" signal.
<!-- impl AppSrc::fn set_property_max_bytes -->
The maximum amount of bytes that can be queued internally.
After the maximum amount of bytes are queued, appsrc will emit the
"enough-data" signal.
<!-- impl AppSrc::fn get_property_min_latency -->
The minimum latency of the source. A value of -1 will use the default
latency calculations of `gst_base::BaseSrc`.
<!-- impl AppSrc::fn set_property_min_latency -->
The minimum latency of the source. A value of -1 will use the default
latency calculations of `gst_base::BaseSrc`.
<!-- impl AppSrc::fn get_property_min_percent -->
Make appsrc emit the "need-data" signal when the amount of bytes in the
queue drops below this percentage of max-bytes.
<!-- impl AppSrc::fn set_property_min_percent -->
Make appsrc emit the "need-data" signal when the amount of bytes in the
queue drops below this percentage of max-bytes.
<!-- impl AppSrc::fn get_property_size -->
The total size in bytes of the data stream. If the total size is known, it
is recommended to configure it with this property.
<!-- impl AppSrc::fn set_property_size -->
The total size in bytes of the data stream. If the total size is known, it
is recommended to configure it with this property.
<!-- impl AppSrc::fn get_property_stream_type -->
The type of stream that this source is producing. For seekable streams the
application should connect to the seek-data signal.
<!-- impl AppSrc::fn set_property_stream_type -->
The type of stream that this source is producing. For seekable streams the
application should connect to the seek-data signal.
<!-- enum AppStreamType --> <!-- enum AppStreamType -->
The stream type. The stream type.
<!-- enum AppStreamType::variant Stream --> <!-- enum AppStreamType::variant Stream -->

View file

@ -338,6 +338,8 @@ Things that subclass need to take care of:
PLC, it should also accept NULL data in `handle_frame` and provide for PLC, it should also accept NULL data in `handle_frame` and provide for
data for indicated duration. data for indicated duration.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`AudioDecoderExt`](trait.AudioDecoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`AudioDecoderExtManual`](prelude/trait.AudioDecoderExtManual.html) [`AudioDecoderExt`](trait.AudioDecoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`AudioDecoderExtManual`](prelude/trait.AudioDecoderExtManual.html)
@ -631,6 +633,16 @@ Maximum number of tolerated consecutive decode errors. See
Feature: `v1_18` Feature: `v1_18`
<!-- enum AudioDitherMethod -->
Set of available dithering methods.
<!-- enum AudioDitherMethod::variant None -->
No dithering
<!-- enum AudioDitherMethod::variant Rpdf -->
Rectangular dithering
<!-- enum AudioDitherMethod::variant Tpdf -->
Triangular dithering (default)
<!-- enum AudioDitherMethod::variant TpdfHf -->
High frequency triangular dithering
<!-- 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.
@ -725,6 +737,8 @@ Things that subclass need to take care of:
* Accept data in `handle_frame` and provide encoded results to * Accept data in `handle_frame` and provide encoded results to
`AudioEncoder::finish_frame`. `AudioEncoder::finish_frame`.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`AudioEncoderExt`](trait.AudioEncoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`AudioEncoderExtManual`](prelude/trait.AudioEncoderExtManual.html) [`AudioEncoderExt`](trait.AudioEncoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`AudioEncoderExtManual`](prelude/trait.AudioEncoderExtManual.html)
@ -1176,6 +1190,18 @@ 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
<!-- enum AudioNoiseShapingMethod -->
Set of available noise shaping methods
<!-- enum AudioNoiseShapingMethod::variant None -->
No noise shaping (default)
<!-- enum AudioNoiseShapingMethod::variant ErrorFeedback -->
Error feedback
<!-- enum AudioNoiseShapingMethod::variant Simple -->
Simple 2-pole noise shaping
<!-- enum AudioNoiseShapingMethod::variant Medium -->
Medium 5-pole noise shaping
<!-- enum AudioNoiseShapingMethod::variant High -->
High 8-pole noise shaping
<!-- struct AudioPackFlags --> <!-- struct AudioPackFlags -->
The different flags that can be used when packing and unpacking. The different flags that can be used when packing and unpacking.
<!-- struct AudioPackFlags::const NONE --> <!-- struct AudioPackFlags::const NONE -->
@ -1186,6 +1212,23 @@ When the source has a smaller depth
to 0. This is likely slightly faster but less accurate. When this flag 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 is not specified, the most significant bits of the source are duplicated
in the least significant bits of the destination. in the least significant bits of the destination.
<!-- enum AudioResamplerMethod -->
Different subsampling and upsampling methods
<!-- enum AudioResamplerMethod::variant Nearest -->
Duplicates the samples when
upsampling and drops when downsampling
<!-- enum AudioResamplerMethod::variant Linear -->
Uses linear interpolation to reconstruct
missing samples and averaging to downsample
<!-- enum AudioResamplerMethod::variant Cubic -->
Uses cubic interpolation
<!-- enum AudioResamplerMethod::variant BlackmanNuttall -->
Uses Blackman-Nuttall windowed sinc interpolation
<!-- enum AudioResamplerMethod::variant Kaiser -->
Uses Kaiser windowed sinc interpolation
Feature: `v1_10`
<!-- 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 -->

View file

@ -97,7 +97,7 @@ of `Adapter` is inside one pad's chain function, in which case access is
serialized via the pad's STREAM_LOCK. serialized via the pad's STREAM_LOCK.
Note that `Adapter::push` takes ownership of the buffer passed. Use Note that `Adapter::push` takes ownership of the buffer passed. Use
`gst::Buffer::ref` before pushing it into the adapter if you still want to `gst_buffer_ref` before pushing it into the adapter if you still want to
access the buffer later. The adapter will never modify the data in the access the buffer later. The adapter will never modify the data in the
buffer pushed in it. buffer pushed in it.
@ -192,7 +192,7 @@ Returns a `gst::Buffer` containing the first `nbytes` of the `self`, but
does not flush them from the adapter. See `Adapter::take_buffer` does not flush them from the adapter. See `Adapter::take_buffer`
for details. for details.
Caller owns a reference to the returned buffer. `gst::Buffer::unref` after Caller owns a reference to the returned buffer. `gst_buffer_unref` after
usage. usage.
Free-function: gst_buffer_unref Free-function: gst_buffer_unref
@ -203,13 +203,13 @@ the number of bytes to get
a `gst::Buffer` containing the first a `gst::Buffer` containing the first
`nbytes` of the adapter, or `None` if `nbytes` bytes are not available. `nbytes` of the adapter, or `None` if `nbytes` bytes are not available.
`gst::Buffer::unref` when no longer needed. `gst_buffer_unref` when no longer needed.
<!-- impl Adapter::fn get_buffer_fast --> <!-- impl Adapter::fn get_buffer_fast -->
Returns a `gst::Buffer` containing the first `nbytes` of the `self`, but Returns a `gst::Buffer` containing the first `nbytes` of the `self`, but
does not flush them from the adapter. See `Adapter::take_buffer_fast` does not flush them from the adapter. See `Adapter::take_buffer_fast`
for details. for details.
Caller owns a reference to the returned buffer. `gst::Buffer::unref` after Caller owns a reference to the returned buffer. `gst_buffer_unref` after
usage. usage.
Free-function: gst_buffer_unref Free-function: gst_buffer_unref
@ -220,13 +220,13 @@ the number of bytes to get
a `gst::Buffer` containing the first a `gst::Buffer` containing the first
`nbytes` of the adapter, or `None` if `nbytes` bytes are not available. `nbytes` of the adapter, or `None` if `nbytes` bytes are not available.
`gst::Buffer::unref` when no longer needed. `gst_buffer_unref` when no longer needed.
<!-- impl Adapter::fn get_buffer_list --> <!-- impl Adapter::fn get_buffer_list -->
Returns a `gst::BufferList` of buffers containing the first `nbytes` bytes of Returns a `gst::BufferList` of buffers containing the first `nbytes` bytes of
the `self` but does not flush them from the adapter. See the `self` but does not flush them from the adapter. See
`Adapter::take_buffer_list` for details. `Adapter::take_buffer_list` for details.
Caller owns the returned list. Call `gst::BufferList::unref` to free Caller owns the returned list. Call `gst_buffer_list_unref` to free
the list after usage. the list after usage.
## `nbytes` ## `nbytes`
the number of bytes to get the number of bytes to get
@ -241,7 +241,7 @@ Returns a `glib::List` of buffers containing the first `nbytes` bytes of the
`self`, but does not flush them from the adapter. See `self`, but does not flush them from the adapter. See
`Adapter::take_list` for details. `Adapter::take_list` for details.
Caller owns returned list and contained buffers. `gst::Buffer::unref` each Caller owns returned list and contained buffers. `gst_buffer_unref` each
buffer in the list before freeing the list after usage. buffer in the list before freeing the list after usage.
## `nbytes` ## `nbytes`
the number of bytes to get the number of bytes to get
@ -482,7 +482,7 @@ unset.
Since 1.6 this will also copy over all GstMeta of the input buffers except Since 1.6 this will also copy over all GstMeta of the input buffers except
for meta with the `gst::MetaFlags::Pooled` flag or with the "memory" tag. for meta with the `gst::MetaFlags::Pooled` flag or with the "memory" tag.
Caller owns a reference to the returned buffer. `gst::Buffer::unref` after Caller owns a reference to the returned buffer. `gst_buffer_unref` after
usage. usage.
Free-function: gst_buffer_unref Free-function: gst_buffer_unref
@ -493,7 +493,7 @@ the number of bytes to take
a `gst::Buffer` containing the first a `gst::Buffer` containing the first
`nbytes` of the adapter, or `None` if `nbytes` bytes are not available. `nbytes` of the adapter, or `None` if `nbytes` bytes are not available.
`gst::Buffer::unref` when no longer needed. `gst_buffer_unref` when no longer needed.
<!-- impl Adapter::fn take_buffer_fast --> <!-- impl Adapter::fn take_buffer_fast -->
Returns a `gst::Buffer` containing the first `nbytes` of the `self`. Returns a `gst::Buffer` containing the first `nbytes` of the `self`.
The returned bytes will be flushed from the adapter. This function The returned bytes will be flushed from the adapter. This function
@ -514,7 +514,7 @@ for meta with the `gst::MetaFlags::Pooled` flag or with the "memory" tag.
This function can return buffer up to the return value of This function can return buffer up to the return value of
`Adapter::available` without making copies if possible. `Adapter::available` without making copies if possible.
Caller owns a reference to the returned buffer. `gst::Buffer::unref` after Caller owns a reference to the returned buffer. `gst_buffer_unref` after
usage. usage.
Free-function: gst_buffer_unref Free-function: gst_buffer_unref
@ -525,14 +525,14 @@ the number of bytes to take
a `gst::Buffer` containing the first a `gst::Buffer` containing the first
`nbytes` of the adapter, or `None` if `nbytes` bytes are not available. `nbytes` of the adapter, or `None` if `nbytes` bytes are not available.
`gst::Buffer::unref` when no longer needed. `gst_buffer_unref` when no longer needed.
<!-- impl Adapter::fn take_buffer_list --> <!-- impl Adapter::fn take_buffer_list -->
Returns a `gst::BufferList` of buffers containing the first `nbytes` bytes of Returns a `gst::BufferList` of buffers containing the first `nbytes` bytes of
the `self`. The returned bytes will be flushed from the adapter. the `self`. The returned bytes will be flushed from the adapter.
When the caller can deal with individual buffers, this function is more When the caller can deal with individual buffers, this function is more
performant because no memory should be copied. performant because no memory should be copied.
Caller owns the returned list. Call `gst::BufferList::unref` to free Caller owns the returned list. Call `gst_buffer_list_unref` to free
the list after usage. the list after usage.
## `nbytes` ## `nbytes`
the number of bytes to take the number of bytes to take
@ -548,7 +548,7 @@ Returns a `glib::List` of buffers containing the first `nbytes` bytes of the
When the caller can deal with individual buffers, this function is more When the caller can deal with individual buffers, this function is more
performant because no memory should be copied. performant because no memory should be copied.
Caller owns returned list and contained buffers. `gst::Buffer::unref` each Caller owns returned list and contained buffers. `gst_buffer_unref` each
buffer in the list before freeing the list after usage. buffer in the list before freeing the list after usage.
## `nbytes` ## `nbytes`
the number of bytes to take the number of bytes to take
@ -576,16 +576,35 @@ Control is given to the subclass when all pads have data.
* When data is queued on all pads, the aggregate vmethod is called. * When data is queued on all pads, the aggregate vmethod is called.
* One can peek at the data on any given GstAggregatorPad with the * One can peek at the data on any given GstAggregatorPad with the
gst_aggregator_pad_peek_buffer () method, and remove it from the pad `AggregatorPadExt::peek_buffer` method, and remove it from the pad
with the gst_aggregator_pad_pop_buffer () method. When a buffer with the gst_aggregator_pad_pop_buffer () method. When a buffer
has been taken with pop_buffer (), a new buffer can be queued has been taken with pop_buffer (), a new buffer can be queued
on that pad. on that pad.
* When `AggregatorPadExt::peek_buffer` or `AggregatorPadExt::has_buffer`
are called, a reference is taken to the returned buffer, which stays
valid until either:
- `AggregatorPadExt::pop_buffer` is called, in which case the caller
is guaranteed that the buffer they receive is the same as the peeked
buffer.
- `AggregatorPadExt::drop_buffer` is called, in which case the caller
is guaranteed that the dropped buffer is the one that was peeked.
- the subclass implementation of `AggregatorClass.aggregate` returns.
Subsequent calls to `AggregatorPadExt::peek_buffer` or
`AggregatorPadExt::has_buffer` return / check the same buffer that was
returned / checked, until one of the conditions listed above is met.
Subclasses are only allowed to call these methods from the aggregate
thread.
* If the subclass wishes to push a buffer downstream in its aggregate * If the subclass wishes to push a buffer downstream in its aggregate
implementation, it should do so through the implementation, it should do so through the
gst_aggregator_finish_buffer () method. This method will take care `Aggregator::finish_buffer` method. This method will take care
of sending and ordering mandatory events such as stream start, caps of sending and ordering mandatory events such as stream start, caps
and segment. and segment. Buffer lists can also be pushed out with
`Aggregator::finish_buffer_list`.
* Same goes for EOS events, which should not be pushed directly by the * Same goes for EOS events, which should not be pushed directly by the
subclass, it should instead return GST_FLOW_EOS in its aggregate subclass, it should instead return GST_FLOW_EOS in its aggregate
@ -602,6 +621,8 @@ Control is given to the subclass when all pads have data.
This class used to live in gst-plugins-bad and was moved to core. This class used to live in gst-plugins-bad and was moved to core.
This is an Abstract Base Class, you cannot instantiate it.
Feature: `v1_14` Feature: `v1_14`
# Implements # Implements
@ -624,6 +645,15 @@ Feature: `v1_14`
## `buffer` ## `buffer`
the `gst::Buffer` to push. the `gst::Buffer` to push.
<!-- trait AggregatorExt::fn finish_buffer_list -->
This method will push the provided output buffer list downstream. If needed,
mandatory events such as stream-start, caps, and segment events will be
sent before pushing the buffer.
Feature: `v1_18`
## `bufferlist`
the `gst::BufferList` to push.
<!-- trait AggregatorExt::fn get_allocator --> <!-- trait AggregatorExt::fn get_allocator -->
Lets `Aggregator` sub-classes get the memory `allocator` Lets `Aggregator` sub-classes get the memory `allocator`
acquired by the base class and its `params`. acquired by the base class and its `params`.
@ -671,6 +701,44 @@ Feature: `v1_18`
# Returns # Returns
`true` if the negotiation succeeded, else `false`. `true` if the negotiation succeeded, else `false`.
<!-- trait AggregatorExt::fn peek_next_sample -->
Use this function to determine what input buffers will be aggregated
to produce the next output buffer. This should only be called from
a `Aggregator::samples-selected` handler, and can be used to precisely
control aggregating parameters for a given set of input samples.
Feature: `v1_18`
# Returns
The sample that is about to be aggregated. It may hold a `gst::Buffer`
or a `gst::BufferList`. The contents of its info structure is subclass-dependent,
and documented on a subclass basis. The buffers held by the sample are
not writable.
<!-- trait AggregatorExt::fn selected_samples -->
Subclasses should call this when they have prepared the
buffers they will aggregate for each of their sink pads, but
before using any of the properties of the pads that govern
*how* aggregation should be performed, for example z-index
for video aggregators.
If `AggregatorExt::update_segment` is used by the subclass,
it MUST be called before `Aggregator::selected_samples`.
This function MUST only be called from the `AggregatorClass::aggregate`()
function.
Feature: `v1_18`
## `pts`
The presentation timestamp of the next output buffer
## `dts`
The decoding timestamp of the next output buffer
## `duration`
The duration of the next output buffer
## `info`
a `gst::Structure` containing additional information
<!-- trait AggregatorExt::fn set_latency --> <!-- trait AggregatorExt::fn set_latency -->
Lets `Aggregator` sub-classes tell the baseclass what their internal Lets `Aggregator` sub-classes tell the baseclass what their internal
latency is. Will also post a LATENCY message on the bus so the pipeline latency is. Will also post a LATENCY message on the bus so the pipeline
@ -708,6 +776,36 @@ Subclasses should use this to update the segment on their
source pad, instead of directly pushing new segment events source pad, instead of directly pushing new segment events
downstream. downstream.
Subclasses MUST call this before `Aggregator::selected_samples`,
if it is used at all.
Feature: `v1_18`
<!-- trait AggregatorExt::fn connect_samples_selected -->
Signals that the `Aggregator` subclass has selected the next set
of input samples it will aggregate. Handlers may call
`AggregatorExt::peek_next_sample` at that point.
Feature: `v1_18`
## `segment`
The `gst::Segment` the next output buffer is part of
## `pts`
The presentation timestamp of the next output buffer
## `dts`
The decoding timestamp of the next output buffer
## `duration`
The duration of the next output buffer
## `info`
a `gst::Structure` containing additional information
<!-- trait AggregatorExt::fn get_property_emit_signals -->
Enables the emission of signals such as `Aggregator::samples-selected`
Feature: `v1_18`
<!-- trait AggregatorExt::fn set_property_emit_signals -->
Enables the emission of signals such as `Aggregator::samples-selected`
Feature: `v1_18` Feature: `v1_18`
<!-- trait AggregatorExt::fn get_property_min_upstream_latency --> <!-- trait AggregatorExt::fn get_property_min_upstream_latency -->
@ -953,6 +1051,8 @@ Things that subclass need to take care of:
These rates are also used to update (estimated) duration at regular These rates are also used to update (estimated) duration at regular
frame intervals. frame intervals.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`BaseParseExt`](trait.BaseParseExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseParseExtManual`](prelude/trait.BaseParseExtManual.html) [`BaseParseExt`](trait.BaseParseExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseParseExtManual`](prelude/trait.BaseParseExtManual.html)
@ -1337,6 +1437,8 @@ The `BaseSink:async` property can be used to instruct the sink to never
perform an ASYNC state change. This feature is mostly usable when dealing perform an ASYNC state change. This feature is mostly usable when dealing
with non-synchronized streams or sparse streams. with non-synchronized streams or sparse streams.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`BaseSinkExt`](trait.BaseSinkExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseSinkExtManual`](prelude/trait.BaseSinkExtManual.html) [`BaseSinkExt`](trait.BaseSinkExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseSinkExtManual`](prelude/trait.BaseSinkExtManual.html)
@ -1388,7 +1490,7 @@ Free-function: gst_sample_unref
# Returns # Returns
a `gst::Sample`. `gst::Sample::unref` after a `gst::Sample`. `gst_sample_unref` after
usage. This function returns `None` when no buffer has arrived in the usage. This function returns `None` when no buffer has arrived in the
sink yet or when the sink is not in PAUSED or PLAYING. sink yet or when the sink is not in PAUSED or PLAYING.
<!-- trait BaseSinkExt::fn get_latency --> <!-- trait BaseSinkExt::fn get_latency -->
@ -1859,6 +1961,8 @@ After the EOS has been sent to the element, the application should wait for
an EOS message to be posted on the pipeline's bus. Once this EOS message is an EOS message to be posted on the pipeline's bus. Once this EOS message is
received, it may safely shut down the entire pipeline. received, it may safely shut down the entire pipeline.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`BaseSrcExt`](trait.BaseSrcExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseSrcExtManual`](prelude/trait.BaseSrcExtManual.html) [`BaseSrcExt`](trait.BaseSrcExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseSrcExtManual`](prelude/trait.BaseSrcExtManual.html)
@ -1877,8 +1981,7 @@ Unref the `allocator` after usage.
the `gst::Allocator` the `gst::Allocator`
used used
## `params` ## `params`
the the `gst::AllocationParams` of `allocator`
`gst::AllocationParams` of `allocator`
<!-- trait BaseSrcExt::fn get_blocksize --> <!-- trait BaseSrcExt::fn get_blocksize -->
Get the number of bytes that `self` will push out with each buffer. Get the number of bytes that `self` will push out with each buffer.
@ -1931,6 +2034,10 @@ as the stream-lock needs to be held.
The format for the new segment will be the current format of the source, as The format for the new segment will be the current format of the source, as
configured with `BaseSrcExt::set_format` configured with `BaseSrcExt::set_format`
# Deprecated since 1.18
Use `BaseSrc::new_segment`
## `start` ## `start`
The new start value for the segment The new start value for the segment
## `stop` ## `stop`
@ -1941,6 +2048,25 @@ The new time value for the start of the new segment
# Returns # Returns
`true` if preparation of the seamless segment succeeded. `true` if preparation of the seamless segment succeeded.
<!-- trait BaseSrcExt::fn new_segment -->
Prepare a new segment for emission downstream. This function must
only be called by derived sub-classes, and only from the `BaseSrcClass::create` function,
as the stream-lock needs to be held.
The format for the `segment` must be identical with the current format
of the source, as configured with `BaseSrcExt::set_format`.
The format of `self` must not be `gst::Format::Undefined` and the format
should be configured via `BaseSrcExt::set_format` before calling this method.
Feature: `v1_18`
## `segment`
a pointer to a `gst::Segment`
# Returns
`true` if preparation of new segment succeeded.
<!-- trait BaseSrcExt::fn query_latency --> <!-- trait BaseSrcExt::fn query_latency -->
Query the source for the latency parameters. `live` will be `true` when `self` is Query the source for the latency parameters. `live` will be `true` when `self` is
configured as a live source. `min_latency` and `max_latency` will be set configured as a live source. `min_latency` and `max_latency` will be set
@ -1963,7 +2089,7 @@ Configure async behaviour in `self`, no state change will block. The open,
close, start, stop, play and pause virtual methods will be executed in a close, start, stop, play and pause virtual methods will be executed in a
different thread and are thus allowed to perform blocking operations. Any different thread and are thus allowed to perform blocking operations. Any
blocking operation should be unblocked with the unlock vmethod. blocking operation should be unblocked with the unlock vmethod.
## `async` ## `async_`
new async mode new async mode
<!-- trait BaseSrcExt::fn set_automatic_eos --> <!-- trait BaseSrcExt::fn set_automatic_eos -->
If `automatic_eos` is `true`, `self` will automatically go EOS if a buffer If `automatic_eos` is `true`, `self` will automatically go EOS if a buffer
@ -2179,6 +2305,8 @@ It provides for:
* Implied `true` if no transform function is implemented. * Implied `true` if no transform function is implemented.
* Implied `false` if ONLY transform function is implemented. * Implied `false` if ONLY transform function is implemented.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`BaseTransformExt`](trait.BaseTransformExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseTransformExtManual`](prelude/trait.BaseTransformExtManual.html) [`BaseTransformExt`](trait.BaseTransformExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`BaseTransformExtManual`](prelude/trait.BaseTransformExtManual.html)
@ -2197,8 +2325,7 @@ Unref the `allocator` after use.
the `gst::Allocator` the `gst::Allocator`
used used
## `params` ## `params`
the the `gst::AllocationParams` of `allocator`
`gst::AllocationParams` of `allocator`
<!-- trait BaseTransformExt::fn get_buffer_pool --> <!-- trait BaseTransformExt::fn get_buffer_pool -->
# Returns # Returns

View file

@ -125,6 +125,8 @@ output `gst::Caps`
of the limitation on OpenGL context, this object is not thread safe unless of the limitation on OpenGL context, this object is not thread safe unless
specified and must only be activated in a single thread. specified and must only be activated in a single thread.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`GLContextExt`](trait.GLContextExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`GLContextExtManual`](prelude/trait.GLContextExtManual.html) [`GLContextExt`](trait.GLContextExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`GLContextExtManual`](prelude/trait.GLContextExtManual.html)
@ -486,7 +488,7 @@ Trait containing all `GLDisplay` methods.
# Implementors # Implementors
[`GLDisplayEGL`](struct.GLDisplayEGL.html), [`GLDisplayWayland`](struct.GLDisplayWayland.html), [`GLDisplayX11`](struct.GLDisplayX11.html), [`GLDisplay`](struct.GLDisplay.html) [`GLDisplay`](struct.GLDisplay.html)
<!-- impl GLDisplay::fn new --> <!-- impl GLDisplay::fn new -->
# Returns # Returns
@ -539,14 +541,6 @@ a comparison function to run
The first `GLWindow` that causes a match The first `GLWindow` that causes a match
from `compare_func` from `compare_func`
<!-- trait GLDisplayExt::fn get_foreign_display -->
Feature: `v1_18`
# Returns
whether the context belongs to a foreign display
<!-- trait GLDisplayExt::fn get_gl_api --> <!-- trait GLDisplayExt::fn get_gl_api -->
see `GLDisplayExt::filter_gl_api` for what the returned value represents see `GLDisplayExt::filter_gl_api` for what the returned value represents
@ -612,31 +606,6 @@ other context to share resources with.
# Returns # Returns
the new context. the new context.
<!-- struct GLDisplayEGL -->
the contents of a `GLDisplayEGL` are private and should only be accessed
through the provided API
# Implements
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayEGL::fn new -->
Create a new `GLDisplayEGL` using the default EGL_DEFAULT_DISPLAY.
# Returns
a new `GLDisplayEGL` or `None`
<!-- impl GLDisplayEGL::fn get_from_native -->
Attempts to create a new `EGLDisplay` from `display`. If `type_` is
`GLDisplayType::Any`, then `display` must be 0. `type_` must not be
`GLDisplayType::None`.
## `type_`
a `GLDisplayType`
## `display`
pointer to a display (or 0)
# Returns
A `EGLDisplay` or `EGL_NO_DISPLAY`
<!-- struct GLDisplayType --> <!-- struct GLDisplayType -->
<!-- struct GLDisplayType::const NONE --> <!-- struct GLDisplayType::const NONE -->
no display type no display type
@ -660,54 +629,6 @@ Mesa3D GBM display
EGLDevice display (Since: 1.18) EGLDevice display (Since: 1.18)
<!-- struct GLDisplayType::const ANY --> <!-- struct GLDisplayType::const ANY -->
any display type any display type
<!-- struct GLDisplayWayland -->
the contents of a `GLDisplayWayland` are private and should only be accessed
through the provided API
# Implements
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayWayland::fn new -->
Create a new `GLDisplayWayland` from the wayland display name. See `wl_display_connect`()
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayWayland` or `None`
<!-- impl GLDisplayWayland::fn new_with_display -->
Creates a new display connection from a wl_display Display.
## `display`
an existing, wayland display
# Returns
a new `GLDisplayWayland`
<!-- struct GLDisplayX11 -->
the contents of a `GLDisplayX11` are private and should only be accessed
through the provided API
# Implements
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayX11::fn new -->
Create a new `GLDisplayX11` from the x11 display name. See `XOpenDisplay`()
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayX11` or `None`
<!-- impl GLDisplayX11::fn new_with_display -->
Creates a new display connection from a X11 Display.
## `display`
an existing, x11 display
# Returns
a new `GLDisplayX11`
<!-- enum GLFormat --> <!-- enum GLFormat -->
<!-- enum GLFormat::variant Luminance --> <!-- enum GLFormat::variant Luminance -->
Single component replicated across R, G, and B textures Single component replicated across R, G, and B textures
@ -1427,14 +1348,21 @@ Dubois optimised Red-Cyan anaglyph
<!-- enum GLStereoDownmix::variant AmberBlueDubois --> <!-- enum GLStereoDownmix::variant AmberBlueDubois -->
Dubois optimised Amber-Blue anaglyph Dubois optimised Amber-Blue anaglyph
<!-- enum GLTextureTarget --> <!-- enum GLTextureTarget -->
The OpenGL texture target that an OpenGL texture can be bound to. The
`gst_gl_value_set_texture_target_from_mask`,
`gst_gl_value_get_texture_target_mask`, and
`gst_gl_value_set_texture_target` functions can be used for handling texture
targets with `gobject::Value`'s when e.g. dealing with `gst::Caps`.
<!-- enum GLTextureTarget::variant None --> <!-- enum GLTextureTarget::variant None -->
no texture target no texture target
<!-- enum GLTextureTarget::variant 2d --> <!-- enum GLTextureTarget::variant 2d -->
2D texture target 2D texture target (`GL_TEXTURE_2D`)
<!-- enum GLTextureTarget::variant Rectangle --> <!-- enum GLTextureTarget::variant Rectangle -->
rectangle texture target rectangle texture target
(`GL_TEXTURE_RECTANGLE`)
<!-- enum GLTextureTarget::variant ExternalOes --> <!-- enum GLTextureTarget::variant ExternalOes -->
external oes texture target external oes texture target
(`GL_TEXTURE_EXTERNAL_OES`)
<!-- struct GLUpload --> <!-- struct GLUpload -->
`GLUpload` is an object that uploads data from system memory into GL textures. `GLUpload` is an object that uploads data from system memory into GL textures.
@ -1572,6 +1500,8 @@ the converted `gst::Caps`
GstGLWindow represents a window that elements can render into. A window can GstGLWindow represents a window that elements can render into. A window can
either be a user visible window (onscreen) or hidden (offscreen). either be a user visible window (onscreen) or hidden (offscreen).
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`GLWindowExt`](trait.GLWindowExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`GLWindowExt`](trait.GLWindowExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)

View file

@ -0,0 +1,37 @@
<!-- file * -->
<!-- struct GLDisplayEGL -->
the contents of a `GLDisplayEGL` are private and should only be accessed
through the provided API
# Implements
[`gst_gl::GLDisplayExt`](../gst_gl/trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayEGL::fn new -->
Create a new `GLDisplayEGL` using the default EGL_DEFAULT_DISPLAY.
# Returns
a new `GLDisplayEGL` or `None`
<!-- impl GLDisplayEGL::fn from_gl_display -->
Creates a EGL display connection from a native Display.
This function will return the same value for multiple calls with the same
`display`.
## `display`
an existing `gst_gl::GLDisplay`
# Returns
a new `GLDisplayEGL`
<!-- impl GLDisplayEGL::fn get_from_native -->
Attempts to create a new `EGLDisplay` from `display`. If `type_` is
`gst_gl::GLDisplayType::Any`, then `display` must be 0. `type_` must not be
`gst_gl::GLDisplayType::None`.
## `type_`
a `gst_gl::GLDisplayType`
## `display`
pointer to a display (or 0)
# Returns
A `EGLDisplay` or `EGL_NO_DISPLAY`

View file

@ -0,0 +1,25 @@
<!-- file * -->
<!-- struct GLDisplayWayland -->
the contents of a `GLDisplayWayland` are private and should only be accessed
through the provided API
# Implements
[`gst_gl::GLDisplayExt`](../gst_gl/trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayWayland::fn new -->
Create a new `GLDisplayWayland` from the wayland display name. See `wl_display_connect`()
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayWayland` or `None`
<!-- impl GLDisplayWayland::fn new_with_display -->
Creates a new display connection from a wl_display Display.
## `display`
an existing, wayland display
# Returns
a new `GLDisplayWayland`

View file

@ -0,0 +1,25 @@
<!-- file * -->
<!-- struct GLDisplayX11 -->
the contents of a `GLDisplayX11` are private and should only be accessed
through the provided API
# Implements
[`gst_gl::GLDisplayExt`](../gst_gl/trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl GLDisplayX11::fn new -->
Create a new `GLDisplayX11` from the x11 display name. See `XOpenDisplay`()
for details on what is a valid name.
## `name`
a display name
# Returns
a new `GLDisplayX11` or `None`
<!-- impl GLDisplayX11::fn new_with_display -->
Creates a new display connection from a X11 Display.
## `display`
an existing, x11 display
# Returns
a new `GLDisplayX11`

View file

@ -382,7 +382,7 @@ a `glib::List` of `DiscovererStreamInfo`
# Returns # Returns
the `gst::Caps` of the stream. Unref with the `gst::Caps` of the stream. Unref with
`gst::Caps::unref` after usage. `gst_caps_unref` after usage.
<!-- trait DiscovererStreamInfoExt::fn get_misc --> <!-- trait DiscovererStreamInfoExt::fn get_misc -->
# Deprecated # Deprecated
@ -650,7 +650,7 @@ Computes the full output caps that this `self` will be able to consume.
# Returns # Returns
The full caps the given `self` can consume. Call The full caps the given `self` can consume. Call
`gst::Caps::unref` when you are done with the caps. `gst_caps_unref` when you are done with the caps.
<!-- trait EncodingProfileExt::fn get_name --> <!-- trait EncodingProfileExt::fn get_name -->
# Returns # Returns
@ -752,14 +752,17 @@ for more about restrictions. Does not apply to `EncodingContainerProfile`.
## `restriction` ## `restriction`
the restriction to apply the restriction to apply
<!-- trait EncodingProfileExt::fn set_single_segment --> <!-- trait EncodingProfileExt::fn set_single_segment -->
If using a single segment, buffers will be retimestamped If using a single segment, buffers will be retimestamped and segments will be
and segments will be eat so as to appear as one segment. eat so as to appear as one segment.
> *NOTE*: Single segment is not property supported when using
> `encodebin:avoid-reencoding`
Feature: `v1_18` Feature: `v1_18`
## `single_segment` ## `single_segment`
`true` if the stream represented by `self` should use a single `true` if the stream represented by `self` should use a
segment before the encoder `false` otherwise. single segment before the encoder, `false` otherwise.
<!-- struct EncodingTarget --> <!-- struct EncodingTarget -->
Collection of `EncodingProfile` for a specific target or use-case. Collection of `EncodingProfile` for a specific target or use-case.
@ -925,6 +928,8 @@ Get the pass number if this is part of a multi-pass profile.
The pass number. Starts at 1 for multi-pass. 0 if this is The pass number. Starts at 1 for multi-pass. 0 if this is
not a multi-pass profile not a multi-pass profile
<!-- impl EncodingVideoProfile::fn get_variableframerate --> <!-- impl EncodingVideoProfile::fn get_variableframerate -->
> *NOTE*: Fixed framerate won't be enforced when `encodebin:avoid-reencoding`
> is set.
# Returns # Returns

View file

@ -571,6 +571,8 @@ Base structure for information concerning a media stream. Depending on
the stream type, one can find more media-specific information in the stream type, one can find more media-specific information in
`PlayerVideoInfo`, `PlayerAudioInfo`, `PlayerSubtitleInfo`. `PlayerVideoInfo`, `PlayerAudioInfo`, `PlayerSubtitleInfo`.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`PlayerStreamInfoExt`](trait.PlayerStreamInfoExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`PlayerStreamInfoExt`](trait.PlayerStreamInfoExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)

View file

@ -2372,7 +2372,7 @@ Retrieve the current caps of `self`.
# Returns # Returns
the `gst::Caps` of `self`. the `gst::Caps` of `self`.
use `gst::Caps::unref` after usage. use `gst_caps_unref` after usage.
<!-- trait RTSPStreamExt::fn get_control --> <!-- trait RTSPStreamExt::fn get_control -->
Get the control string to identify this stream. Get the control string to identify this stream.

View file

@ -292,13 +292,15 @@ non-linear RGB (R'G'B')
<!-- enum VideoColorMatrix::variant Unknown --> <!-- enum VideoColorMatrix::variant Unknown -->
unknown matrix unknown matrix
<!-- enum VideoColorMatrix::variant Rgb --> <!-- enum VideoColorMatrix::variant Rgb -->
identity matrix identity matrix. Order of coefficients is
actually GBR, also IEC 61966-2-1 (sRGB)
<!-- enum VideoColorMatrix::variant Fcc --> <!-- enum VideoColorMatrix::variant Fcc -->
FCC color matrix FCC Title 47 Code of Federal Regulations 73.682 (a)(20)
<!-- enum VideoColorMatrix::variant Bt709 --> <!-- enum VideoColorMatrix::variant Bt709 -->
ITU-R BT.709 color matrix ITU-R BT.709 color matrix, also ITU-R BT1361
/ IEC 61966-2-4 xvYCC709 / SMPTE RP177 Annex B
<!-- enum VideoColorMatrix::variant Bt601 --> <!-- enum VideoColorMatrix::variant Bt601 -->
ITU-R BT.601 color matrix ITU-R BT.601 color matrix, also SMPTE170M / ITU-R BT1358 525 / ITU-R BT1700 NTSC
<!-- enum VideoColorMatrix::variant Smpte240m --> <!-- enum VideoColorMatrix::variant Smpte240m -->
SMPTE 240M color matrix SMPTE 240M color matrix
<!-- enum VideoColorMatrix::variant Bt2020 --> <!-- enum VideoColorMatrix::variant Bt2020 -->
@ -309,29 +311,38 @@ the CIE XYZ colorspace.
<!-- enum VideoColorPrimaries::variant Unknown --> <!-- enum VideoColorPrimaries::variant Unknown -->
unknown color primaries unknown color primaries
<!-- enum VideoColorPrimaries::variant Bt709 --> <!-- enum VideoColorPrimaries::variant Bt709 -->
BT709 primaries BT709 primaries, also ITU-R BT1361 / IEC
61966-2-4 / SMPTE RP177 Annex B
<!-- enum VideoColorPrimaries::variant Bt470m --> <!-- enum VideoColorPrimaries::variant Bt470m -->
BT470M primaries BT470M primaries, also FCC Title 47 Code
of Federal Regulations 73.682 (a)(20)
<!-- enum VideoColorPrimaries::variant Bt470bg --> <!-- enum VideoColorPrimaries::variant Bt470bg -->
BT470BG primaries BT470BG primaries, also ITU-R BT601-6
625 / ITU-R BT1358 625 / ITU-R BT1700 625 PAL & SECAM
<!-- enum VideoColorPrimaries::variant Smpte170m --> <!-- enum VideoColorPrimaries::variant Smpte170m -->
SMPTE170M primaries SMPTE170M primaries, also ITU-R
BT601-6 525 / ITU-R BT1358 525 / ITU-R BT1700 NTSC
<!-- enum VideoColorPrimaries::variant Smpte240m --> <!-- enum VideoColorPrimaries::variant Smpte240m -->
SMPTE240M primaries SMPTE240M primaries
<!-- enum VideoColorPrimaries::variant Film --> <!-- enum VideoColorPrimaries::variant Film -->
Generic film Generic film (colour filters using
Illuminant C)
<!-- enum VideoColorPrimaries::variant Bt2020 --> <!-- enum VideoColorPrimaries::variant Bt2020 -->
BT2020 primaries. Since: 1.6 ITU-R BT2020 primaries. Since: 1.6
<!-- enum VideoColorPrimaries::variant Adobergb --> <!-- enum VideoColorPrimaries::variant Adobergb -->
Adobe RGB primaries. Since: 1.8 Adobe RGB primaries. Since: 1.8
<!-- enum VideoColorPrimaries::variant Smptest428 --> <!-- enum VideoColorPrimaries::variant Smptest428 -->
SMPTE ST 428 primaries. Since: 1.16 SMPTE ST 428 primaries (CIE 1931
XYZ). Since: 1.16
<!-- enum VideoColorPrimaries::variant Smpterp431 --> <!-- enum VideoColorPrimaries::variant Smpterp431 -->
SMPTE RP 431 primaries. Since: 1.16 SMPTE RP 431 primaries (ST 431-2
(2011) / DCI P3). Since: 1.16
<!-- enum VideoColorPrimaries::variant Smpteeg432 --> <!-- enum VideoColorPrimaries::variant Smpteeg432 -->
SMPTE EG 432 primaries. Since: 1.16 SMPTE EG 432 primaries (ST 432-1
(2010) / P3 D65). Since: 1.16
<!-- enum VideoColorPrimaries::variant Ebu3213 --> <!-- enum VideoColorPrimaries::variant Ebu3213 -->
EBU 3213 primaries. Since: 1.16 EBU 3213 primaries (JEDEC P22
phosphors). Since: 1.16
<!-- enum VideoColorRange --> <!-- enum VideoColorRange -->
Possible color range values. These constants are defined for 8 bit color Possible color range values. These constants are defined for 8 bit color
values and can be scaled for other bit depths. values and can be scaled for other bit depths.
@ -447,6 +458,8 @@ The bare minimum that a functional subclass needs to implement is:
* Accept data in `handle_frame` and provide decoded results to * Accept data in `handle_frame` and provide decoded results to
`VideoDecoder::finish_frame`, or call `VideoDecoder::drop_frame`. `VideoDecoder::finish_frame`, or call `VideoDecoder::drop_frame`.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`VideoDecoderExt`](trait.VideoDecoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`VideoDecoderExtManual`](prelude/trait.VideoDecoderExtManual.html) [`VideoDecoderExt`](trait.VideoDecoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`VideoDecoderExtManual`](prelude/trait.VideoDecoderExtManual.html)
@ -680,7 +693,7 @@ Feature: `v1_16`
## `fmt` ## `fmt`
a `VideoFormat` a `VideoFormat`
## `mode` ## `interlace_mode`
A `VideoInterlaceMode` A `VideoInterlaceMode`
## `width` ## `width`
The width in pixels The width in pixels
@ -859,6 +872,8 @@ use `VideoEncoderExt::get_max_encode_time` to check if input frames
are already late and drop them right away to give a chance to the are already late and drop them right away to give a chance to the
pipeline to catch up. pipeline to catch up.
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`VideoEncoderExt`](trait.VideoEncoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`VideoEncoderExtManual`](prelude/trait.VideoEncoderExtManual.html) [`VideoEncoderExt`](trait.VideoEncoderExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html), [`VideoEncoderExtManual`](prelude/trait.VideoEncoderExtManual.html)
@ -1137,6 +1152,8 @@ Provides useful functions and a base class for video filters.
The videofilter will by default enable QoS on the parent GstBaseTransform The videofilter will by default enable QoS on the parent GstBaseTransform
to implement frame dropping. to implement frame dropping.
This is an Abstract Base Class, you cannot instantiate it.
# 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)
@ -1352,6 +1369,10 @@ 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)
<!-- enum VideoFormat::variant Nv124l4 -->
NV12 with 4x4 tiles in linear order.
<!-- enum VideoFormat::variant Nv1232l32 -->
NV12 with 32x32 tiles in linear order.
<!-- struct VideoFormatFlags --> <!-- struct VideoFormatFlags -->
The different video flags that a format info can have. The different video flags that a format info can have.
<!-- struct VideoFormatFlags::const YUV --> <!-- struct VideoFormatFlags::const YUV -->
@ -1570,7 +1591,7 @@ frames contains both interlaced and
1 field is stored in one buffer, 1 field is stored in one buffer,
`GST_VIDEO_BUFFER_FLAG_TF` or `GST_VIDEO_BUFFER_FLAG_BF` indicates if `GST_VIDEO_BUFFER_FLAG_TF` or `GST_VIDEO_BUFFER_FLAG_BF` indicates if
the buffer is carrying the top or bottom field, respectively. The top and the buffer is carrying the top or bottom field, respectively. The top and
bottom buffers are expected to alternate in the pipeline, with this mode bottom buffers must alternate in the pipeline, with this mode
(Since: 1.16). (Since: 1.16).
<!-- enum VideoMatrixMode --> <!-- enum VideoMatrixMode -->
Different color matrix conversion modes Different color matrix conversion modes
@ -1710,6 +1731,108 @@ Multiple views are
provided as separate `gst::Memory` framebuffers attached to each provided as separate `gst::Memory` framebuffers attached to each
`gst::Buffer`, described by the `GstVideoMultiviewMeta` `gst::Buffer`, described by the `GstVideoMultiviewMeta`
and `VideoMeta`(s) and `VideoMeta`(s)
<!-- struct VideoOrientation -->
The interface allows unified access to control flipping and autocenter
operation of video-sources or operators.
# Implements
[`VideoOrientationExt`](trait.VideoOrientationExt.html)
<!-- trait VideoOrientationExt -->
Trait containing all `VideoOrientation` methods.
# Implementors
[`VideoOrientation`](struct.VideoOrientation.html)
<!-- trait VideoOrientationExt::fn get_hcenter -->
Get the horizontal centering offset from the given object.
## `center`
return location for the result
# Returns
`true` in case the element supports centering
<!-- trait VideoOrientationExt::fn get_hflip -->
Get the horizontal flipping state (`true` for flipped) from the given object.
## `flip`
return location for the result
# Returns
`true` in case the element supports flipping
<!-- trait VideoOrientationExt::fn get_vcenter -->
Get the vertical centering offset from the given object.
## `center`
return location for the result
# Returns
`true` in case the element supports centering
<!-- trait VideoOrientationExt::fn get_vflip -->
Get the vertical flipping state (`true` for flipped) from the given object.
## `flip`
return location for the result
# Returns
`true` in case the element supports flipping
<!-- trait VideoOrientationExt::fn set_hcenter -->
Set the horizontal centering offset for the given object.
## `center`
centering offset
# Returns
`true` in case the element supports centering
<!-- trait VideoOrientationExt::fn set_hflip -->
Set the horizontal flipping state (`true` for flipped) for the given object.
## `flip`
use flipping
# Returns
`true` in case the element supports flipping
<!-- trait VideoOrientationExt::fn set_vcenter -->
Set the vertical centering offset for the given object.
## `center`
centering offset
# Returns
`true` in case the element supports centering
<!-- trait VideoOrientationExt::fn set_vflip -->
Set the vertical flipping state (`true` for flipped) for the given object.
## `flip`
use flipping
# Returns
`true` in case the element supports flipping
<!-- enum VideoOrientationMethod -->
The different video orientation methods.
<!-- enum VideoOrientationMethod::variant Identity -->
Identity (no rotation)
<!-- enum VideoOrientationMethod::variant 90r -->
Rotate clockwise 90 degrees
<!-- enum VideoOrientationMethod::variant 180 -->
Rotate 180 degrees
<!-- enum VideoOrientationMethod::variant 90l -->
Rotate counter-clockwise 90 degrees
<!-- enum VideoOrientationMethod::variant Horiz -->
Flip horizontally
<!-- enum VideoOrientationMethod::variant Vert -->
Flip vertically
<!-- enum VideoOrientationMethod::variant UlLr -->
Flip across upper left/lower right diagonal
<!-- enum VideoOrientationMethod::variant UrLl -->
Flip across upper right/lower left diagonal
<!-- enum VideoOrientationMethod::variant Auto -->
Select flip method based on image-orientation tag
<!-- enum VideoOrientationMethod::variant Custom -->
Current status depends on plugin internal setup
Feature: `v1_10`
<!-- struct VideoOverlay --> <!-- struct VideoOverlay -->
The `VideoOverlay` interface is used for 2 main purposes : The `VideoOverlay` interface is used for 2 main purposes :
@ -2156,6 +2279,8 @@ Every four adjacent blocks - two
horizontally and two vertically are grouped together and are located horizontally and two vertically are grouped together and are located
in memory in Z or flipped Z order. In case of odd rows, the last row in memory in Z or flipped Z order. In case of odd rows, the last row
of blocks is arranged in linear order. of blocks is arranged in linear order.
<!-- enum VideoTileMode::variant Linear -->
Tiles are in row order.
<!-- struct VideoTimeCode --> <!-- struct VideoTimeCode -->
`field_count` must be 0 for progressive video and 1 or 2 for interlaced. `field_count` must be 0 for progressive video and 1 or 2 for interlaced.
@ -2537,21 +2662,22 @@ Gamma 2.0 curve
Gamma 2.2 curve Gamma 2.2 curve
<!-- enum VideoTransferFunction::variant Bt709 --> <!-- enum VideoTransferFunction::variant Bt709 -->
Gamma 2.2 curve with a linear segment in the lower Gamma 2.2 curve with a linear segment in the lower
range range, also ITU-R BT470M / ITU-R BT1700 625 PAL &
SECAM / ITU-R BT1361
<!-- enum VideoTransferFunction::variant Smpte240m --> <!-- enum VideoTransferFunction::variant Smpte240m -->
Gamma 2.2 curve with a linear segment in the Gamma 2.2 curve with a linear segment in the
lower range lower range
<!-- enum VideoTransferFunction::variant Srgb --> <!-- enum VideoTransferFunction::variant Srgb -->
Gamma 2.4 curve with a linear segment in the lower Gamma 2.4 curve with a linear segment in the lower
range range. IEC 61966-2-1 (sRGB or sYCC)
<!-- enum VideoTransferFunction::variant Gamma28 --> <!-- enum VideoTransferFunction::variant Gamma28 -->
Gamma 2.8 curve Gamma 2.8 curve, also ITU-R BT470BG
<!-- enum VideoTransferFunction::variant Log100 --> <!-- enum VideoTransferFunction::variant Log100 -->
Logarithmic transfer characteristic Logarithmic transfer characteristic
100:1 range 100:1 range
<!-- enum VideoTransferFunction::variant Log316 --> <!-- enum VideoTransferFunction::variant Log316 -->
Logarithmic transfer characteristic Logarithmic transfer characteristic
316.22777:1 range 316.22777:1 range (100 * sqrt(10) : 1)
<!-- enum VideoTransferFunction::variant Bt202012 --> <!-- enum VideoTransferFunction::variant Bt202012 -->
Gamma 2.2 curve with a linear segment in the lower Gamma 2.2 curve with a linear segment in the lower
range. Used for BT.2020 with 12 bits per range. Used for BT.2020 with 12 bits per
@ -2561,7 +2687,7 @@ Gamma 2.19921875. Since: 1.8
<!-- enum VideoTransferFunction::variant Bt202010 --> <!-- enum VideoTransferFunction::variant Bt202010 -->
Rec. ITU-R BT.2020-2 with 10 bits per component. Rec. ITU-R BT.2020-2 with 10 bits per component.
(functionally the same as the values (functionally the same as the values
GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT2020_12). GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT601).
Since: 1.18 Since: 1.18
<!-- enum VideoTransferFunction::variant Smpte2084 --> <!-- enum VideoTransferFunction::variant Smpte2084 -->
SMPTE ST 2084 for 10, 12, 14, and 16-bit systems. SMPTE ST 2084 for 10, 12, 14, and 16-bit systems.
@ -2571,3 +2697,5 @@ SMPTE ST 2084 for 10, 12, 14, and 16-bit systems.
Association of Radio Industries and Businesses (ARIB) Association of Radio Industries and Businesses (ARIB)
STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system
Since: 1.18 Since: 1.18
<!-- enum VideoTransferFunction::variant Bt601 -->
also known as SMPTE170M / ITU-R BT1358 525 or 625 / ITU-R BT1700 NTSC

View file

@ -38,6 +38,8 @@ connected
<!-- struct WebRTCDataChannel --> <!-- struct WebRTCDataChannel -->
This is an Abstract Base Class, you cannot instantiate it.
Feature: `v1_18` Feature: `v1_18`
# Implements # Implements
@ -170,6 +172,8 @@ controlling
<!-- struct WebRTCICETransport --> <!-- struct WebRTCICETransport -->
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
@ -219,6 +223,8 @@ Feature: `v1_16`
<!-- struct WebRTCRTPTransceiver --> <!-- struct WebRTCRTPTransceiver -->
This is an Abstract Base Class, you cannot instantiate it.
# Implements # Implements
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)

File diff suppressed because it is too large Load diff