mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-12-23 00:26:31 +00:00
Update documentation
This commit is contained in:
parent
bb321f7fa8
commit
98dcb27abd
9 changed files with 1297 additions and 99 deletions
|
@ -239,10 +239,10 @@ the maximum amount of time to wait for a sample
|
||||||
|
|
||||||
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.
|
||||||
<!-- trait AppSinkExt::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.
|
||||||
<!-- trait AppSinkExt::fn connect_new_preroll -->
|
<!-- impl AppSink::fn connect_new_preroll -->
|
||||||
Signal that a new preroll sample is available.
|
Signal that a new preroll sample is available.
|
||||||
|
|
||||||
This signal is emitted from the streaming thread and only when the
|
This signal is emitted from the streaming thread and only when the
|
||||||
|
@ -254,7 +254,7 @@ or from any other thread.
|
||||||
|
|
||||||
Note that this signal is only emitted when the "emit-signals" property is
|
Note that this signal is only emitted when the "emit-signals" property is
|
||||||
set to `true`, which it is not by default for performance reasons.
|
set to `true`, which it is not by default for performance reasons.
|
||||||
<!-- trait AppSinkExt::fn connect_new_sample -->
|
<!-- impl AppSink::fn connect_new_sample -->
|
||||||
Signal that a new sample is available.
|
Signal that a new sample is available.
|
||||||
|
|
||||||
This signal is emitted from the streaming thread and only when the
|
This signal is emitted from the streaming thread and only when the
|
||||||
|
@ -266,7 +266,7 @@ or from any other thread.
|
||||||
|
|
||||||
Note that this signal is only emitted when the "emit-signals" property is
|
Note that this signal is only emitted when the "emit-signals" property is
|
||||||
set to `true`, which it is not by default for performance reasons.
|
set to `true`, which it is not by default for performance reasons.
|
||||||
<!-- trait AppSinkExt::fn connect_pull_preroll -->
|
<!-- impl AppSink::fn connect_pull_preroll -->
|
||||||
Get the last preroll sample in `appsink`. This was the sample that caused the
|
Get the last preroll sample in `appsink`. This was the sample that caused the
|
||||||
appsink to preroll in the PAUSED state.
|
appsink to preroll in the PAUSED state.
|
||||||
|
|
||||||
|
@ -289,7 +289,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.
|
||||||
<!-- trait AppSinkExt::fn connect_pull_sample -->
|
<!-- impl AppSink::fn connect_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.
|
||||||
|
|
||||||
|
@ -308,7 +308,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.
|
||||||
<!-- trait AppSinkExt::fn connect_try_pull_preroll -->
|
<!-- impl AppSink::fn connect_try_pull_preroll -->
|
||||||
Get the last preroll sample in `appsink`. This was the sample that caused the
|
Get the last preroll sample in `appsink`. This was the sample that caused the
|
||||||
appsink to preroll in the PAUSED state.
|
appsink to preroll in the PAUSED state.
|
||||||
|
|
||||||
|
@ -337,7 +337,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.
|
||||||
<!-- trait AppSinkExt::fn connect_try_pull_sample -->
|
<!-- impl AppSink::fn connect_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.
|
||||||
|
|
||||||
|
@ -606,13 +606,13 @@ be connected to.
|
||||||
A stream_type stream
|
A stream_type stream
|
||||||
## `type_`
|
## `type_`
|
||||||
the new state
|
the new state
|
||||||
<!-- trait AppSrcExt::fn connect_end_of_stream -->
|
<!-- impl AppSrc::fn connect_end_of_stream -->
|
||||||
Notify `appsrc` that no more buffer are available.
|
Notify `appsrc` that no more buffer are available.
|
||||||
<!-- trait AppSrcExt::fn connect_enough_data -->
|
<!-- impl AppSrc::fn connect_enough_data -->
|
||||||
Signal that the source has enough data. It is recommended that the
|
Signal that the source has enough data. It is recommended that the
|
||||||
application stops calling push-buffer until the need-data signal is
|
application stops calling push-buffer until the need-data signal is
|
||||||
emitted again to avoid excessive buffer queueing.
|
emitted again to avoid excessive buffer queueing.
|
||||||
<!-- trait AppSrcExt::fn connect_need_data -->
|
<!-- impl AppSrc::fn connect_need_data -->
|
||||||
Signal that the source needs more data. In the callback or from another
|
Signal that the source needs more data. In the callback or from another
|
||||||
thread you should call push-buffer or end-of-stream.
|
thread you should call push-buffer or end-of-stream.
|
||||||
|
|
||||||
|
@ -623,7 +623,7 @@ You can call push-buffer multiple times until the enough-data signal is
|
||||||
fired.
|
fired.
|
||||||
## `length`
|
## `length`
|
||||||
the amount of bytes needed.
|
the amount of bytes needed.
|
||||||
<!-- trait AppSrcExt::fn connect_push_buffer -->
|
<!-- impl AppSrc::fn connect_push_buffer -->
|
||||||
Adds a buffer to the queue of buffers that the appsrc element will
|
Adds a buffer to the queue of buffers that the appsrc element will
|
||||||
push to its source pad. This function does not take ownership of the
|
push to its source pad. This function does not take ownership of the
|
||||||
buffer so the buffer needs to be unreffed after calling this function.
|
buffer so the buffer needs to be unreffed after calling this function.
|
||||||
|
@ -632,7 +632,7 @@ When the block property is TRUE, this function can block until free space
|
||||||
becomes available in the queue.
|
becomes available in the queue.
|
||||||
## `buffer`
|
## `buffer`
|
||||||
a buffer to push
|
a buffer to push
|
||||||
<!-- trait AppSrcExt::fn connect_push_buffer_list -->
|
<!-- impl AppSrc::fn connect_push_buffer_list -->
|
||||||
Adds a buffer list to the queue of buffers and buffer lists that the
|
Adds a buffer list to the queue of buffers and buffer lists that the
|
||||||
appsrc element will push to its source pad. This function does not take
|
appsrc element will push to its source pad. This function does not take
|
||||||
ownership of the buffer list so the buffer list needs to be unreffed
|
ownership of the buffer list so the buffer list needs to be unreffed
|
||||||
|
@ -645,7 +645,7 @@ Feature: `v1_14`
|
||||||
|
|
||||||
## `buffer_list`
|
## `buffer_list`
|
||||||
a buffer list to push
|
a buffer list to push
|
||||||
<!-- trait AppSrcExt::fn connect_push_sample -->
|
<!-- impl AppSrc::fn connect_push_sample -->
|
||||||
Extract a buffer from the provided sample and adds the extracted buffer
|
Extract a buffer from the provided sample and adds the extracted buffer
|
||||||
to the queue of buffers that the appsrc element will
|
to the queue of buffers that the appsrc element will
|
||||||
push to its source pad. This function set the appsrc caps based on the caps
|
push to its source pad. This function set the appsrc caps based on the caps
|
||||||
|
@ -659,7 +659,7 @@ When the block property is TRUE, this function can block until free space
|
||||||
becomes available in the queue.
|
becomes available in the queue.
|
||||||
## `sample`
|
## `sample`
|
||||||
a sample from which extract buffer to push
|
a sample from which extract buffer to push
|
||||||
<!-- trait AppSrcExt::fn connect_seek_data -->
|
<!-- impl AppSrc::fn connect_seek_data -->
|
||||||
Seek to the given offset. The next push-buffer should produce buffers from
|
Seek to the given offset. The next push-buffer should produce buffers from
|
||||||
the new `offset`.
|
the new `offset`.
|
||||||
This callback is only called for seekable stream types.
|
This callback is only called for seekable stream types.
|
||||||
|
|
|
@ -1,4 +1,162 @@
|
||||||
<!-- file * -->
|
<!-- file * -->
|
||||||
|
<!-- struct AudioBaseSink -->
|
||||||
|
This is the base class for audio sinks. Subclasses need to implement the
|
||||||
|
::create_ringbuffer vmethod. This base class will then take care of
|
||||||
|
writing samples to the ringbuffer, synchronisation, clipping and flushing.
|
||||||
|
|
||||||
|
# Implements
|
||||||
|
|
||||||
|
[`AudioBaseSinkExt`](trait.AudioBaseSinkExt.html), [`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)
|
||||||
|
<!-- trait AudioBaseSinkExt -->
|
||||||
|
Trait containing all `AudioBaseSink` methods.
|
||||||
|
|
||||||
|
# Implementors
|
||||||
|
|
||||||
|
[`AudioBaseSink`](struct.AudioBaseSink.html), [`AudioSink`](struct.AudioSink.html)
|
||||||
|
<!-- trait AudioBaseSinkExt::fn create_ringbuffer -->
|
||||||
|
Create and return the `AudioRingBuffer` for `self`. This function will
|
||||||
|
call the ::create_ringbuffer vmethod and will set `self` as the parent of
|
||||||
|
the returned buffer (see `gst::ObjectExt::set_parent`).
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The new ringbuffer of `self`.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_alignment_threshold -->
|
||||||
|
Get the current alignment threshold, in nanoseconds, used by `self`.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The current alignment threshold used by `self`.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_discont_wait -->
|
||||||
|
Get the current discont wait, in nanoseconds, used by `self`.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The current discont wait used by `self`.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_drift_tolerance -->
|
||||||
|
Get the current drift tolerance, in microseconds, used by `self`.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The current drift tolerance used by `self`.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_provide_clock -->
|
||||||
|
Queries whether `self` will provide a clock or not. See also
|
||||||
|
gst_audio_base_sink_set_provide_clock.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` if `self` will provide a clock.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_slave_method -->
|
||||||
|
Get the current slave method used by `self`.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The current slave method used by `self`.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn report_device_failure -->
|
||||||
|
Informs this base class that the audio output device has failed for
|
||||||
|
some reason, causing a discontinuity (for example, because the device
|
||||||
|
recovered from the error, but lost all contents of its ring buffer).
|
||||||
|
This function is typically called by derived classes, and is useful
|
||||||
|
for the custom slave method.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_alignment_threshold -->
|
||||||
|
Controls the sink's alignment threshold.
|
||||||
|
## `alignment_threshold`
|
||||||
|
the new alignment threshold in nanoseconds
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_custom_slaving_callback -->
|
||||||
|
Sets the custom slaving callback. This callback will
|
||||||
|
be invoked if the slave-method property is set to
|
||||||
|
GST_AUDIO_BASE_SINK_SLAVE_CUSTOM and the audio sink
|
||||||
|
receives and plays samples.
|
||||||
|
|
||||||
|
Setting the callback to NULL causes the sink to
|
||||||
|
behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE
|
||||||
|
method were used.
|
||||||
|
## `callback`
|
||||||
|
a `GstAudioBaseSinkCustomSlavingCallback`
|
||||||
|
## `user_data`
|
||||||
|
user data passed to the callback
|
||||||
|
## `notify`
|
||||||
|
called when user_data becomes unused
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_discont_wait -->
|
||||||
|
Controls how long the sink will wait before creating a discontinuity.
|
||||||
|
## `discont_wait`
|
||||||
|
the new discont wait in nanoseconds
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_drift_tolerance -->
|
||||||
|
Controls the sink's drift tolerance.
|
||||||
|
## `drift_tolerance`
|
||||||
|
the new drift tolerance in microseconds
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_provide_clock -->
|
||||||
|
Controls whether `self` will provide a clock or not. If `provide` is `true`,
|
||||||
|
`gst::ElementExt::provide_clock` will return a clock that reflects the datarate
|
||||||
|
of `self`. If `provide` is `false`, `gst::ElementExt::provide_clock` will return
|
||||||
|
NULL.
|
||||||
|
## `provide`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_slave_method -->
|
||||||
|
Controls how clock slaving will be performed in `self`.
|
||||||
|
## `method`
|
||||||
|
the new slave method
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_property_discont_wait -->
|
||||||
|
A window of time in nanoseconds to wait before creating a discontinuity as
|
||||||
|
a result of breaching the drift-tolerance.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_property_discont_wait -->
|
||||||
|
A window of time in nanoseconds to wait before creating a discontinuity as
|
||||||
|
a result of breaching the drift-tolerance.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn get_property_drift_tolerance -->
|
||||||
|
Controls the amount of time in microseconds that clocks are allowed
|
||||||
|
to drift before resynchronisation happens.
|
||||||
|
<!-- trait AudioBaseSinkExt::fn set_property_drift_tolerance -->
|
||||||
|
Controls the amount of time in microseconds that clocks are allowed
|
||||||
|
to drift before resynchronisation happens.
|
||||||
|
<!-- struct AudioBaseSrc -->
|
||||||
|
This is the base class for audio sources. Subclasses need to implement the
|
||||||
|
::create_ringbuffer vmethod. This base class will then take care of
|
||||||
|
reading samples from the ringbuffer, synchronisation and flushing.
|
||||||
|
|
||||||
|
# Implements
|
||||||
|
|
||||||
|
[`AudioBaseSrcExt`](trait.AudioBaseSrcExt.html), [`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)
|
||||||
|
<!-- trait AudioBaseSrcExt -->
|
||||||
|
Trait containing all `AudioBaseSrc` methods.
|
||||||
|
|
||||||
|
# Implementors
|
||||||
|
|
||||||
|
[`AudioBaseSrc`](struct.AudioBaseSrc.html), [`AudioSrc`](struct.AudioSrc.html)
|
||||||
|
<!-- trait AudioBaseSrcExt::fn create_ringbuffer -->
|
||||||
|
Create and return the `AudioRingBuffer` for `self`. This function will call
|
||||||
|
the ::create_ringbuffer vmethod and will set `self` as the parent of the
|
||||||
|
returned buffer (see `gst::ObjectExt::set_parent`).
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The new ringbuffer of `self`.
|
||||||
|
<!-- trait AudioBaseSrcExt::fn get_provide_clock -->
|
||||||
|
Queries whether `self` will provide a clock or not. See also
|
||||||
|
gst_audio_base_src_set_provide_clock.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` if `self` will provide a clock.
|
||||||
|
<!-- trait AudioBaseSrcExt::fn get_slave_method -->
|
||||||
|
Get the current slave method used by `self`.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
The current slave method used by `self`.
|
||||||
|
<!-- trait AudioBaseSrcExt::fn set_provide_clock -->
|
||||||
|
Controls whether `self` will provide a clock or not. If `provide` is `true`,
|
||||||
|
`gst::ElementExt::provide_clock` will return a clock that reflects the datarate
|
||||||
|
of `self`. If `provide` is `false`, `gst::ElementExt::provide_clock` will return NULL.
|
||||||
|
## `provide`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioBaseSrcExt::fn set_slave_method -->
|
||||||
|
Controls how clock slaving will be performed in `self`.
|
||||||
|
## `method`
|
||||||
|
the new slave method
|
||||||
|
<!-- trait AudioBaseSrcExt::fn get_property_actual_buffer_time -->
|
||||||
|
Actual configured size of audio buffer in microseconds.
|
||||||
|
<!-- trait AudioBaseSrcExt::fn get_property_actual_latency_time -->
|
||||||
|
Actual configured audio latency in microseconds.
|
||||||
<!-- enum AudioChannelPosition -->
|
<!-- enum AudioChannelPosition -->
|
||||||
Audio channel positions.
|
Audio channel positions.
|
||||||
|
|
||||||
|
@ -89,6 +247,728 @@ Wide right (between front right and side right)
|
||||||
Surround left (between rear left and side left)
|
Surround left (between rear left and side left)
|
||||||
<!-- enum AudioChannelPosition::variant SurroundRight -->
|
<!-- enum AudioChannelPosition::variant SurroundRight -->
|
||||||
Surround right (between rear right and side right)
|
Surround right (between rear right and side right)
|
||||||
|
<!-- struct AudioDecoder -->
|
||||||
|
This base class is for audio decoders turning encoded data into
|
||||||
|
raw audio samples.
|
||||||
|
|
||||||
|
GstAudioDecoder and subclass should cooperate as follows.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
* Initially, GstAudioDecoder calls `start` when the decoder element
|
||||||
|
is activated, which allows subclass to perform any global setup.
|
||||||
|
Base class (context) parameters can already be set according to subclass
|
||||||
|
capabilities (or possibly upon receive more information in subsequent
|
||||||
|
`set_format`).
|
||||||
|
* GstAudioDecoder calls `set_format` to inform subclass of the format
|
||||||
|
of input audio data that it is about to receive.
|
||||||
|
While unlikely, it might be called more than once, if changing input
|
||||||
|
parameters require reconfiguration.
|
||||||
|
* GstAudioDecoder calls `stop` at end of all processing.
|
||||||
|
|
||||||
|
As of configuration stage, and throughout processing, GstAudioDecoder
|
||||||
|
provides various (context) parameters, e.g. describing the format of
|
||||||
|
output audio data (valid when output caps have been set) or current parsing state.
|
||||||
|
Conversely, subclass can and should configure context to inform
|
||||||
|
base class of its expectation w.r.t. buffer handling.
|
||||||
|
|
||||||
|
## Data processing
|
||||||
|
* Base class gathers input data, and optionally allows subclass
|
||||||
|
to parse this into subsequently manageable (as defined by subclass)
|
||||||
|
chunks. Such chunks are subsequently referred to as 'frames',
|
||||||
|
though they may or may not correspond to 1 (or more) audio format frame.
|
||||||
|
* Input frame is provided to subclass' `handle_frame`.
|
||||||
|
* If codec processing results in decoded data, subclass should call
|
||||||
|
`AudioDecoder::finish_frame` to have decoded data pushed
|
||||||
|
downstream.
|
||||||
|
* Just prior to actually pushing a buffer downstream,
|
||||||
|
it is passed to `pre_push`. Subclass should either use this callback
|
||||||
|
to arrange for additional downstream pushing or otherwise ensure such
|
||||||
|
custom pushing occurs after at least a method call has finished since
|
||||||
|
setting src pad caps.
|
||||||
|
* During the parsing process GstAudioDecoderClass will handle both
|
||||||
|
srcpad and sinkpad events. Sink events will be passed to subclass
|
||||||
|
if `event` callback has been provided.
|
||||||
|
|
||||||
|
## Shutdown phase
|
||||||
|
|
||||||
|
* GstAudioDecoder class calls `stop` to inform the subclass that data
|
||||||
|
parsing will be stopped.
|
||||||
|
|
||||||
|
Subclass is responsible for providing pad template caps for
|
||||||
|
source and sink pads. The pads need to be named "sink" and "src". It also
|
||||||
|
needs to set the fixed caps on srcpad, when the format is ensured. This
|
||||||
|
is typically when base class calls subclass' `set_format` function, though
|
||||||
|
it might be delayed until calling `AudioDecoder::finish_frame`.
|
||||||
|
|
||||||
|
In summary, above process should have subclass concentrating on
|
||||||
|
codec data processing while leaving other matters to base class,
|
||||||
|
such as most notably timestamp handling. While it may exert more control
|
||||||
|
in this area (see e.g. `pre_push`), it is very much not recommended.
|
||||||
|
|
||||||
|
In particular, base class will try to arrange for perfect output timestamps
|
||||||
|
as much as possible while tracking upstream timestamps.
|
||||||
|
To this end, if deviation between the next ideal expected perfect timestamp
|
||||||
|
and upstream exceeds `AudioDecoder:tolerance`, then resync to upstream
|
||||||
|
occurs (which would happen always if the tolerance mechanism is disabled).
|
||||||
|
|
||||||
|
In non-live pipelines, baseclass can also (configurably) arrange for
|
||||||
|
output buffer aggregation which may help to redue large(r) numbers of
|
||||||
|
small(er) buffers being pushed and processed downstream. Note that this
|
||||||
|
feature is only available if the buffer layout is interleaved. For planar
|
||||||
|
buffers, the decoder implementation is fully responsible for the output
|
||||||
|
buffer size.
|
||||||
|
|
||||||
|
On the other hand, it should be noted that baseclass only provides limited
|
||||||
|
seeking support (upon explicit subclass request), as full-fledged support
|
||||||
|
should rather be left to upstream demuxer, parser or alike. This simple
|
||||||
|
approach caters for seeking and duration reporting using estimated input
|
||||||
|
bitrates.
|
||||||
|
|
||||||
|
Things that subclass need to take care of:
|
||||||
|
|
||||||
|
* Provide pad templates
|
||||||
|
* Set source pad caps when appropriate
|
||||||
|
* Set user-configurable properties to sane defaults for format and
|
||||||
|
implementing codec at hand, and convey some subclass capabilities and
|
||||||
|
expectations in context.
|
||||||
|
|
||||||
|
* Accept data in `handle_frame` and provide encoded results to
|
||||||
|
`AudioDecoder::finish_frame`. If it is prepared to perform
|
||||||
|
PLC, it should also accept NULL data in `handle_frame` and provide for
|
||||||
|
data for indicated duration.
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
<!-- trait AudioDecoderExt -->
|
||||||
|
Trait containing all `AudioDecoder` methods.
|
||||||
|
|
||||||
|
# Implementors
|
||||||
|
|
||||||
|
[`AudioDecoder`](struct.AudioDecoder.html)
|
||||||
|
<!-- trait AudioDecoderExt::fn allocate_output_buffer -->
|
||||||
|
Helper function that allocates a buffer to hold an audio frame
|
||||||
|
for `self`'s current output format.
|
||||||
|
## `size`
|
||||||
|
size of the buffer
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
allocated buffer
|
||||||
|
<!-- trait AudioDecoderExt::fn finish_frame -->
|
||||||
|
Collects decoded data and pushes it downstream.
|
||||||
|
|
||||||
|
`buf` may be NULL in which case the indicated number of frames
|
||||||
|
are discarded and considered to have produced no output
|
||||||
|
(e.g. lead-in or setup frames).
|
||||||
|
Otherwise, source pad caps must be set when it is called with valid
|
||||||
|
data in `buf`.
|
||||||
|
|
||||||
|
Note that a frame received in `AudioDecoderClass.handle_frame`() may be
|
||||||
|
invalidated by a call to this function.
|
||||||
|
## `buf`
|
||||||
|
decoded data
|
||||||
|
## `frames`
|
||||||
|
number of decoded frames represented by decoded data
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `gst::FlowReturn` that should be escalated to caller (of caller)
|
||||||
|
<!-- trait AudioDecoderExt::fn finish_subframe -->
|
||||||
|
Collects decoded data and pushes it downstream. This function may be called
|
||||||
|
multiple times for a given input frame.
|
||||||
|
|
||||||
|
`buf` may be NULL in which case it is assumed that the current input frame is
|
||||||
|
finished. This is equivalent to calling `AudioDecoder::finish_subframe`
|
||||||
|
with a NULL buffer and frames=1 after having pushed out all decoded audio
|
||||||
|
subframes using this function.
|
||||||
|
|
||||||
|
When called with valid data in `buf` the source pad caps must have been set
|
||||||
|
already.
|
||||||
|
|
||||||
|
Note that a frame received in `AudioDecoderClass.handle_frame`() may be
|
||||||
|
invalidated by a call to this function.
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
## `buf`
|
||||||
|
decoded data
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `gst::FlowReturn` that should be escalated to caller (of caller)
|
||||||
|
<!-- trait AudioDecoderExt::fn get_allocator -->
|
||||||
|
Lets `AudioDecoder` sub-classes to know the memory `allocator`
|
||||||
|
used by the base class and its `params`.
|
||||||
|
|
||||||
|
Unref the `allocator` after use it.
|
||||||
|
## `allocator`
|
||||||
|
the `gst::Allocator`
|
||||||
|
used
|
||||||
|
## `params`
|
||||||
|
the
|
||||||
|
`gst::AllocationParams` of `allocator`
|
||||||
|
<!-- trait AudioDecoderExt::fn get_audio_info -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `AudioInfo` describing the input audio format
|
||||||
|
<!-- trait AudioDecoderExt::fn get_delay -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured decoder delay
|
||||||
|
<!-- trait AudioDecoderExt::fn get_drainable -->
|
||||||
|
Queries decoder drain handling.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if drainable handling is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioDecoderExt::fn get_estimate_rate -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured byte to time conversion setting
|
||||||
|
<!-- trait AudioDecoderExt::fn get_latency -->
|
||||||
|
Sets the variables pointed to by `min` and `max` to the currently configured
|
||||||
|
latency.
|
||||||
|
## `min`
|
||||||
|
a pointer to storage to hold minimum latency
|
||||||
|
## `max`
|
||||||
|
a pointer to storage to hold maximum latency
|
||||||
|
<!-- trait AudioDecoderExt::fn get_max_errors -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured decoder tolerated error count.
|
||||||
|
<!-- trait AudioDecoderExt::fn get_min_latency -->
|
||||||
|
Queries decoder's latency aggregation.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
aggregation latency.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioDecoderExt::fn get_needs_format -->
|
||||||
|
Queries decoder required format handling.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if required format handling is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioDecoderExt::fn get_parse_state -->
|
||||||
|
Return current parsing (sync and eos) state.
|
||||||
|
## `sync`
|
||||||
|
a pointer to a variable to hold the current sync state
|
||||||
|
## `eos`
|
||||||
|
a pointer to a variable to hold the current eos state
|
||||||
|
<!-- trait AudioDecoderExt::fn get_plc -->
|
||||||
|
Queries decoder packet loss concealment handling.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if packet loss concealment is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioDecoderExt::fn get_plc_aware -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured plc handling
|
||||||
|
<!-- trait AudioDecoderExt::fn get_tolerance -->
|
||||||
|
Queries current audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
decoder audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioDecoderExt::fn merge_tags -->
|
||||||
|
Sets the audio decoder tags and how they should be merged with any
|
||||||
|
upstream stream tags. This will override any tags previously-set
|
||||||
|
with `AudioDecoderExt::merge_tags`.
|
||||||
|
|
||||||
|
Note that this is provided for convenience, and the subclass is
|
||||||
|
not required to use this and can still do tag handling on its own.
|
||||||
|
## `tags`
|
||||||
|
a `gst::TagList` to merge, or NULL
|
||||||
|
## `mode`
|
||||||
|
the `gst::TagMergeMode` to use, usually `gst::TagMergeMode::Replace`
|
||||||
|
<!-- trait AudioDecoderExt::fn negotiate -->
|
||||||
|
Negotiate with downstream elements to currently configured `AudioInfo`.
|
||||||
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
||||||
|
negotiate fails.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` if the negotiation succeeded, else `false`.
|
||||||
|
<!-- trait AudioDecoderExt::fn proxy_getcaps -->
|
||||||
|
Returns caps that express `caps` (or sink template caps if `caps` == NULL)
|
||||||
|
restricted to rate/channels/... combinations supported by downstream
|
||||||
|
elements.
|
||||||
|
## `caps`
|
||||||
|
initial caps
|
||||||
|
## `filter`
|
||||||
|
filter caps
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `gst::Caps` owned by caller
|
||||||
|
<!-- trait AudioDecoderExt::fn set_allocation_caps -->
|
||||||
|
Sets a caps in allocation query which are different from the set
|
||||||
|
pad's caps. Use this function before calling
|
||||||
|
`AudioDecoder::negotiate`. Setting to `None` the allocation
|
||||||
|
query will use the caps from the pad.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
|
## `allocation_caps`
|
||||||
|
a `gst::Caps` or `None`
|
||||||
|
<!-- trait AudioDecoderExt::fn set_drainable -->
|
||||||
|
Configures decoder drain handling. If drainable, subclass might
|
||||||
|
be handed a NULL buffer to have it return any leftover decoded data.
|
||||||
|
Otherwise, it is not considered so capable and will only ever be passed
|
||||||
|
real data.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioDecoderExt::fn set_estimate_rate -->
|
||||||
|
Allows baseclass to perform byte to time estimated conversion.
|
||||||
|
## `enabled`
|
||||||
|
whether to enable byte to time conversion
|
||||||
|
<!-- trait AudioDecoderExt::fn set_latency -->
|
||||||
|
Sets decoder latency.
|
||||||
|
## `min`
|
||||||
|
minimum latency
|
||||||
|
## `max`
|
||||||
|
maximum latency
|
||||||
|
<!-- trait AudioDecoderExt::fn set_max_errors -->
|
||||||
|
Sets numbers of tolerated decoder errors, where a tolerated one is then only
|
||||||
|
warned about, but more than tolerated will lead to fatal error. You can set
|
||||||
|
-1 for never returning fatal errors. Default is set to
|
||||||
|
GST_AUDIO_DECODER_MAX_ERRORS.
|
||||||
|
## `num`
|
||||||
|
max tolerated errors
|
||||||
|
<!-- trait AudioDecoderExt::fn set_min_latency -->
|
||||||
|
Sets decoder minimum aggregation latency.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `num`
|
||||||
|
new minimum latency
|
||||||
|
<!-- trait AudioDecoderExt::fn set_needs_format -->
|
||||||
|
Configures decoder format needs. If enabled, subclass needs to be
|
||||||
|
negotiated with format caps before it can process any data. It will then
|
||||||
|
never be handed any data before it has been configured.
|
||||||
|
Otherwise, it might be handed data without having been configured and
|
||||||
|
is then expected being able to do so either by default
|
||||||
|
or based on the input data.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioDecoderExt::fn set_output_caps -->
|
||||||
|
Configure output caps on the srcpad of `self`. Similar to
|
||||||
|
`AudioDecoder::set_output_format`, but allows subclasses to specify
|
||||||
|
output caps that can't be expressed via `AudioInfo` e.g. caps that have
|
||||||
|
caps features.
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
## `caps`
|
||||||
|
(fixed) `gst::Caps`
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` on success.
|
||||||
|
<!-- trait AudioDecoderExt::fn set_output_format -->
|
||||||
|
Configure output info on the srcpad of `self`.
|
||||||
|
## `info`
|
||||||
|
`AudioInfo`
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` on success.
|
||||||
|
<!-- trait AudioDecoderExt::fn set_plc -->
|
||||||
|
Enable or disable decoder packet loss concealment, provided subclass
|
||||||
|
and codec are capable and allow handling plc.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioDecoderExt::fn set_plc_aware -->
|
||||||
|
Indicates whether or not subclass handles packet loss concealment (plc).
|
||||||
|
## `plc`
|
||||||
|
new plc state
|
||||||
|
<!-- trait AudioDecoderExt::fn set_tolerance -->
|
||||||
|
Configures decoder audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `tolerance`
|
||||||
|
new tolerance
|
||||||
|
<!-- trait AudioDecoderExt::fn set_use_default_pad_acceptcaps -->
|
||||||
|
Lets `AudioDecoder` sub-classes decide if they want the sink pad
|
||||||
|
to use the default pad query handler to reply to accept-caps queries.
|
||||||
|
|
||||||
|
By setting this to true it is possible to further customize the default
|
||||||
|
handler with `GST_PAD_SET_ACCEPT_INTERSECT` and
|
||||||
|
`GST_PAD_SET_ACCEPT_TEMPLATE`
|
||||||
|
## `use_`
|
||||||
|
if the default pad accept-caps query handling should be used
|
||||||
|
<!-- struct AudioEncoder -->
|
||||||
|
This base class is for audio encoders turning raw audio samples into
|
||||||
|
encoded audio data.
|
||||||
|
|
||||||
|
GstAudioEncoder and subclass should cooperate as follows.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
* Initially, GstAudioEncoder calls `start` when the encoder element
|
||||||
|
is activated, which allows subclass to perform any global setup.
|
||||||
|
|
||||||
|
* GstAudioEncoder calls `set_format` to inform subclass of the format
|
||||||
|
of input audio data that it is about to receive. Subclass should
|
||||||
|
setup for encoding and configure various base class parameters
|
||||||
|
appropriately, notably those directing desired input data handling.
|
||||||
|
While unlikely, it might be called more than once, if changing input
|
||||||
|
parameters require reconfiguration.
|
||||||
|
|
||||||
|
* GstAudioEncoder calls `stop` at end of all processing.
|
||||||
|
|
||||||
|
As of configuration stage, and throughout processing, GstAudioEncoder
|
||||||
|
maintains various parameters that provide required context,
|
||||||
|
e.g. describing the format of input audio data.
|
||||||
|
Conversely, subclass can and should configure these context parameters
|
||||||
|
to inform base class of its expectation w.r.t. buffer handling.
|
||||||
|
|
||||||
|
## Data processing
|
||||||
|
|
||||||
|
* Base class gathers input sample data (as directed by the context's
|
||||||
|
frame_samples and frame_max) and provides this to subclass' `handle_frame`.
|
||||||
|
* If codec processing results in encoded data, subclass should call
|
||||||
|
`AudioEncoder::finish_frame` to have encoded data pushed
|
||||||
|
downstream. Alternatively, it might also call
|
||||||
|
`AudioEncoder::finish_frame` (with a NULL buffer and some number of
|
||||||
|
dropped samples) to indicate dropped (non-encoded) samples.
|
||||||
|
* Just prior to actually pushing a buffer downstream,
|
||||||
|
it is passed to `pre_push`.
|
||||||
|
* During the parsing process GstAudioEncoderClass will handle both
|
||||||
|
srcpad and sinkpad events. Sink events will be passed to subclass
|
||||||
|
if `event` callback has been provided.
|
||||||
|
|
||||||
|
## Shutdown phase
|
||||||
|
|
||||||
|
* GstAudioEncoder class calls `stop` to inform the subclass that data
|
||||||
|
parsing will be stopped.
|
||||||
|
|
||||||
|
Subclass is responsible for providing pad template caps for
|
||||||
|
source and sink pads. The pads need to be named "sink" and "src". It also
|
||||||
|
needs to set the fixed caps on srcpad, when the format is ensured. This
|
||||||
|
is typically when base class calls subclass' `set_format` function, though
|
||||||
|
it might be delayed until calling `AudioEncoder::finish_frame`.
|
||||||
|
|
||||||
|
In summary, above process should have subclass concentrating on
|
||||||
|
codec data processing while leaving other matters to base class,
|
||||||
|
such as most notably timestamp handling. While it may exert more control
|
||||||
|
in this area (see e.g. `pre_push`), it is very much not recommended.
|
||||||
|
|
||||||
|
In particular, base class will either favor tracking upstream timestamps
|
||||||
|
(at the possible expense of jitter) or aim to arrange for a perfect stream of
|
||||||
|
output timestamps, depending on `AudioEncoder:perfect-timestamp`.
|
||||||
|
However, in the latter case, the input may not be so perfect or ideal, which
|
||||||
|
is handled as follows. An input timestamp is compared with the expected
|
||||||
|
timestamp as dictated by input sample stream and if the deviation is less
|
||||||
|
than `AudioEncoder:tolerance`, the deviation is discarded.
|
||||||
|
Otherwise, it is considered a discontuinity and subsequent output timestamp
|
||||||
|
is resynced to the new position after performing configured discontinuity
|
||||||
|
processing. In the non-perfect-timestamp case, an upstream variation
|
||||||
|
exceeding tolerance only leads to marking DISCONT on subsequent outgoing
|
||||||
|
(while timestamps are adjusted to upstream regardless of variation).
|
||||||
|
While DISCONT is also marked in the perfect-timestamp case, this one
|
||||||
|
optionally (see `AudioEncoder:hard-resync`)
|
||||||
|
performs some additional steps, such as clipping of (early) input samples
|
||||||
|
or draining all currently remaining input data, depending on the direction
|
||||||
|
of the discontuinity.
|
||||||
|
|
||||||
|
If perfect timestamps are arranged, it is also possible to request baseclass
|
||||||
|
(usually set by subclass) to provide additional buffer metadata (in OFFSET
|
||||||
|
and OFFSET_END) fields according to granule defined semantics currently
|
||||||
|
needed by oggmux. Specifically, OFFSET is set to granulepos (= sample count
|
||||||
|
including buffer) and OFFSET_END to corresponding timestamp (as determined
|
||||||
|
by same sample count and sample rate).
|
||||||
|
|
||||||
|
Things that subclass need to take care of:
|
||||||
|
|
||||||
|
* Provide pad templates
|
||||||
|
* Set source pad caps when appropriate
|
||||||
|
* Inform base class of buffer processing needs using context's
|
||||||
|
frame_samples and frame_bytes.
|
||||||
|
* Set user-configurable properties to sane defaults for format and
|
||||||
|
implementing codec at hand, e.g. those controlling timestamp behaviour
|
||||||
|
and discontinuity processing.
|
||||||
|
* Accept data in `handle_frame` and provide encoded results to
|
||||||
|
`AudioEncoder::finish_frame`.
|
||||||
|
|
||||||
|
# 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)
|
||||||
|
<!-- trait AudioEncoderExt -->
|
||||||
|
Trait containing all `AudioEncoder` methods.
|
||||||
|
|
||||||
|
# Implementors
|
||||||
|
|
||||||
|
[`AudioEncoder`](struct.AudioEncoder.html)
|
||||||
|
<!-- trait AudioEncoderExt::fn allocate_output_buffer -->
|
||||||
|
Helper function that allocates a buffer to hold an encoded audio frame
|
||||||
|
for `self`'s current output format.
|
||||||
|
## `size`
|
||||||
|
size of the buffer
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
allocated buffer
|
||||||
|
<!-- trait AudioEncoderExt::fn finish_frame -->
|
||||||
|
Collects encoded data and pushes encoded data downstream.
|
||||||
|
Source pad caps must be set when this is called.
|
||||||
|
|
||||||
|
If `samples` < 0, then best estimate is all samples provided to encoder
|
||||||
|
(subclass) so far. `buf` may be NULL, in which case next number of `samples`
|
||||||
|
are considered discarded, e.g. as a result of discontinuous transmission,
|
||||||
|
and a discontinuity is marked.
|
||||||
|
|
||||||
|
Note that samples received in `AudioEncoderClass.handle_frame`()
|
||||||
|
may be invalidated by a call to this function.
|
||||||
|
## `buffer`
|
||||||
|
encoded data
|
||||||
|
## `samples`
|
||||||
|
number of samples (per channel) represented by encoded data
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `gst::FlowReturn` that should be escalated to caller (of caller)
|
||||||
|
<!-- trait AudioEncoderExt::fn get_allocator -->
|
||||||
|
Lets `AudioEncoder` sub-classes to know the memory `allocator`
|
||||||
|
used by the base class and its `params`.
|
||||||
|
|
||||||
|
Unref the `allocator` after use it.
|
||||||
|
## `allocator`
|
||||||
|
the `gst::Allocator`
|
||||||
|
used
|
||||||
|
## `params`
|
||||||
|
the
|
||||||
|
`gst::AllocationParams` of `allocator`
|
||||||
|
<!-- trait AudioEncoderExt::fn get_audio_info -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `AudioInfo` describing the input audio format
|
||||||
|
<!-- trait AudioEncoderExt::fn get_drainable -->
|
||||||
|
Queries encoder drain handling.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if drainable handling is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioEncoderExt::fn get_frame_max -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured maximum handled frames
|
||||||
|
<!-- trait AudioEncoderExt::fn get_frame_samples_max -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently maximum requested samples per frame
|
||||||
|
<!-- trait AudioEncoderExt::fn get_frame_samples_min -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently minimum requested samples per frame
|
||||||
|
<!-- trait AudioEncoderExt::fn get_hard_min -->
|
||||||
|
Queries encoder hard minimum handling.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if hard minimum handling is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioEncoderExt::fn get_latency -->
|
||||||
|
Sets the variables pointed to by `min` and `max` to the currently configured
|
||||||
|
latency.
|
||||||
|
## `min`
|
||||||
|
a pointer to storage to hold minimum latency
|
||||||
|
## `max`
|
||||||
|
a pointer to storage to hold maximum latency
|
||||||
|
<!-- trait AudioEncoderExt::fn get_lookahead -->
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
currently configured encoder lookahead
|
||||||
|
<!-- trait AudioEncoderExt::fn get_mark_granule -->
|
||||||
|
Queries if the encoder will handle granule marking.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if granule marking is enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioEncoderExt::fn get_perfect_timestamp -->
|
||||||
|
Queries encoder perfect timestamp behaviour.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
TRUE if perfect timestamp setting enabled.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioEncoderExt::fn get_tolerance -->
|
||||||
|
Queries current audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
encoder audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
<!-- trait AudioEncoderExt::fn merge_tags -->
|
||||||
|
Sets the audio encoder tags and how they should be merged with any
|
||||||
|
upstream stream tags. This will override any tags previously-set
|
||||||
|
with `AudioEncoderExt::merge_tags`.
|
||||||
|
|
||||||
|
Note that this is provided for convenience, and the subclass is
|
||||||
|
not required to use this and can still do tag handling on its own.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `tags`
|
||||||
|
a `gst::TagList` to merge, or NULL to unset
|
||||||
|
previously-set tags
|
||||||
|
## `mode`
|
||||||
|
the `gst::TagMergeMode` to use, usually `gst::TagMergeMode::Replace`
|
||||||
|
<!-- trait AudioEncoderExt::fn negotiate -->
|
||||||
|
Negotiate with downstream elements to currently configured `gst::Caps`.
|
||||||
|
Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if
|
||||||
|
negotiate fails.
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` if the negotiation succeeded, else `false`.
|
||||||
|
<!-- trait AudioEncoderExt::fn proxy_getcaps -->
|
||||||
|
Returns caps that express `caps` (or sink template caps if `caps` == NULL)
|
||||||
|
restricted to channel/rate combinations supported by downstream elements
|
||||||
|
(e.g. muxers).
|
||||||
|
## `caps`
|
||||||
|
initial caps
|
||||||
|
## `filter`
|
||||||
|
filter caps
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
a `gst::Caps` owned by caller
|
||||||
|
<!-- trait AudioEncoderExt::fn set_allocation_caps -->
|
||||||
|
Sets a caps in allocation query which are different from the set
|
||||||
|
pad's caps. Use this function before calling
|
||||||
|
`AudioEncoder::negotiate`. Setting to `None` the allocation
|
||||||
|
query will use the caps from the pad.
|
||||||
|
|
||||||
|
Feature: `v1_10`
|
||||||
|
|
||||||
|
## `allocation_caps`
|
||||||
|
a `gst::Caps` or `None`
|
||||||
|
<!-- trait AudioEncoderExt::fn set_drainable -->
|
||||||
|
Configures encoder drain handling. If drainable, subclass might
|
||||||
|
be handed a NULL buffer to have it return any leftover encoded data.
|
||||||
|
Otherwise, it is not considered so capable and will only ever be passed
|
||||||
|
real data.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioEncoderExt::fn set_frame_max -->
|
||||||
|
Sets max number of frames accepted at once (assumed minimally 1).
|
||||||
|
Requires `frame_samples_min` and `frame_samples_max` to be the equal.
|
||||||
|
|
||||||
|
Note: This value will be reset to 0 every time before
|
||||||
|
`AudioEncoderClass.set_format`() is called.
|
||||||
|
## `num`
|
||||||
|
number of frames
|
||||||
|
<!-- trait AudioEncoderExt::fn set_frame_samples_max -->
|
||||||
|
Sets number of samples (per channel) subclass needs to be handed,
|
||||||
|
at most or will be handed all available if 0.
|
||||||
|
|
||||||
|
If an exact number of samples is required, `AudioEncoderExt::set_frame_samples_min`
|
||||||
|
must be called with the same number.
|
||||||
|
|
||||||
|
Note: This value will be reset to 0 every time before
|
||||||
|
`AudioEncoderClass.set_format`() is called.
|
||||||
|
## `num`
|
||||||
|
number of samples per frame
|
||||||
|
<!-- trait AudioEncoderExt::fn set_frame_samples_min -->
|
||||||
|
Sets number of samples (per channel) subclass needs to be handed,
|
||||||
|
at least or will be handed all available if 0.
|
||||||
|
|
||||||
|
If an exact number of samples is required, `AudioEncoderExt::set_frame_samples_max`
|
||||||
|
must be called with the same number.
|
||||||
|
|
||||||
|
Note: This value will be reset to 0 every time before
|
||||||
|
`AudioEncoderClass.set_format`() is called.
|
||||||
|
## `num`
|
||||||
|
number of samples per frame
|
||||||
|
<!-- trait AudioEncoderExt::fn set_hard_min -->
|
||||||
|
Configures encoder hard minimum handling. If enabled, subclass
|
||||||
|
will never be handed less samples than it configured, which otherwise
|
||||||
|
might occur near end-of-data handling. Instead, the leftover samples
|
||||||
|
will simply be discarded.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioEncoderExt::fn set_headers -->
|
||||||
|
Set the codec headers to be sent downstream whenever requested.
|
||||||
|
## `headers`
|
||||||
|
a list of
|
||||||
|
`gst::Buffer` containing the codec header
|
||||||
|
<!-- trait AudioEncoderExt::fn set_latency -->
|
||||||
|
Sets encoder latency.
|
||||||
|
## `min`
|
||||||
|
minimum latency
|
||||||
|
## `max`
|
||||||
|
maximum latency
|
||||||
|
<!-- trait AudioEncoderExt::fn set_lookahead -->
|
||||||
|
Sets encoder lookahead (in units of input rate samples)
|
||||||
|
|
||||||
|
Note: This value will be reset to 0 every time before
|
||||||
|
`AudioEncoderClass.set_format`() is called.
|
||||||
|
## `num`
|
||||||
|
lookahead
|
||||||
|
<!-- trait AudioEncoderExt::fn set_mark_granule -->
|
||||||
|
Enable or disable encoder granule handling.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioEncoderExt::fn set_output_format -->
|
||||||
|
Configure output caps on the srcpad of `self`.
|
||||||
|
## `caps`
|
||||||
|
`gst::Caps`
|
||||||
|
|
||||||
|
# Returns
|
||||||
|
|
||||||
|
`true` on success.
|
||||||
|
<!-- trait AudioEncoderExt::fn set_perfect_timestamp -->
|
||||||
|
Enable or disable encoder perfect output timestamp preference.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `enabled`
|
||||||
|
new state
|
||||||
|
<!-- trait AudioEncoderExt::fn set_tolerance -->
|
||||||
|
Configures encoder audio jitter tolerance threshold.
|
||||||
|
|
||||||
|
MT safe.
|
||||||
|
## `tolerance`
|
||||||
|
new tolerance
|
||||||
<!-- 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 -->
|
||||||
|
@ -266,6 +1146,83 @@ 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 AudioRingBufferFormatType -->
|
||||||
|
The format of the samples in the ringbuffer.
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Raw -->
|
||||||
|
samples in linear or float
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant MuLaw -->
|
||||||
|
samples in mulaw
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant ALaw -->
|
||||||
|
samples in alaw
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant ImaAdpcm -->
|
||||||
|
samples in ima adpcm
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Mpeg -->
|
||||||
|
samples in mpeg audio (but not AAC) format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Gsm -->
|
||||||
|
samples in gsm format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Iec958 -->
|
||||||
|
samples in IEC958 frames (e.g. AC3)
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Ac3 -->
|
||||||
|
samples in AC3 format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Eac3 -->
|
||||||
|
samples in EAC3 format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Dts -->
|
||||||
|
samples in DTS format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Mpeg2Aac -->
|
||||||
|
samples in MPEG-2 AAC ADTS format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Mpeg4Aac -->
|
||||||
|
samples in MPEG-4 AAC ADTS format
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Mpeg2AacRaw -->
|
||||||
|
samples in MPEG-2 AAC raw format (Since: 1.12)
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Mpeg4AacRaw -->
|
||||||
|
samples in MPEG-4 AAC raw format (Since: 1.12)
|
||||||
|
<!-- enum AudioRingBufferFormatType::variant Flac -->
|
||||||
|
samples in FLAC format (Since: 1.12)
|
||||||
|
<!-- struct AudioSink -->
|
||||||
|
This is the most simple base class for audio sinks that only requires
|
||||||
|
subclasses to implement a set of simple functions:
|
||||||
|
|
||||||
|
* `open()` :Open the device.
|
||||||
|
|
||||||
|
* `prepare()` :Configure the device with the specified format.
|
||||||
|
|
||||||
|
* `write()` :Write samples to the device.
|
||||||
|
|
||||||
|
* `reset()` :Unblock writes and flush the device.
|
||||||
|
|
||||||
|
* `delay()` :Get the number of samples written but not yet played
|
||||||
|
by the device.
|
||||||
|
|
||||||
|
* `unprepare()` :Undo operations done by prepare.
|
||||||
|
|
||||||
|
* `close()` :Close the device.
|
||||||
|
|
||||||
|
All scheduling of samples and timestamps is done in this base class
|
||||||
|
together with `AudioBaseSink` using a default implementation of a
|
||||||
|
`AudioRingBuffer` that uses threads.
|
||||||
|
|
||||||
|
# Implements
|
||||||
|
|
||||||
|
[`AudioBaseSinkExt`](trait.AudioBaseSinkExt.html), [`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)
|
||||||
|
<!-- struct AudioSrc -->
|
||||||
|
This is the most simple base class for audio sources that only requires
|
||||||
|
subclasses to implement a set of simple functions:
|
||||||
|
|
||||||
|
* `open()` :Open the device.
|
||||||
|
* `prepare()` :Configure the device with the specified format.
|
||||||
|
* `read()` :Read samples from the device.
|
||||||
|
* `reset()` :Unblock reads and flush the device.
|
||||||
|
* `delay()` :Get the number of samples in the device but not yet read.
|
||||||
|
* `unprepare()` :Undo operations done by prepare.
|
||||||
|
* `close()` :Close the device.
|
||||||
|
|
||||||
|
All scheduling of samples and timestamps is done in this base class
|
||||||
|
together with `AudioBaseSrc` using a default implementation of a
|
||||||
|
`AudioRingBuffer` that uses threads.
|
||||||
|
|
||||||
|
# Implements
|
||||||
|
|
||||||
|
[`AudioBaseSrcExt`](trait.AudioBaseSrcExt.html), [`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)
|
||||||
<!-- struct AudioStreamAlign -->
|
<!-- struct AudioStreamAlign -->
|
||||||
`AudioStreamAlign` provides a helper object that helps tracking audio
|
`AudioStreamAlign` provides a helper object that helps tracking audio
|
||||||
stream alignment and discontinuities, and detects discontinuities if
|
stream alignment and discontinuities, and detects discontinuities if
|
||||||
|
|
|
@ -678,7 +678,7 @@ Feature: `v1_16`
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
The running time based on the position
|
The running time based on the position
|
||||||
<!-- trait AggregatorExt::fn get_property_min-upstream-latency -->
|
<!-- trait AggregatorExt::fn get_property_min_upstream_latency -->
|
||||||
Force minimum upstream latency (in nanoseconds). When sources with a
|
Force minimum upstream latency (in nanoseconds). When sources with a
|
||||||
higher latency are expected to be plugged in dynamically after the
|
higher latency are expected to be plugged in dynamically after the
|
||||||
aggregator has started playing, this allows overriding the minimum
|
aggregator has started playing, this allows overriding the minimum
|
||||||
|
@ -687,7 +687,7 @@ account when larger than the actually reported minimum latency.
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- trait AggregatorExt::fn set_property_min-upstream-latency -->
|
<!-- trait AggregatorExt::fn set_property_min_upstream_latency -->
|
||||||
Force minimum upstream latency (in nanoseconds). When sources with a
|
Force minimum upstream latency (in nanoseconds). When sources with a
|
||||||
higher latency are expected to be plugged in dynamically after the
|
higher latency are expected to be plugged in dynamically after the
|
||||||
aggregator has started playing, this allows overriding the minimum
|
aggregator has started playing, this allows overriding the minimum
|
||||||
|
@ -762,12 +762,12 @@ Feature: `v1_14`
|
||||||
|
|
||||||
The buffer in `self` or NULL if no buffer was
|
The buffer in `self` or NULL if no buffer was
|
||||||
queued. You should unref the buffer after usage.
|
queued. You should unref the buffer after usage.
|
||||||
<!-- trait AggregatorPadExt::fn get_property_emit-signals -->
|
<!-- trait AggregatorPadExt::fn get_property_emit_signals -->
|
||||||
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- trait AggregatorPadExt::fn set_property_emit-signals -->
|
<!-- trait AggregatorPadExt::fn set_property_emit_signals -->
|
||||||
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
@ -1097,14 +1097,14 @@ This function can be used to set the timestamps based on the offset
|
||||||
into the frame data that the picture starts.
|
into the frame data that the picture starts.
|
||||||
## `offset`
|
## `offset`
|
||||||
offset into current buffer
|
offset into current buffer
|
||||||
<!-- trait BaseParseExt::fn get_property_disable-passthrough -->
|
<!-- trait BaseParseExt::fn get_property_disable_passthrough -->
|
||||||
If set to `true`, baseparse will unconditionally force parsing of the
|
If set to `true`, baseparse will unconditionally force parsing of the
|
||||||
incoming data. This can be required in the rare cases where the incoming
|
incoming data. This can be required in the rare cases where the incoming
|
||||||
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
||||||
force validation and parsing of the incoming data.
|
force validation and parsing of the incoming data.
|
||||||
If set to `false`, decision of whether to parse the data or not is up to
|
If set to `false`, decision of whether to parse the data or not is up to
|
||||||
the implementation (standard behaviour).
|
the implementation (standard behaviour).
|
||||||
<!-- trait BaseParseExt::fn set_property_disable-passthrough -->
|
<!-- trait BaseParseExt::fn set_property_disable_passthrough -->
|
||||||
If set to `true`, baseparse will unconditionally force parsing of the
|
If set to `true`, baseparse will unconditionally force parsing of the
|
||||||
incoming data. This can be required in the rare cases where the incoming
|
incoming data. This can be required in the rare cases where the incoming
|
||||||
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
||||||
|
@ -1589,63 +1589,63 @@ not required.
|
||||||
The amount of bytes to pull when operating in pull mode.
|
The amount of bytes to pull when operating in pull mode.
|
||||||
<!-- trait BaseSinkExt::fn set_property_blocksize -->
|
<!-- trait BaseSinkExt::fn set_property_blocksize -->
|
||||||
The amount of bytes to pull when operating in pull mode.
|
The amount of bytes to pull when operating in pull mode.
|
||||||
<!-- trait BaseSinkExt::fn get_property_enable-last-sample -->
|
<!-- trait BaseSinkExt::fn get_property_enable_last_sample -->
|
||||||
Enable the last-sample property. If `false`, basesink doesn't keep a
|
Enable the last-sample property. If `false`, basesink doesn't keep a
|
||||||
reference to the last buffer arrived and the last-sample property is always
|
reference to the last buffer arrived and the last-sample property is always
|
||||||
set to `None`. This can be useful if you need buffers to be released as soon
|
set to `None`. This can be useful if you need buffers to be released as soon
|
||||||
as possible, eg. if you're using a buffer pool.
|
as possible, eg. if you're using a buffer pool.
|
||||||
<!-- trait BaseSinkExt::fn set_property_enable-last-sample -->
|
<!-- trait BaseSinkExt::fn set_property_enable_last_sample -->
|
||||||
Enable the last-sample property. If `false`, basesink doesn't keep a
|
Enable the last-sample property. If `false`, basesink doesn't keep a
|
||||||
reference to the last buffer arrived and the last-sample property is always
|
reference to the last buffer arrived and the last-sample property is always
|
||||||
set to `None`. This can be useful if you need buffers to be released as soon
|
set to `None`. This can be useful if you need buffers to be released as soon
|
||||||
as possible, eg. if you're using a buffer pool.
|
as possible, eg. if you're using a buffer pool.
|
||||||
<!-- trait BaseSinkExt::fn get_property_last-sample -->
|
<!-- trait BaseSinkExt::fn get_property_last_sample -->
|
||||||
The last buffer that arrived in the sink and was used for preroll or for
|
The last buffer that arrived in the sink and was used for preroll or for
|
||||||
rendering. This property can be used to generate thumbnails. This property
|
rendering. This property can be used to generate thumbnails. This property
|
||||||
can be `None` when the sink has not yet received a buffer.
|
can be `None` when the sink has not yet received a buffer.
|
||||||
<!-- trait BaseSinkExt::fn get_property_max-bitrate -->
|
<!-- trait BaseSinkExt::fn get_property_max_bitrate -->
|
||||||
Control the maximum amount of bits that will be rendered per second.
|
Control the maximum amount of bits that will be rendered per second.
|
||||||
Setting this property to a value bigger than 0 will make the sink delay
|
Setting this property to a value bigger than 0 will make the sink delay
|
||||||
rendering of the buffers when it would exceed to max-bitrate.
|
rendering of the buffers when it would exceed to max-bitrate.
|
||||||
<!-- trait BaseSinkExt::fn set_property_max-bitrate -->
|
<!-- trait BaseSinkExt::fn set_property_max_bitrate -->
|
||||||
Control the maximum amount of bits that will be rendered per second.
|
Control the maximum amount of bits that will be rendered per second.
|
||||||
Setting this property to a value bigger than 0 will make the sink delay
|
Setting this property to a value bigger than 0 will make the sink delay
|
||||||
rendering of the buffers when it would exceed to max-bitrate.
|
rendering of the buffers when it would exceed to max-bitrate.
|
||||||
<!-- trait BaseSinkExt::fn get_property_processing-deadline -->
|
<!-- trait BaseSinkExt::fn get_property_processing_deadline -->
|
||||||
Maximum amount of time (in nanoseconds) that the pipeline can take
|
Maximum amount of time (in nanoseconds) that the pipeline can take
|
||||||
for processing the buffer. This is added to the latency of live
|
for processing the buffer. This is added to the latency of live
|
||||||
pipelines.
|
pipelines.
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- trait BaseSinkExt::fn set_property_processing-deadline -->
|
<!-- trait BaseSinkExt::fn set_property_processing_deadline -->
|
||||||
Maximum amount of time (in nanoseconds) that the pipeline can take
|
Maximum amount of time (in nanoseconds) that the pipeline can take
|
||||||
for processing the buffer. This is added to the latency of live
|
for processing the buffer. This is added to the latency of live
|
||||||
pipelines.
|
pipelines.
|
||||||
|
|
||||||
Feature: `v1_16`
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- trait BaseSinkExt::fn get_property_render-delay -->
|
<!-- trait BaseSinkExt::fn get_property_render_delay -->
|
||||||
The additional delay between synchronisation and actual rendering of the
|
The additional delay between synchronisation and actual rendering of the
|
||||||
media. This property will add additional latency to the device in order to
|
media. This property will add additional latency to the device in order to
|
||||||
make other sinks compensate for the delay.
|
make other sinks compensate for the delay.
|
||||||
<!-- trait BaseSinkExt::fn set_property_render-delay -->
|
<!-- trait BaseSinkExt::fn set_property_render_delay -->
|
||||||
The additional delay between synchronisation and actual rendering of the
|
The additional delay between synchronisation and actual rendering of the
|
||||||
media. This property will add additional latency to the device in order to
|
media. This property will add additional latency to the device in order to
|
||||||
make other sinks compensate for the delay.
|
make other sinks compensate for the delay.
|
||||||
<!-- trait BaseSinkExt::fn get_property_throttle-time -->
|
<!-- trait BaseSinkExt::fn get_property_throttle_time -->
|
||||||
The time to insert between buffers. This property can be used to control
|
The time to insert between buffers. This property can be used to control
|
||||||
the maximum amount of buffers per second to render. Setting this property
|
the maximum amount of buffers per second to render. Setting this property
|
||||||
to a value bigger than 0 will make the sink create THROTTLE QoS events.
|
to a value bigger than 0 will make the sink create THROTTLE QoS events.
|
||||||
<!-- trait BaseSinkExt::fn set_property_throttle-time -->
|
<!-- trait BaseSinkExt::fn set_property_throttle_time -->
|
||||||
The time to insert between buffers. This property can be used to control
|
The time to insert between buffers. This property can be used to control
|
||||||
the maximum amount of buffers per second to render. Setting this property
|
the maximum amount of buffers per second to render. Setting this property
|
||||||
to a value bigger than 0 will make the sink create THROTTLE QoS events.
|
to a value bigger than 0 will make the sink create THROTTLE QoS events.
|
||||||
<!-- trait BaseSinkExt::fn get_property_ts-offset -->
|
<!-- trait BaseSinkExt::fn get_property_ts_offset -->
|
||||||
Controls the final synchronisation, a negative value will render the buffer
|
Controls the final synchronisation, a negative value will render the buffer
|
||||||
earlier while a positive value delays playback. This property can be
|
earlier while a positive value delays playback. This property can be
|
||||||
used to fix synchronisation in bad files.
|
used to fix synchronisation in bad files.
|
||||||
<!-- trait BaseSinkExt::fn set_property_ts-offset -->
|
<!-- trait BaseSinkExt::fn set_property_ts_offset -->
|
||||||
Controls the final synchronisation, a negative value will render the buffer
|
Controls the final synchronisation, a negative value will render the buffer
|
||||||
earlier while a positive value delays playback. This property can be
|
earlier while a positive value delays playback. This property can be
|
||||||
used to fix synchronisation in bad files.
|
used to fix synchronisation in bad files.
|
||||||
|
|
|
@ -1318,13 +1318,13 @@ Blocks until at least `count` clock notifications have been requested from
|
||||||
use `TestClock::wait_for_multiple_pending_ids` instead.
|
use `TestClock::wait_for_multiple_pending_ids` instead.
|
||||||
## `count`
|
## `count`
|
||||||
the number of pending clock notifications to wait for
|
the number of pending clock notifications to wait for
|
||||||
<!-- trait TestClockExt::fn get_property_start-time -->
|
<!-- impl TestClock::fn get_property_start_time -->
|
||||||
When a `TestClock` is constructed it will have a certain start time set.
|
When a `TestClock` is constructed it will have a certain start time set.
|
||||||
If the clock was created using `TestClock::new_with_start_time` then
|
If the clock was created using `TestClock::new_with_start_time` then
|
||||||
this property contains the value of the `start_time` argument. If
|
this property contains the value of the `start_time` argument. If
|
||||||
`TestClock::new` was called the clock started at time zero, and thus
|
`TestClock::new` was called the clock started at time zero, and thus
|
||||||
this property contains the value 0.
|
this property contains the value 0.
|
||||||
<!-- trait TestClockExt::fn set_property_start-time -->
|
<!-- impl TestClock::fn set_property_start_time -->
|
||||||
When a `TestClock` is constructed it will have a certain start time set.
|
When a `TestClock` is constructed it will have a certain start time set.
|
||||||
If the clock was created using `TestClock::new_with_start_time` then
|
If the clock was created using `TestClock::new_with_start_time` then
|
||||||
this property contains the value of the `start_time` argument. If
|
this property contains the value of the `start_time` argument. If
|
||||||
|
|
|
@ -386,9 +386,9 @@ from the splitting or `None` if the clip can't be split.
|
||||||
The GESLayer where this clip is being used. If you want to connect to its
|
The GESLayer where this clip is being used. If you want to connect to its
|
||||||
notify signal you should connect to it with g_signal_connect_after as the
|
notify signal you should connect to it with g_signal_connect_after as the
|
||||||
signal emission can be stop in the first fase.
|
signal emission can be stop in the first fase.
|
||||||
<!-- trait ClipExt::fn get_property_supported-formats -->
|
<!-- trait ClipExt::fn get_property_supported_formats -->
|
||||||
The formats supported by the clip.
|
The formats supported by the clip.
|
||||||
<!-- trait ClipExt::fn set_property_supported-formats -->
|
<!-- trait ClipExt::fn set_property_supported_formats -->
|
||||||
The formats supported by the clip.
|
The formats supported by the clip.
|
||||||
<!-- struct Container -->
|
<!-- struct Container -->
|
||||||
The `Container` base class.
|
The `Container` base class.
|
||||||
|
@ -557,12 +557,12 @@ The gst-launch like bin description of the effect
|
||||||
|
|
||||||
a newly created `Effect`, or `None` if something went
|
a newly created `Effect`, or `None` if something went
|
||||||
wrong.
|
wrong.
|
||||||
<!-- trait EffectExt::fn get_property_bin-description -->
|
<!-- trait EffectExt::fn get_property_bin_description -->
|
||||||
The description of the effect bin with a gst-launch-style
|
The description of the effect bin with a gst-launch-style
|
||||||
pipeline description.
|
pipeline description.
|
||||||
|
|
||||||
Example: "videobalance saturation=1.5 hue=+0.5"
|
Example: "videobalance saturation=1.5 hue=+0.5"
|
||||||
<!-- trait EffectExt::fn set_property_bin-description -->
|
<!-- trait EffectExt::fn set_property_bin_description -->
|
||||||
The description of the effect bin with a gst-launch-style
|
The description of the effect bin with a gst-launch-style
|
||||||
pipeline description.
|
pipeline description.
|
||||||
|
|
||||||
|
@ -629,21 +629,21 @@ The new empty group.
|
||||||
The duration (in nanoseconds) which will be used in the container
|
The duration (in nanoseconds) which will be used in the container
|
||||||
<!-- trait GroupExt::fn set_property_duration -->
|
<!-- trait GroupExt::fn set_property_duration -->
|
||||||
The duration (in nanoseconds) which will be used in the container
|
The duration (in nanoseconds) which will be used in the container
|
||||||
<!-- trait GroupExt::fn get_property_in-point -->
|
<!-- trait GroupExt::fn get_property_in_point -->
|
||||||
The in-point at which this `Group` will start outputting data
|
The in-point at which this `Group` will start outputting data
|
||||||
from its contents (in nanoseconds).
|
from its contents (in nanoseconds).
|
||||||
|
|
||||||
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
||||||
be the one located 5 seconds in the controlled resource.
|
be the one located 5 seconds in the controlled resource.
|
||||||
<!-- trait GroupExt::fn set_property_in-point -->
|
<!-- trait GroupExt::fn set_property_in_point -->
|
||||||
The in-point at which this `Group` will start outputting data
|
The in-point at which this `Group` will start outputting data
|
||||||
from its contents (in nanoseconds).
|
from its contents (in nanoseconds).
|
||||||
|
|
||||||
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
||||||
be the one located 5 seconds in the controlled resource.
|
be the one located 5 seconds in the controlled resource.
|
||||||
<!-- trait GroupExt::fn get_property_max-duration -->
|
<!-- trait GroupExt::fn get_property_max_duration -->
|
||||||
The maximum duration (in nanoseconds) of the `Group`.
|
The maximum duration (in nanoseconds) of the `Group`.
|
||||||
<!-- trait GroupExt::fn set_property_max-duration -->
|
<!-- trait GroupExt::fn set_property_max_duration -->
|
||||||
The maximum duration (in nanoseconds) of the `Group`.
|
The maximum duration (in nanoseconds) of the `Group`.
|
||||||
<!-- trait GroupExt::fn get_property_start -->
|
<!-- trait GroupExt::fn get_property_start -->
|
||||||
The position of the object in its container (in nanoseconds).
|
The position of the object in its container (in nanoseconds).
|
||||||
|
@ -795,9 +795,9 @@ the `Clip` that was added.
|
||||||
Will be emitted after the clip was removed from the layer.
|
Will be emitted after the clip was removed from the layer.
|
||||||
## `clip`
|
## `clip`
|
||||||
the `Clip` that was removed
|
the `Clip` that was removed
|
||||||
<!-- trait LayerExt::fn get_property_auto-transition -->
|
<!-- trait LayerExt::fn get_property_auto_transition -->
|
||||||
Sets whether transitions are added automagically when clips overlap.
|
Sets whether transitions are added automagically when clips overlap.
|
||||||
<!-- trait LayerExt::fn set_property_auto-transition -->
|
<!-- trait LayerExt::fn set_property_auto_transition -->
|
||||||
Sets whether transitions are added automagically when clips overlap.
|
Sets whether transitions are added automagically when clips overlap.
|
||||||
<!-- trait LayerExt::fn get_property_priority -->
|
<!-- trait LayerExt::fn get_property_priority -->
|
||||||
The priority of the layer in the `Timeline`. 0 is the highest
|
The priority of the layer in the `Timeline`. 0 is the highest
|
||||||
|
@ -967,9 +967,9 @@ the `Timeline` to set on the `self`.
|
||||||
|
|
||||||
`true` if the `timeline` could be successfully set on the `self`,
|
`true` if the `timeline` could be successfully set on the `self`,
|
||||||
else `false`.
|
else `false`.
|
||||||
<!-- trait GESPipelineExt::fn get_property_audio-sink -->
|
<!-- trait GESPipelineExt::fn get_property_audio_sink -->
|
||||||
Audio sink for the preview.
|
Audio sink for the preview.
|
||||||
<!-- trait GESPipelineExt::fn set_property_audio-sink -->
|
<!-- trait GESPipelineExt::fn set_property_audio_sink -->
|
||||||
Audio sink for the preview.
|
Audio sink for the preview.
|
||||||
<!-- trait GESPipelineExt::fn get_property_mode -->
|
<!-- trait GESPipelineExt::fn get_property_mode -->
|
||||||
Pipeline mode. See `GESPipelineExt::set_mode` for more
|
Pipeline mode. See `GESPipelineExt::set_mode` for more
|
||||||
|
@ -983,9 +983,9 @@ Timeline to use in this pipeline. See also
|
||||||
<!-- trait GESPipelineExt::fn set_property_timeline -->
|
<!-- trait GESPipelineExt::fn set_property_timeline -->
|
||||||
Timeline to use in this pipeline. See also
|
Timeline to use in this pipeline. See also
|
||||||
`GESPipelineExt::set_timeline` for more info.
|
`GESPipelineExt::set_timeline` for more info.
|
||||||
<!-- trait GESPipelineExt::fn get_property_video-sink -->
|
<!-- trait GESPipelineExt::fn get_property_video_sink -->
|
||||||
Video sink for the preview.
|
Video sink for the preview.
|
||||||
<!-- trait GESPipelineExt::fn set_property_video-sink -->
|
<!-- trait GESPipelineExt::fn set_property_video_sink -->
|
||||||
Video sink for the preview.
|
Video sink for the preview.
|
||||||
<!-- 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
|
||||||
|
@ -1427,6 +1427,9 @@ we land at that position in the stack of layers inside
|
||||||
the timeline. If `new_layer_priority` is superior than the number
|
the timeline. If `new_layer_priority` is superior than the number
|
||||||
of layers present in the time, it will move to the end of the
|
of layers present in the time, it will move to the end of the
|
||||||
stack of layers.
|
stack of layers.
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
## `layer`
|
## `layer`
|
||||||
The layer to move at `new_layer_priority`
|
The layer to move at `new_layer_priority`
|
||||||
## `new_layer_priority`
|
## `new_layer_priority`
|
||||||
|
@ -1547,16 +1550,16 @@ the `Track` that was added to the timeline
|
||||||
Will be emitted after the track was removed from the timeline.
|
Will be emitted after the track was removed from the timeline.
|
||||||
## `track`
|
## `track`
|
||||||
the `Track` that was removed from the timeline
|
the `Track` that was removed from the timeline
|
||||||
<!-- trait TimelineExt::fn get_property_auto-transition -->
|
<!-- trait TimelineExt::fn get_property_auto_transition -->
|
||||||
Sets whether transitions are added automagically when clips overlap.
|
Sets whether transitions are added automagically when clips overlap.
|
||||||
<!-- trait TimelineExt::fn set_property_auto-transition -->
|
<!-- trait TimelineExt::fn set_property_auto_transition -->
|
||||||
Sets whether transitions are added automagically when clips overlap.
|
Sets whether transitions are added automagically when clips overlap.
|
||||||
<!-- trait TimelineExt::fn get_property_duration -->
|
<!-- trait TimelineExt::fn get_property_duration -->
|
||||||
Current duration (in nanoseconds) of the `Timeline`
|
Current duration (in nanoseconds) of the `Timeline`
|
||||||
<!-- trait TimelineExt::fn get_property_snapping-distance -->
|
<!-- trait TimelineExt::fn get_property_snapping_distance -->
|
||||||
Distance (in nanoseconds) from which a moving object will snap
|
Distance (in nanoseconds) from which a moving object will snap
|
||||||
with it neighboors. 0 means no snapping.
|
with it neighboors. 0 means no snapping.
|
||||||
<!-- trait TimelineExt::fn set_property_snapping-distance -->
|
<!-- trait TimelineExt::fn set_property_snapping_distance -->
|
||||||
Distance (in nanoseconds) from which a moving object will snap
|
Distance (in nanoseconds) from which a moving object will snap
|
||||||
with it neighboors. 0 means no snapping.
|
with it neighboors. 0 means no snapping.
|
||||||
<!-- struct TimelineElement -->
|
<!-- struct TimelineElement -->
|
||||||
|
@ -1632,6 +1635,9 @@ The `duration` of `self`
|
||||||
The `inpoint` of `self`
|
The `inpoint` of `self`
|
||||||
<!-- trait TimelineElementExt::fn get_layer_priority -->
|
<!-- trait TimelineElementExt::fn get_layer_priority -->
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
The priority of the first layer the element is in (note that only
|
The priority of the first layer the element is in (note that only
|
||||||
|
@ -1725,7 +1731,8 @@ be copied to, meaning it will become the start of `self`
|
||||||
|
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
Paste `self` copying the element
|
New element resulting of pasting `self`
|
||||||
|
or `None`
|
||||||
<!-- trait TimelineElementExt::fn ripple -->
|
<!-- trait TimelineElementExt::fn ripple -->
|
||||||
Edits `self` in ripple mode. It allows you to modify the
|
Edits `self` in ripple mode. It allows you to modify the
|
||||||
start of `self` and move the following neighbours accordingly.
|
start of `self` and move the following neighbours accordingly.
|
||||||
|
@ -1916,21 +1923,21 @@ the property that changed
|
||||||
The duration (in nanoseconds) which will be used in the container
|
The duration (in nanoseconds) which will be used in the container
|
||||||
<!-- trait TimelineElementExt::fn set_property_duration -->
|
<!-- trait TimelineElementExt::fn set_property_duration -->
|
||||||
The duration (in nanoseconds) which will be used in the container
|
The duration (in nanoseconds) which will be used in the container
|
||||||
<!-- trait TimelineElementExt::fn get_property_in-point -->
|
<!-- trait TimelineElementExt::fn get_property_in_point -->
|
||||||
The in-point at which this `TimelineElement` will start outputting data
|
The in-point at which this `TimelineElement` will start outputting data
|
||||||
from its contents (in nanoseconds).
|
from its contents (in nanoseconds).
|
||||||
|
|
||||||
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
||||||
be the one located 5 seconds in the controlled resource.
|
be the one located 5 seconds in the controlled resource.
|
||||||
<!-- trait TimelineElementExt::fn set_property_in-point -->
|
<!-- trait TimelineElementExt::fn set_property_in_point -->
|
||||||
The in-point at which this `TimelineElement` will start outputting data
|
The in-point at which this `TimelineElement` will start outputting data
|
||||||
from its contents (in nanoseconds).
|
from its contents (in nanoseconds).
|
||||||
|
|
||||||
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
Ex : an in-point of 5 seconds means that the first outputted buffer will
|
||||||
be the one located 5 seconds in the controlled resource.
|
be the one located 5 seconds in the controlled resource.
|
||||||
<!-- trait TimelineElementExt::fn get_property_max-duration -->
|
<!-- trait TimelineElementExt::fn get_property_max_duration -->
|
||||||
The maximum duration (in nanoseconds) of the `TimelineElement`.
|
The maximum duration (in nanoseconds) of the `TimelineElement`.
|
||||||
<!-- trait TimelineElementExt::fn set_property_max-duration -->
|
<!-- trait TimelineElementExt::fn set_property_max_duration -->
|
||||||
The maximum duration (in nanoseconds) of the `TimelineElement`.
|
The maximum duration (in nanoseconds) of the `TimelineElement`.
|
||||||
<!-- trait TimelineElementExt::fn get_property_name -->
|
<!-- trait TimelineElementExt::fn get_property_name -->
|
||||||
The name of the object
|
The name of the object
|
||||||
|
@ -2106,22 +2113,22 @@ Default value: O
|
||||||
Whether layer mixing is activated or not on the track.
|
Whether layer mixing is activated or not on the track.
|
||||||
<!-- trait GESTrackExt::fn set_property_mixing -->
|
<!-- trait GESTrackExt::fn set_property_mixing -->
|
||||||
Whether layer mixing is activated or not on the track.
|
Whether layer mixing is activated or not on the track.
|
||||||
<!-- trait GESTrackExt::fn get_property_restriction-caps -->
|
<!-- trait GESTrackExt::fn get_property_restriction_caps -->
|
||||||
Caps used to filter/choose the output stream.
|
Caps used to filter/choose the output stream.
|
||||||
|
|
||||||
Default value: `GST_CAPS_ANY`.
|
Default value: `GST_CAPS_ANY`.
|
||||||
<!-- trait GESTrackExt::fn set_property_restriction-caps -->
|
<!-- trait GESTrackExt::fn set_property_restriction_caps -->
|
||||||
Caps used to filter/choose the output stream.
|
Caps used to filter/choose the output stream.
|
||||||
|
|
||||||
Default value: `GST_CAPS_ANY`.
|
Default value: `GST_CAPS_ANY`.
|
||||||
<!-- trait GESTrackExt::fn get_property_track-type -->
|
<!-- trait GESTrackExt::fn get_property_track_type -->
|
||||||
Type of stream the track outputs. This is used when creating the `Track`
|
Type of stream the track outputs. This is used when creating the `Track`
|
||||||
to specify in generic terms what type of content will be outputted.
|
to specify in generic terms what type of content will be outputted.
|
||||||
|
|
||||||
It also serves as a 'fast' way to check what type of data will be outputted
|
It also serves as a 'fast' way to check what type of data will be outputted
|
||||||
from the `Track` without having to actually check the `Track`'s caps
|
from the `Track` without having to actually check the `Track`'s caps
|
||||||
property.
|
property.
|
||||||
<!-- trait GESTrackExt::fn set_property_track-type -->
|
<!-- trait GESTrackExt::fn set_property_track_type -->
|
||||||
Type of stream the track outputs. This is used when creating the `Track`
|
Type of stream the track outputs. This is used when creating the `Track`
|
||||||
to specify in generic terms what type of content will be outputted.
|
to specify in generic terms what type of content will be outputted.
|
||||||
|
|
||||||
|
@ -2481,10 +2488,10 @@ Sets whether the clip is a still image or not.
|
||||||
Sets whether the audio track of this clip is muted or not.
|
Sets whether the audio track of this clip is muted or not.
|
||||||
## `mute`
|
## `mute`
|
||||||
`true` to mute `self` audio track, `false` to unmute it
|
`true` to mute `self` audio track, `false` to unmute it
|
||||||
<!-- trait UriClipExt::fn get_property_is-image -->
|
<!-- trait UriClipExt::fn get_property_is_image -->
|
||||||
Whether this uri clip represents a still image or not. This must be set
|
Whether this uri clip represents a still image or not. This must be set
|
||||||
before create_track_elements is called.
|
before create_track_elements is called.
|
||||||
<!-- trait UriClipExt::fn set_property_is-image -->
|
<!-- trait UriClipExt::fn set_property_is_image -->
|
||||||
Whether this uri clip represents a still image or not. This must be set
|
Whether this uri clip represents a still image or not. This must be set
|
||||||
before create_track_elements is called.
|
before create_track_elements is called.
|
||||||
<!-- trait UriClipExt::fn get_property_mute -->
|
<!-- trait UriClipExt::fn get_property_mute -->
|
||||||
|
@ -2512,6 +2519,9 @@ Trait containing all `UriClipAsset` methods.
|
||||||
[`UriClipAsset`](struct.UriClipAsset.html)
|
[`UriClipAsset`](struct.UriClipAsset.html)
|
||||||
<!-- impl UriClipAsset::fn finish -->
|
<!-- impl UriClipAsset::fn finish -->
|
||||||
Finalize the request of an async `UriClipAsset`
|
Finalize the request of an async `UriClipAsset`
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
## `res`
|
## `res`
|
||||||
The `gio::AsyncResult` from which to get the newly created `UriClipAsset`
|
The `gio::AsyncResult` from which to get the newly created `UriClipAsset`
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ asynchronous mode.
|
||||||
<!-- impl Discoverer::fn stop -->
|
<!-- impl Discoverer::fn stop -->
|
||||||
Stop the discovery of any pending URIs and clears the list of
|
Stop the discovery of any pending URIs and clears the list of
|
||||||
pending URIS (if any).
|
pending URIS (if any).
|
||||||
<!-- trait DiscovererExt::fn connect_discovered -->
|
<!-- impl Discoverer::fn connect_discovered -->
|
||||||
Will be emitted in async mode when all information on a URI could be
|
Will be emitted in async mode when all information on a URI could be
|
||||||
discovered, or an error occurred.
|
discovered, or an error occurred.
|
||||||
|
|
||||||
|
@ -79,9 +79,9 @@ the results `DiscovererInfo`
|
||||||
discovery. You must not free
|
discovery. You must not free
|
||||||
this `glib::Error`, it will be freed by
|
this `glib::Error`, it will be freed by
|
||||||
the discoverer.
|
the discoverer.
|
||||||
<!-- trait DiscovererExt::fn connect_finished -->
|
<!-- impl Discoverer::fn connect_finished -->
|
||||||
Will be emitted in async mode when all pending URIs have been processed.
|
Will be emitted in async mode when all pending URIs have been processed.
|
||||||
<!-- trait DiscovererExt::fn connect_source_setup -->
|
<!-- impl Discoverer::fn connect_source_setup -->
|
||||||
This signal is emitted after the source element has been created for, so
|
This signal is emitted after the source element has been created for, so
|
||||||
the URI being discovered, so it can be configured by setting additional
|
the URI being discovered, so it can be configured by setting additional
|
||||||
properties (e.g. set a proxy server for an http source, or set the device
|
properties (e.g. set a proxy server for an http source, or set the device
|
||||||
|
@ -91,15 +91,15 @@ This signal is usually emitted from the context of a GStreamer streaming
|
||||||
thread.
|
thread.
|
||||||
## `source`
|
## `source`
|
||||||
source element
|
source element
|
||||||
<!-- trait DiscovererExt::fn connect_starting -->
|
<!-- impl Discoverer::fn connect_starting -->
|
||||||
Will be emitted when the discover starts analyzing the pending URIs
|
Will be emitted when the discover starts analyzing the pending URIs
|
||||||
<!-- trait DiscovererExt::fn get_property_timeout -->
|
<!-- impl Discoverer::fn get_property_timeout -->
|
||||||
The duration (in nanoseconds) after which the discovery of an individual
|
The duration (in nanoseconds) after which the discovery of an individual
|
||||||
URI will timeout.
|
URI will timeout.
|
||||||
|
|
||||||
If the discovery of a URI times out, the `DiscovererResult::Timeout` will be
|
If the discovery of a URI times out, the `DiscovererResult::Timeout` will be
|
||||||
set on the result flags.
|
set on the result flags.
|
||||||
<!-- trait DiscovererExt::fn set_property_timeout -->
|
<!-- impl Discoverer::fn set_property_timeout -->
|
||||||
The duration (in nanoseconds) after which the discovery of an individual
|
The duration (in nanoseconds) after which the discovery of an individual
|
||||||
URI will timeout.
|
URI will timeout.
|
||||||
|
|
||||||
|
|
|
@ -1 +1,172 @@
|
||||||
<!-- file * -->
|
<!-- file * -->
|
||||||
|
<!-- enum RTCPFBType -->
|
||||||
|
Different types of feedback messages.
|
||||||
|
<!-- enum RTCPFBType::variant FbTypeInvalid -->
|
||||||
|
Invalid type
|
||||||
|
<!-- enum RTCPFBType::variant RtpfbTypeNack -->
|
||||||
|
Generic NACK
|
||||||
|
<!-- enum RTCPFBType::variant RtpfbTypeTmmbr -->
|
||||||
|
Temporary Maximum Media Stream Bit Rate Request
|
||||||
|
<!-- enum RTCPFBType::variant RtpfbTypeTmmbn -->
|
||||||
|
Temporary Maximum Media Stream Bit Rate
|
||||||
|
Notification
|
||||||
|
<!-- enum RTCPFBType::variant RtpfbTypeRtcpSrReq -->
|
||||||
|
Request an SR packet for early
|
||||||
|
synchronization
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypePli -->
|
||||||
|
Picture Loss Indication
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeSli -->
|
||||||
|
Slice Loss Indication
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeRpsi -->
|
||||||
|
Reference Picture Selection Indication
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeAfb -->
|
||||||
|
Application layer Feedback
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeFir -->
|
||||||
|
Full Intra Request Command
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeTstr -->
|
||||||
|
Temporal-Spatial Trade-off Request
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeTstn -->
|
||||||
|
Temporal-Spatial Trade-off Notification
|
||||||
|
<!-- enum RTCPFBType::variant PsfbTypeVbcn -->
|
||||||
|
Video Back Channel Message
|
||||||
|
<!-- enum RTCPSDESType -->
|
||||||
|
Different types of SDES content.
|
||||||
|
<!-- enum RTCPSDESType::variant Invalid -->
|
||||||
|
Invalid SDES entry
|
||||||
|
<!-- enum RTCPSDESType::variant End -->
|
||||||
|
End of SDES list
|
||||||
|
<!-- enum RTCPSDESType::variant Cname -->
|
||||||
|
Canonical name
|
||||||
|
<!-- enum RTCPSDESType::variant Name -->
|
||||||
|
User name
|
||||||
|
<!-- enum RTCPSDESType::variant Email -->
|
||||||
|
User's electronic mail address
|
||||||
|
<!-- enum RTCPSDESType::variant Phone -->
|
||||||
|
User's phone number
|
||||||
|
<!-- enum RTCPSDESType::variant Loc -->
|
||||||
|
Geographic user location
|
||||||
|
<!-- enum RTCPSDESType::variant Tool -->
|
||||||
|
Name of application or tool
|
||||||
|
<!-- enum RTCPSDESType::variant Note -->
|
||||||
|
Notice about the source
|
||||||
|
<!-- enum RTCPSDESType::variant Priv -->
|
||||||
|
Private extensions
|
||||||
|
<!-- enum RTCPType -->
|
||||||
|
Different RTCP packet types.
|
||||||
|
<!-- enum RTCPType::variant Invalid -->
|
||||||
|
Invalid type
|
||||||
|
<!-- enum RTCPType::variant Sr -->
|
||||||
|
Sender report
|
||||||
|
<!-- enum RTCPType::variant Rr -->
|
||||||
|
Receiver report
|
||||||
|
<!-- enum RTCPType::variant Sdes -->
|
||||||
|
Source description
|
||||||
|
<!-- enum RTCPType::variant Bye -->
|
||||||
|
Goodbye
|
||||||
|
<!-- enum RTCPType::variant App -->
|
||||||
|
Application defined
|
||||||
|
<!-- enum RTCPType::variant Rtpfb -->
|
||||||
|
Transport layer feedback.
|
||||||
|
<!-- enum RTCPType::variant Psfb -->
|
||||||
|
Payload-specific feedback.
|
||||||
|
<!-- enum RTCPType::variant Xr -->
|
||||||
|
Extended report.
|
||||||
|
<!-- enum RTCPXRType -->
|
||||||
|
Types of RTCP Extended Reports, those are defined in RFC 3611 and other RFCs
|
||||||
|
according to the [IANA registry](https://www.iana.org/assignments/rtcp-xr-block-types/rtcp-xr-block-types.xhtml).
|
||||||
|
<!-- enum RTCPXRType::variant Invalid -->
|
||||||
|
Invalid XR Report Block
|
||||||
|
<!-- enum RTCPXRType::variant Lrle -->
|
||||||
|
Loss RLE Report Block
|
||||||
|
<!-- enum RTCPXRType::variant Drle -->
|
||||||
|
Duplicate RLE Report Block
|
||||||
|
<!-- enum RTCPXRType::variant Prt -->
|
||||||
|
Packet Receipt Times Report Block
|
||||||
|
<!-- enum RTCPXRType::variant Rrt -->
|
||||||
|
Receiver Reference Time Report Block
|
||||||
|
<!-- enum RTCPXRType::variant Dlrr -->
|
||||||
|
Delay since the last Receiver Report
|
||||||
|
<!-- enum RTCPXRType::variant Ssumm -->
|
||||||
|
Statistics Summary Report Block
|
||||||
|
<!-- enum RTCPXRType::variant VoipMetrics -->
|
||||||
|
VoIP Metrics Report Block
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
<!-- enum RTPPayload -->
|
||||||
|
Standard predefined fixed payload types.
|
||||||
|
|
||||||
|
The official list is at:
|
||||||
|
http://www.iana.org/assignments/rtp-parameters
|
||||||
|
|
||||||
|
Audio:
|
||||||
|
reserved: 19
|
||||||
|
unassigned: 20-23,
|
||||||
|
|
||||||
|
Video:
|
||||||
|
unassigned: 24, 27, 29, 30, 35-71, 77-95
|
||||||
|
Reserved for RTCP conflict avoidance: 72-76
|
||||||
|
<!-- enum RTPPayload::variant Pcmu -->
|
||||||
|
ITU-T G.711. mu-law audio (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant 1016 -->
|
||||||
|
RFC 3551 says reserved
|
||||||
|
<!-- enum RTPPayload::variant G721 -->
|
||||||
|
RFC 3551 says reserved
|
||||||
|
<!-- enum RTPPayload::variant Gsm -->
|
||||||
|
GSM audio
|
||||||
|
<!-- enum RTPPayload::variant G723 -->
|
||||||
|
ITU G.723.1 audio
|
||||||
|
<!-- enum RTPPayload::variant Dvi48000 -->
|
||||||
|
IMA ADPCM wave type (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant Dvi416000 -->
|
||||||
|
IMA ADPCM wave type (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant Lpc -->
|
||||||
|
experimental linear predictive encoding
|
||||||
|
<!-- enum RTPPayload::variant Pcma -->
|
||||||
|
ITU-T G.711 A-law audio (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant G722 -->
|
||||||
|
ITU-T G.722 (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant L16Stereo -->
|
||||||
|
stereo PCM
|
||||||
|
<!-- enum RTPPayload::variant L16Mono -->
|
||||||
|
mono PCM
|
||||||
|
<!-- enum RTPPayload::variant Qcelp -->
|
||||||
|
EIA & TIA standard IS-733
|
||||||
|
<!-- enum RTPPayload::variant Cn -->
|
||||||
|
Comfort Noise (RFC 3389)
|
||||||
|
<!-- enum RTPPayload::variant Mpa -->
|
||||||
|
Audio MPEG 1-3.
|
||||||
|
<!-- enum RTPPayload::variant G728 -->
|
||||||
|
ITU-T G.728 Speech coder (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant Dvi411025 -->
|
||||||
|
IMA ADPCM wave type (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant Dvi422050 -->
|
||||||
|
IMA ADPCM wave type (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant G729 -->
|
||||||
|
ITU-T G.729 Speech coder (RFC 3551)
|
||||||
|
<!-- enum RTPPayload::variant Cellb -->
|
||||||
|
See RFC 2029
|
||||||
|
<!-- enum RTPPayload::variant Jpeg -->
|
||||||
|
ISO Standards 10918-1 and 10918-2 (RFC 2435)
|
||||||
|
<!-- enum RTPPayload::variant Nv -->
|
||||||
|
nv encoding by Ron Frederick
|
||||||
|
<!-- enum RTPPayload::variant H261 -->
|
||||||
|
ITU-T Recommendation H.261 (RFC 2032)
|
||||||
|
<!-- enum RTPPayload::variant Mpv -->
|
||||||
|
Video MPEG 1 & 2 (RFC 2250)
|
||||||
|
<!-- enum RTPPayload::variant Mp2t -->
|
||||||
|
MPEG-2 transport stream (RFC 2250)
|
||||||
|
<!-- enum RTPPayload::variant H263 -->
|
||||||
|
Video H263 (RFC 2190)
|
||||||
|
<!-- enum RTPProfile -->
|
||||||
|
The transfer profile to use.
|
||||||
|
<!-- enum RTPProfile::variant Unknown -->
|
||||||
|
invalid profile
|
||||||
|
<!-- enum RTPProfile::variant Avp -->
|
||||||
|
the Audio/Visual profile (RFC 3551)
|
||||||
|
<!-- enum RTPProfile::variant Savp -->
|
||||||
|
the secure Audio/Visual profile (RFC 3711)
|
||||||
|
<!-- enum RTPProfile::variant Avpf -->
|
||||||
|
the Audio/Visual profile with feedback (RFC 4585)
|
||||||
|
<!-- enum RTPProfile::variant Savpf -->
|
||||||
|
the secure Audio/Visual profile with feedback (RFC 5124)
|
||||||
|
|
|
@ -1,4 +1,14 @@
|
||||||
<!-- file * -->
|
<!-- file * -->
|
||||||
|
<!-- enum WebRTCBundlePolicy -->
|
||||||
|
GST_WEBRTC_BUNDLE_POLICY_NONE: none
|
||||||
|
GST_WEBRTC_BUNDLE_POLICY_BALANCED: balanced
|
||||||
|
GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT: max-compat
|
||||||
|
GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE: max-bundle
|
||||||
|
See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24`section`-4.1.1
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- enum WebRTCDTLSSetup -->
|
<!-- enum WebRTCDTLSSetup -->
|
||||||
GST_WEBRTC_DTLS_SETUP_NONE: none
|
GST_WEBRTC_DTLS_SETUP_NONE: none
|
||||||
GST_WEBRTC_DTLS_SETUP_ACTPASS: actpass
|
GST_WEBRTC_DTLS_SETUP_ACTPASS: actpass
|
||||||
|
@ -16,6 +26,24 @@ GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED: closed
|
||||||
GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED: failed
|
GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED: failed
|
||||||
GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING: connecting
|
GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING: connecting
|
||||||
GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED: connected
|
GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED: connected
|
||||||
|
<!-- enum WebRTCDataChannelState -->
|
||||||
|
GST_WEBRTC_DATA_CHANNEL_STATE_NEW: new
|
||||||
|
GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING: connection
|
||||||
|
GST_WEBRTC_DATA_CHANNEL_STATE_OPEN: open
|
||||||
|
GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING: closing
|
||||||
|
GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED: closed
|
||||||
|
See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcdatachannelstate">http://w3c.github.io/webrtc-pc/`dom`-rtcdatachannelstate`</ulink>`
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
|
<!-- enum WebRTCFECType -->
|
||||||
|
<!-- enum WebRTCFECType::variant None -->
|
||||||
|
none
|
||||||
|
<!-- enum WebRTCFECType::variant UlpRed -->
|
||||||
|
ulpfec + red
|
||||||
|
|
||||||
|
Feature: `v1_14_1`
|
||||||
|
|
||||||
<!-- enum WebRTCICEComponent -->
|
<!-- enum WebRTCICEComponent -->
|
||||||
GST_WEBRTC_ICE_COMPONENT_RTP,
|
GST_WEBRTC_ICE_COMPONENT_RTP,
|
||||||
GST_WEBRTC_ICE_COMPONENT_RTCP,
|
GST_WEBRTC_ICE_COMPONENT_RTCP,
|
||||||
|
@ -42,6 +70,14 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling
|
||||||
# Implements
|
# Implements
|
||||||
|
|
||||||
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||||
|
<!-- enum WebRTCICETransportPolicy -->
|
||||||
|
GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL: all
|
||||||
|
GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY: relay
|
||||||
|
See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24`section`-4.1.1
|
||||||
|
for more information.
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- enum WebRTCPeerConnectionState -->
|
<!-- enum WebRTCPeerConnectionState -->
|
||||||
GST_WEBRTC_PEER_CONNECTION_STATE_NEW: new
|
GST_WEBRTC_PEER_CONNECTION_STATE_NEW: new
|
||||||
GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING: connecting
|
GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING: connecting
|
||||||
|
@ -50,6 +86,15 @@ GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED: disconnected
|
||||||
GST_WEBRTC_PEER_CONNECTION_STATE_FAILED: failed
|
GST_WEBRTC_PEER_CONNECTION_STATE_FAILED: failed
|
||||||
GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED: closed
|
GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED: closed
|
||||||
See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate">http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate`</ulink>`
|
See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate">http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate`</ulink>`
|
||||||
|
<!-- enum WebRTCPriorityType -->
|
||||||
|
GST_WEBRTC_PRIORITY_TYPE_VERY_LOW: very-low
|
||||||
|
GST_WEBRTC_PRIORITY_TYPE_LOW: low
|
||||||
|
GST_WEBRTC_PRIORITY_TYPE_MEDIUM: medium
|
||||||
|
GST_WEBRTC_PRIORITY_TYPE_HIGH: high
|
||||||
|
See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcprioritytype">http://w3c.github.io/webrtc-pc/`dom`-rtcprioritytype`</ulink>`
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- struct WebRTCRTPReceiver -->
|
<!-- struct WebRTCRTPReceiver -->
|
||||||
|
|
||||||
|
|
||||||
|
@ -69,6 +114,15 @@ See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate">htt
|
||||||
|
|
||||||
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||||
<!-- enum WebRTCRTPTransceiverDirection -->
|
<!-- enum WebRTCRTPTransceiverDirection -->
|
||||||
|
<!-- enum WebRTCSCTPTransportState -->
|
||||||
|
GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW: new
|
||||||
|
GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING: connecting
|
||||||
|
GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED: connected
|
||||||
|
GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED: closed
|
||||||
|
See <ulink url="http://w3c.github.io/webrtc-pc/`dom`-rtcsctptransportstate">http://w3c.github.io/webrtc-pc/`dom`-rtcsctptransportstate`</ulink>`
|
||||||
|
|
||||||
|
Feature: `v1_16`
|
||||||
|
|
||||||
<!-- enum WebRTCSDPType -->
|
<!-- enum WebRTCSDPType -->
|
||||||
GST_WEBRTC_SDP_TYPE_OFFER: offer
|
GST_WEBRTC_SDP_TYPE_OFFER: offer
|
||||||
GST_WEBRTC_SDP_TYPE_PRANSWER: pranswer
|
GST_WEBRTC_SDP_TYPE_PRANSWER: pranswer
|
||||||
|
|
|
@ -442,15 +442,15 @@ the `Element` that was added to the bin
|
||||||
Will be emitted after the element was removed from the bin.
|
Will be emitted after the element was removed from the bin.
|
||||||
## `element`
|
## `element`
|
||||||
the `Element` that was removed from the bin
|
the `Element` that was removed from the bin
|
||||||
<!-- trait GstBinExt::fn get_property_async-handling -->
|
<!-- trait GstBinExt::fn get_property_async_handling -->
|
||||||
If set to `true`, the bin will handle asynchronous state changes.
|
If set to `true`, the bin will handle asynchronous state changes.
|
||||||
This should be used only if the bin subclass is modifying the state
|
This should be used only if the bin subclass is modifying the state
|
||||||
of its children on its own.
|
of its children on its own.
|
||||||
<!-- trait GstBinExt::fn set_property_async-handling -->
|
<!-- trait GstBinExt::fn set_property_async_handling -->
|
||||||
If set to `true`, the bin will handle asynchronous state changes.
|
If set to `true`, the bin will handle asynchronous state changes.
|
||||||
This should be used only if the bin subclass is modifying the state
|
This should be used only if the bin subclass is modifying the state
|
||||||
of its children on its own.
|
of its children on its own.
|
||||||
<!-- trait GstBinExt::fn get_property_message-forward -->
|
<!-- trait GstBinExt::fn get_property_message_forward -->
|
||||||
Forward all children messages, even those that would normally be filtered by
|
Forward all children messages, even those that would normally be filtered by
|
||||||
the bin. This can be interesting when one wants to be notified of the EOS
|
the bin. This can be interesting when one wants to be notified of the EOS
|
||||||
state of individual elements, for example.
|
state of individual elements, for example.
|
||||||
|
@ -459,7 +459,7 @@ 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.
|
||||||
<!-- trait GstBinExt::fn set_property_message-forward -->
|
<!-- trait GstBinExt::fn set_property_message_forward -->
|
||||||
Forward all children messages, even those that would normally be filtered by
|
Forward all children messages, even those that would normally be filtered by
|
||||||
the bin. This can be interesting when one wants to be notified of the EOS
|
the bin. This can be interesting when one wants to be notified of the EOS
|
||||||
state of individual elements, for example.
|
state of individual elements, for example.
|
||||||
|
@ -2049,13 +2049,13 @@ a `Message` matching the
|
||||||
usage.
|
usage.
|
||||||
|
|
||||||
MT safe.
|
MT safe.
|
||||||
<!-- trait BusExt::fn connect_message -->
|
<!-- impl Bus::fn connect_message -->
|
||||||
A message has been posted on the bus. This signal is emitted from a
|
A message has been posted on the bus. This signal is emitted from a
|
||||||
GSource added to the mainloop. this signal will only be emitted when
|
GSource added to the mainloop. this signal will only be emitted when
|
||||||
there is a mainloop running.
|
there is a mainloop running.
|
||||||
## `message`
|
## `message`
|
||||||
the message that has been posted asynchronously
|
the message that has been posted asynchronously
|
||||||
<!-- trait BusExt::fn connect_sync_message -->
|
<!-- impl Bus::fn connect_sync_message -->
|
||||||
A message has been posted on the bus. This signal is emitted from the
|
A message has been posted on the bus. This signal is emitted from the
|
||||||
thread that posted the message so one has to be careful with locking.
|
thread that posted the message so one has to be careful with locking.
|
||||||
|
|
||||||
|
@ -3299,6 +3299,12 @@ This signal will be emitted from an arbitrary thread, most likely not
|
||||||
the application's main thread.
|
the application's main thread.
|
||||||
## `synced`
|
## `synced`
|
||||||
if the clock is synced now
|
if the clock is synced now
|
||||||
|
<!-- enum ClockEntryType -->
|
||||||
|
The type of the clock entry
|
||||||
|
<!-- enum ClockEntryType::variant Single -->
|
||||||
|
a single shot timeout
|
||||||
|
<!-- enum ClockEntryType::variant Periodic -->
|
||||||
|
a periodic timeout request
|
||||||
<!-- 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 -->
|
||||||
|
@ -9913,35 +9919,35 @@ Unref after usage.
|
||||||
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
|
||||||
<!-- trait PadTemplateExt::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`
|
||||||
the pad that was created.
|
the pad that was created.
|
||||||
<!-- trait PadTemplateExt::fn get_property_caps -->
|
<!-- impl PadTemplate::fn get_property_caps -->
|
||||||
The capabilities of the pad described by the pad template.
|
The capabilities of the pad described by the pad template.
|
||||||
<!-- trait PadTemplateExt::fn set_property_caps -->
|
<!-- impl PadTemplate::fn set_property_caps -->
|
||||||
The capabilities of the pad described by the pad template.
|
The capabilities of the pad described by the pad template.
|
||||||
<!-- trait PadTemplateExt::fn get_property_direction -->
|
<!-- impl PadTemplate::fn get_property_direction -->
|
||||||
The direction of the pad described by the pad template.
|
The direction of the pad described by the pad template.
|
||||||
<!-- trait PadTemplateExt::fn set_property_direction -->
|
<!-- impl PadTemplate::fn set_property_direction -->
|
||||||
The direction of the pad described by the pad template.
|
The direction of the pad described by the pad template.
|
||||||
<!-- trait PadTemplateExt::fn get_property_gtype -->
|
<!-- impl PadTemplate::fn get_property_gtype -->
|
||||||
The type of the pad described by the pad template.
|
The type of the pad described by the pad template.
|
||||||
|
|
||||||
Feature: `v1_14`
|
Feature: `v1_14`
|
||||||
|
|
||||||
<!-- trait PadTemplateExt::fn set_property_gtype -->
|
<!-- impl PadTemplate::fn set_property_gtype -->
|
||||||
The type of the pad described by the pad template.
|
The type of the pad described by the pad template.
|
||||||
|
|
||||||
Feature: `v1_14`
|
Feature: `v1_14`
|
||||||
|
|
||||||
<!-- trait PadTemplateExt::fn get_property_name-template -->
|
<!-- impl PadTemplate::fn get_property_name_template -->
|
||||||
The name template of the pad template.
|
The name template of the pad template.
|
||||||
<!-- trait PadTemplateExt::fn set_property_name-template -->
|
<!-- impl PadTemplate::fn set_property_name_template -->
|
||||||
The name template of the pad template.
|
The name template of the pad template.
|
||||||
<!-- trait PadTemplateExt::fn get_property_presence -->
|
<!-- impl PadTemplate::fn get_property_presence -->
|
||||||
When the pad described by the pad template will become available.
|
When the pad described by the pad template will become available.
|
||||||
<!-- trait PadTemplateExt::fn set_property_presence -->
|
<!-- impl PadTemplate::fn set_property_presence -->
|
||||||
When the pad described by the pad template will become available.
|
When the pad described by the pad template will become available.
|
||||||
<!-- struct ParseContext -->
|
<!-- struct ParseContext -->
|
||||||
Opaque structure.
|
Opaque structure.
|
||||||
|
@ -10184,11 +10190,11 @@ the pipeline run as fast as possible.
|
||||||
MT safe.
|
MT safe.
|
||||||
## `clock`
|
## `clock`
|
||||||
the clock to use
|
the clock to use
|
||||||
<!-- trait PipelineExt::fn get_property_auto-flush-bus -->
|
<!-- trait PipelineExt::fn get_property_auto_flush_bus -->
|
||||||
Whether or not to automatically flush all messages on the
|
Whether or not to automatically flush all messages on the
|
||||||
pipeline's bus when going from READY to NULL state. Please see
|
pipeline's bus when going from READY to NULL state. Please see
|
||||||
`PipelineExt::set_auto_flush_bus` for more information on this option.
|
`PipelineExt::set_auto_flush_bus` for more information on this option.
|
||||||
<!-- trait PipelineExt::fn set_property_auto-flush-bus -->
|
<!-- trait PipelineExt::fn set_property_auto_flush_bus -->
|
||||||
Whether or not to automatically flush all messages on the
|
Whether or not to automatically flush all messages on the
|
||||||
pipeline's bus when going from READY to NULL state. Please see
|
pipeline's bus when going from READY to NULL state. Please see
|
||||||
`PipelineExt::set_auto_flush_bus` for more information on this option.
|
`PipelineExt::set_auto_flush_bus` for more information on this option.
|
||||||
|
@ -12056,12 +12062,12 @@ the path to scan
|
||||||
# Returns
|
# Returns
|
||||||
|
|
||||||
`true` if registry changed
|
`true` if registry changed
|
||||||
<!-- trait RegistryExt::fn connect_feature_added -->
|
<!-- impl Registry::fn connect_feature_added -->
|
||||||
Signals that a feature has been added to the registry (possibly
|
Signals that a feature has been added to the registry (possibly
|
||||||
replacing a previously-added one by the same name)
|
replacing a previously-added one by the same name)
|
||||||
## `feature`
|
## `feature`
|
||||||
the feature that has been added
|
the feature that has been added
|
||||||
<!-- trait RegistryExt::fn connect_plugin_added -->
|
<!-- impl Registry::fn connect_plugin_added -->
|
||||||
Signals that a plugin has been added to the registry (possibly
|
Signals that a plugin has been added to the registry (possibly
|
||||||
replacing a previously-added one by the same name)
|
replacing a previously-added one by the same name)
|
||||||
## `plugin`
|
## `plugin`
|
||||||
|
@ -12832,23 +12838,23 @@ Feature: `v1_10`
|
||||||
|
|
||||||
## `tags`
|
## `tags`
|
||||||
a `TagList`
|
a `TagList`
|
||||||
<!-- trait StreamExt::fn get_property_caps -->
|
<!-- impl Stream::fn get_property_caps -->
|
||||||
The `Caps` of the `Stream`.
|
The `Caps` of the `Stream`.
|
||||||
<!-- trait StreamExt::fn set_property_caps -->
|
<!-- impl Stream::fn set_property_caps -->
|
||||||
The `Caps` of the `Stream`.
|
The `Caps` of the `Stream`.
|
||||||
<!-- trait StreamExt::fn get_property_stream-id -->
|
<!-- impl Stream::fn get_property_stream_id -->
|
||||||
The unique identifier of the `Stream`. Can only be set at construction
|
The unique identifier of the `Stream`. Can only be set at construction
|
||||||
time.
|
time.
|
||||||
<!-- trait StreamExt::fn set_property_stream-id -->
|
<!-- impl Stream::fn set_property_stream_id -->
|
||||||
The unique identifier of the `Stream`. Can only be set at construction
|
The unique identifier of the `Stream`. Can only be set at construction
|
||||||
time.
|
time.
|
||||||
<!-- trait StreamExt::fn get_property_stream-type -->
|
<!-- impl Stream::fn get_property_stream_type -->
|
||||||
The `StreamType` of the `Stream`. Can only be set at construction time.
|
The `StreamType` of the `Stream`. Can only be set at construction time.
|
||||||
<!-- trait StreamExt::fn set_property_stream-type -->
|
<!-- impl Stream::fn set_property_stream_type -->
|
||||||
The `StreamType` of the `Stream`. Can only be set at construction time.
|
The `StreamType` of the `Stream`. Can only be set at construction time.
|
||||||
<!-- trait StreamExt::fn get_property_tags -->
|
<!-- impl Stream::fn get_property_tags -->
|
||||||
The `TagList` of the `Stream`.
|
The `TagList` of the `Stream`.
|
||||||
<!-- trait StreamExt::fn set_property_tags -->
|
<!-- impl Stream::fn set_property_tags -->
|
||||||
The `TagList` of the `Stream`.
|
The `TagList` of the `Stream`.
|
||||||
<!-- struct StreamCollection -->
|
<!-- struct StreamCollection -->
|
||||||
A collection of `Stream` that are available.
|
A collection of `Stream` that are available.
|
||||||
|
|
Loading…
Reference in a new issue