Remove docs/ crate and references to it

The `lgpl-docs` crate and all precompiled (easy to get outdated!)
docmentation files are removed in favour of being generated at runtime
by the improved generator, both during local development as well as in
the CI.
This commit is contained in:
Marijn Suijten 2021-04-18 21:33:54 +02:00
parent 7ede94fec8
commit e62558dde4
44 changed files with 20 additions and 39588 deletions

View file

@ -45,7 +45,6 @@ members = [
"gstreamer-webrtc", "gstreamer-webrtc",
"examples", "examples",
"tutorials", "tutorials",
"docs",
] ]
exclude = ["gir"] exclude = ["gir"]

View file

@ -22,10 +22,6 @@ copyleft = "deny"
allow-osi-fsf-free = "either" allow-osi-fsf-free = "either"
confidence-threshold = 0.8 confidence-threshold = 0.8
[[licenses.exceptions]]
allow = ["LGPL-2.0"]
name = "gstreamer-rs-lgpl-docs"
[bans] [bans]
multiple-versions = "deny" multiple-versions = "deny"
wildcards = "allow" wildcards = "allow"

View file

@ -1,15 +0,0 @@
[package]
name = "gstreamer-rs-lgpl-docs"
version = "0.17.0"
authors = ["Sebastian Dröge <sebastian@centricular.com>"]
license = "LGPL-2.0"
description = "LGPL-licensed docs for gstreamer-rs crates"
repository = "https://gitlab.freedesktop.org/gstreamer/gstreamer-rs"
homepage = "https://gstreamer.freedesktop.org"
edition = "2018"
[lib]
name = "lgpl_docs"
[dependencies]
rustdoc-stripper = "0.1.6"

View file

@ -1,792 +0,0 @@
<!-- file * -->
<!-- struct AppSink -->
Appsink is a sink plugin that supports many different methods for making
the application get a handle on the GStreamer data in a pipeline. Unlike
most GStreamer elements, Appsink provides external API functions.
appsink can be used by linking to the gstappsink.h header file to access the
methods or by using the appsink action signals and properties.
The normal way of retrieving samples from appsink is by using the
`AppSink::pull_sample` and `AppSink::pull_preroll` methods.
These methods block until a sample becomes available in the sink or when the
sink is shut down or reaches EOS. There are also timed variants of these
methods, `AppSink::try_pull_sample` and `AppSink::try_pull_preroll`,
which accept a timeout parameter to limit the amount of time to wait.
Appsink will internally use a queue to collect buffers from the streaming
thread. If the application is not pulling samples fast enough, this queue
will consume a lot of memory over time. The "max-buffers" property can be
used to limit the queue size. The "drop" property controls whether the
streaming thread blocks or if older buffers are dropped when the maximum
queue size is reached. Note that blocking the streaming thread can negatively
affect real-time performance and should be avoided.
If a blocking behaviour is not desirable, setting the "emit-signals" property
to `true` will make appsink emit the "new-sample" and "new-preroll" signals
when a sample can be pulled without blocking.
The "caps" property on appsink can be used to control the formats that
appsink can receive. This property can contain non-fixed caps, the format of
the pulled samples can be obtained by getting the sample caps.
If one of the pull-preroll or pull-sample methods return `None`, the appsink
is stopped or in the EOS state. You can check for the EOS state with the
"eos" property or with the `AppSink::is_eos` method.
The eos signal can also be used to be informed when the EOS state is reached
to avoid polling.
# Implements
[`trait@gst::ElementExt`], [`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`], [`trait@gst::URIHandlerExt`]
<!-- impl AppSink::fn is_buffer_list_support -->
Check if `self` supports buffer lists.
Feature: `v1_12`
# Returns
`true` if `self` supports buffer lists.
<!-- impl AppSink::fn caps -->
Get the configured caps on `self`.
# Returns
the `gst::Caps` accepted by the sink. `gst_caps_unref` after usage.
<!-- impl AppSink::fn is_drop -->
Check if `self` will drop old buffers when the maximum amount of queued
buffers is reached.
# Returns
`true` if `self` is dropping old buffers when the queue is
filled.
<!-- impl AppSink::fn emits_signals -->
Check if appsink will emit the "new-preroll" and "new-sample" signals.
# Returns
`true` if `self` is emitting the "new-preroll" and "new-sample"
signals.
<!-- impl AppSink::fn max_buffers -->
Get the maximum amount of buffers that can be queued in `self`.
# Returns
The maximum amount of buffers that can be queued.
<!-- impl AppSink::fn is_wait_on_eos -->
Check if `self` will wait for all buffers to be consumed when an EOS is
received.
# Returns
`true` if `self` will wait for all buffers to be consumed when an
EOS is received.
<!-- impl AppSink::fn is_eos -->
Check if `self` is EOS, which is when no more samples can be pulled because
an EOS event was received.
This function also returns `true` when the appsink is not in the PAUSED or
PLAYING state.
# Returns
`true` if no more samples can be pulled and the appsink is EOS.
<!-- impl AppSink::fn pull_preroll -->
Get the last preroll sample in `self`. This was the sample that caused the
appsink to preroll in the PAUSED state.
This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right
after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample`.
If an EOS event was received before any buffers, this function returns
`None`. Use gst_app_sink_is_eos () to check for the EOS condition.
This function blocks until a preroll sample or EOS is received or the appsink
element is set to the READY/NULL state.
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS.
Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn pull_sample -->
This function blocks until a sample or EOS becomes available or the appsink
element is set to the READY/NULL state.
This function will only return samples when the appsink is in the PLAYING
state. All rendered buffers will be put in a queue so that the application
can pull samples at its own rate. Note that when the application does not
pull samples fast enough, the queued buffers could consume a lot of memory,
especially when dealing with raw video frames.
If an EOS event was received before any buffers, this function returns
`None`. Use gst_app_sink_is_eos () to check for the EOS condition.
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS.
Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn set_buffer_list_support -->
Instruct `self` to enable or disable buffer list support.
For backwards-compatibility reasons applications need to opt in
to indicate that they will be able to handle buffer lists.
Feature: `v1_12`
## `enable_lists`
enable or disable buffer list support
<!-- impl AppSink::fn set_callbacks -->
Set callbacks which will be executed for each new preroll, new sample and eos.
This is an alternative to using the signals, it has lower overhead and is thus
less expensive, but also less flexible.
If callbacks are installed, no signals will be emitted for performance
reasons.
Before 1.16.3 it was not possible to change the callbacks in a thread-safe
way.
## `callbacks`
the callbacks
## `user_data`
a user_data argument for the callbacks
## `notify`
a destroy notify function
<!-- impl AppSink::fn set_caps -->
Set the capabilities on the appsink element. This function takes
a copy of the caps structure. After calling this method, the sink will only
accept caps that match `caps`. If `caps` is non-fixed, or incomplete,
you must check the caps on the samples to get the actual used caps.
## `caps`
caps to set
<!-- impl AppSink::fn set_drop -->
Instruct `self` to drop old buffers when the maximum amount of queued
buffers is reached.
## `drop`
the new state
<!-- impl AppSink::fn set_emit_signals -->
Make appsink emit the "new-preroll" and "new-sample" signals. This option is
by default disabled because signal emission is expensive and unneeded when
the application prefers to operate in pull mode.
## `emit`
the new state
<!-- impl AppSink::fn set_max_buffers -->
Set the maximum amount of buffers that can be queued in `self`. After this
amount of buffers are queued in appsink, any more buffers will block upstream
elements until a sample is pulled from `self`.
## `max`
the maximum number of buffers to queue
<!-- impl AppSink::fn set_wait_on_eos -->
Instruct `self` to wait for all buffers to be consumed when an EOS is received.
## `wait`
the new state
<!-- impl AppSink::fn try_pull_preroll -->
Get the last preroll sample in `self`. This was the sample that caused the
appsink to preroll in the PAUSED state.
This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right
after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample`.
If an EOS event was received before any buffers or the timeout expires,
this function returns `None`. Use gst_app_sink_is_eos () to check for the EOS
condition.
This function blocks until a preroll sample or EOS is received, the appsink
element is set to the READY/NULL state, or the timeout expires.
Feature: `v1_10`
## `timeout`
the maximum amount of time to wait for the preroll sample
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn try_pull_sample -->
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.
This function will only return samples when the appsink is in the PLAYING
state. All rendered buffers will be put in a queue so that the application
can pull samples at its own rate. Note that when the application does not
pull samples fast enough, the queued buffers could consume a lot of memory,
especially when dealing with raw video frames.
If an EOS event was received before any buffers or the timeout expires,
this function returns `None`. Use gst_app_sink_is_eos () to check for the EOS
condition.
Feature: `v1_10`
## `timeout`
the maximum amount of time to wait for a sample
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
Call `gst_sample_unref` after usage.
<!-- impl AppSink::fn connect_eos -->
Signal that the end-of-stream has been reached. This signal is emitted from
the streaming thread.
<!-- impl AppSink::fn connect_new_preroll -->
Signal that a new preroll sample is available.
This signal is emitted from the streaming thread and only when the
"emit-signals" property is `true`.
The new preroll sample can be retrieved with the "pull-preroll" action
signal or `AppSink::pull_preroll` either from this signal callback
or from any other thread.
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.
<!-- impl AppSink::fn connect_new_sample -->
Signal that a new sample is available.
This signal is emitted from the streaming thread and only when the
"emit-signals" property is `true`.
The new sample can be retrieved with the "pull-sample" action
signal or `AppSink::pull_sample` either from this signal callback
or from any other thread.
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.
<!-- impl AppSink::fn connect_pull_preroll -->
Get the last preroll sample in `appsink`. This was the sample that caused the
appsink to preroll in the PAUSED state.
This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right
after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample` or the "pull-sample" action signal.
If an EOS event was received before any buffers, this function returns
`None`. Use gst_app_sink_is_eos () to check for the EOS condition.
This function blocks until a preroll sample or EOS is received or the appsink
element is set to the READY/NULL state.
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS.
<!-- impl AppSink::fn connect_pull_sample -->
This function blocks until a sample or EOS becomes available or the appsink
element is set to the READY/NULL state.
This function will only return samples when the appsink is in the PLAYING
state. All rendered samples will be put in a queue so that the application
can pull samples at its own rate.
Note that when the application does not pull samples fast enough, the
queued samples could consume a lot of memory, especially when dealing with
raw video frames. It's possible to control the behaviour of the queue with
the "drop" and "max-buffers" properties.
If an EOS event was received before any buffers, this function returns
`None`. Use gst_app_sink_is_eos () to check for the EOS condition.
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS.
<!-- impl AppSink::fn connect_try_pull_preroll -->
Get the last preroll sample in `appsink`. This was the sample that caused the
appsink to preroll in the PAUSED state.
This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right
after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample` or the "pull-sample" action signal.
If an EOS event was received before any buffers or the timeout expires,
this function returns `None`. Use gst_app_sink_is_eos () to check for the EOS
condition.
This function blocks until a preroll sample or EOS is received, the appsink
element is set to the READY/NULL state, or the timeout expires.
Feature: `v1_10`
## `timeout`
the maximum amount of time to wait for the preroll sample
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
<!-- impl AppSink::fn connect_try_pull_sample -->
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.
This function will only return samples when the appsink is in the PLAYING
state. All rendered samples will be put in a queue so that the application
can pull samples at its own rate.
Note that when the application does not pull samples fast enough, the
queued samples could consume a lot of memory, especially when dealing with
raw video frames. It's possible to control the behaviour of the queue with
the "drop" and "max-buffers" properties.
If an EOS event was received before any buffers or the timeout expires,
this function returns `None`. Use gst_app_sink_is_eos () to check
for the EOS condition.
Feature: `v1_10`
## `timeout`
the maximum amount of time to wait for a sample
# Returns
a `gst::Sample` or NULL when the appsink is stopped or EOS or the timeout expires.
<!-- struct AppSrc -->
The appsrc element can be used by applications to insert data into a
GStreamer pipeline. Unlike most GStreamer elements, appsrc provides
external API functions.
appsrc can be used by linking with the libgstapp library to access the
methods directly or by using the appsrc action signals.
Before operating appsrc, the caps property must be set to fixed caps
describing the format of the data that will be pushed with appsrc. An
exception to this is when pushing buffers with unknown caps, in which case no
caps should be set. This is typically true of file-like sources that push raw
byte buffers. If you don't want to explicitly set the caps, you can use
gst_app_src_push_sample. This method gets the caps associated with the
sample and sets them on the appsrc replacing any previously set caps (if
different from sample's caps).
The main way of handing data to the appsrc element is by calling the
`AppSrc::push_buffer` method or by emitting the push-buffer action signal.
This will put the buffer onto a queue from which appsrc will read from in its
streaming thread. It is important to note that data transport will not happen
from the thread that performed the push-buffer call.
The "max-bytes" property controls how much data can be queued in appsrc
before appsrc considers the queue full. A filled internal queue will always
signal the "enough-data" signal, which signals the application that it should
stop pushing data into appsrc. The "block" property will cause appsrc to
block the push-buffer method until free data becomes available again.
When the internal queue is running out of data, the "need-data" signal is
emitted, which signals the application that it should start pushing more data
into appsrc.
In addition to the "need-data" and "enough-data" signals, appsrc can emit the
"seek-data" signal when the "stream-mode" property is set to "seekable" or
"random-access". The signal argument will contain the new desired position in
the stream expressed in the unit set with the "format" property. After
receiving the seek-data signal, the application should push-buffers from the
new position.
These signals allow the application to operate the appsrc in two different
ways:
The push mode, in which the application repeatedly calls the push-buffer/push-sample
method with a new buffer/sample. Optionally, the queue size in the appsrc
can be controlled with the enough-data and need-data signals by respectively
stopping/starting the push-buffer/push-sample calls. This is a typical
mode of operation for the stream-type "stream" and "seekable". Use this
mode when implementing various network protocols or hardware devices.
The pull mode, in which the need-data signal triggers the next push-buffer call.
This mode is typically used in the "random-access" stream-type. Use this
mode for file access or other randomly accessible sources. In this mode, a
buffer of exactly the amount of bytes given by the need-data signal should be
pushed into appsrc.
In all modes, the size property on appsrc should contain the total stream
size in bytes. Setting this property is mandatory in the random-access mode.
For the stream and seekable modes, setting this property is optional but
recommended.
When the application has finished pushing data into appsrc, it should call
`AppSrc::end_of_stream` or emit the end-of-stream action signal. After
this call, no more buffers can be pushed into appsrc until a flushing seek
occurs or the state of the appsrc has gone through READY.
# Implements
[`trait@gst::ElementExt`], [`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`], [`trait@gst::URIHandlerExt`]
<!-- impl AppSrc::fn end_of_stream -->
Indicates to the appsrc element that the last buffer queued in the
element is the last buffer of the stream.
# Returns
`gst::FlowReturn::Ok` when the EOS was successfully queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
<!-- impl AppSrc::fn caps -->
Get the configured caps on `self`.
# Returns
the `gst::Caps` produced by the source. `gst_caps_unref` after usage.
<!-- impl AppSrc::fn current_level_bytes -->
Get the number of currently queued bytes inside `self`.
# Returns
The number of currently queued bytes.
<!-- impl AppSrc::fn duration -->
Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
not known.
Feature: `v1_10`
# Returns
the duration of the stream previously set with `AppSrc::set_duration`;
<!-- impl AppSrc::fn emits_signals -->
Check if appsrc will emit the "new-preroll" and "new-buffer" signals.
# Returns
`true` if `self` is emitting the "new-preroll" and "new-buffer"
signals.
<!-- impl AppSrc::fn latency -->
Retrieve the min and max latencies in `min` and `max` respectively.
## `min`
the min latency
## `max`
the max latency
<!-- impl AppSrc::fn max_bytes -->
Get the maximum amount of bytes that can be queued in `self`.
# Returns
The maximum amount of bytes that can be queued.
<!-- impl AppSrc::fn size -->
Get the size of the stream in bytes. A value of -1 means that the size is
not known.
# Returns
the size of the stream previously set with `AppSrc::set_size`;
<!-- impl AppSrc::fn stream_type -->
Get the stream type. Control the stream type of `self`
with `AppSrc::set_stream_type`.
# Returns
the stream type.
<!-- impl AppSrc::fn push_buffer -->
Adds a buffer to the queue of buffers that the appsrc element will
push to its source pad. This function takes ownership of the buffer.
When the block property is TRUE, this function can block until free
space becomes available in the queue.
## `buffer`
a `gst::Buffer` to push
# Returns
`gst::FlowReturn::Ok` when the buffer was successfully queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
`gst::FlowReturn::Eos` when EOS occurred.
<!-- impl AppSrc::fn push_buffer_list -->
Adds a buffer list to the queue of buffers and buffer lists that the
appsrc element will push to its source pad. This function takes ownership
of `buffer_list`.
When the block property is TRUE, this function can block until free
space becomes available in the queue.
Feature: `v1_14`
## `buffer_list`
a `gst::BufferList` to push
# Returns
`gst::FlowReturn::Ok` when the buffer list was successfully queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
`gst::FlowReturn::Eos` when EOS occurred.
<!-- impl AppSrc::fn push_sample -->
Extract a buffer from the provided sample and adds it to the queue of
buffers that the appsrc element will push to its source pad. Any
previous caps that were set on appsrc will be replaced by the caps
associated with the sample if not equal.
This function does not take ownership of the
sample so the sample needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free
space becomes available in the queue.
## `sample`
a `gst::Sample` from which buffer and caps may be
extracted
# Returns
`gst::FlowReturn::Ok` when the buffer was successfully queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
`gst::FlowReturn::Eos` when EOS occurred.
<!-- impl AppSrc::fn set_callbacks -->
Set callbacks which will be executed when data is needed, enough data has
been collected or when a seek should be performed.
This is an alternative to using the signals, it has lower overhead and is thus
less expensive, but also less flexible.
If callbacks are installed, no signals will be emitted for performance
reasons.
Before 1.16.3 it was not possible to change the callbacks in a thread-safe
way.
## `callbacks`
the callbacks
## `user_data`
a user_data argument for the callbacks
## `notify`
a destroy notify function
<!-- impl AppSrc::fn set_caps -->
Set the capabilities on the appsrc element. This function takes
a copy of the caps structure. After calling this method, the source will
only produce caps that match `caps`. `caps` must be fixed and the caps on the
buffers must match the caps or left NULL.
## `caps`
caps to set
<!-- impl AppSrc::fn set_duration -->
Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is
not known.
Feature: `v1_10`
## `duration`
the duration to set
<!-- impl AppSrc::fn set_emit_signals -->
Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is
by default disabled because signal emission is expensive and unneeded when
the application prefers to operate in pull mode.
## `emit`
the new state
<!-- impl AppSrc::fn set_latency -->
Configure the `min` and `max` latency in `src`. If `min` is set to -1, the
default latency calculations for pseudo-live sources will be used.
## `min`
the min latency
## `max`
the max latency
<!-- impl AppSrc::fn set_max_bytes -->
Set the maximum amount of bytes that can be queued in `self`.
After the maximum amount of bytes are queued, `self` will emit the
"enough-data" signal.
## `max`
the maximum number of bytes to queue
<!-- impl AppSrc::fn set_size -->
Set the size of the stream in bytes. A value of -1 means that the size is
not known.
## `size`
the size to set
<!-- impl AppSrc::fn set_stream_type -->
Set the stream type on `self`. For seekable streams, the "seek" signal must
be connected to.
A stream_type stream
## `type_`
the new state
<!-- impl AppSrc::fn connect_end_of_stream -->
Notify `appsrc` that no more buffer are available.
<!-- impl AppSrc::fn connect_enough_data -->
Signal that the source has enough data. It is recommended that the
application stops calling push-buffer until the need-data signal is
emitted again to avoid excessive buffer queueing.
<!-- impl AppSrc::fn connect_need_data -->
Signal that the source needs more data. In the callback or from another
thread you should call push-buffer or end-of-stream.
`length` is just a hint and when it is set to -1, any number of bytes can be
pushed into `appsrc`.
You can call push-buffer multiple times until the enough-data signal is
fired.
## `length`
the amount of bytes needed.
<!-- impl AppSrc::fn connect_push_buffer -->
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
buffer so the buffer needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free space
becomes available in the queue.
## `buffer`
a buffer to push
<!-- impl AppSrc::fn connect_push_buffer_list -->
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
ownership of the buffer list so the buffer list needs to be unreffed
after calling this function.
When the block property is TRUE, this function can block until free space
becomes available in the queue.
Feature: `v1_14`
## `buffer_list`
a buffer list to push
<!-- impl AppSrc::fn connect_push_sample -->
Extract a buffer from the provided sample and adds the extracted buffer
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
in the sample and reset the caps if they change.
Only the caps and the buffer of the provided sample are used and not
for example the segment in the sample.
This function does not take ownership of the
sample so the sample needs to be unreffed after calling this function.
When the block property is TRUE, this function can block until free space
becomes available in the queue.
## `sample`
a sample from which extract buffer to push
<!-- impl AppSrc::fn connect_seek_data -->
Seek to the given offset. The next push-buffer should produce buffers from
the new `offset`.
This callback is only called for seekable stream types.
## `offset`
the offset to seek to
# Returns
`true` if the seek succeeded.
<!-- impl AppSrc::fn get_property_block -->
When max-bytes are queued and after the enough-data signal has been emitted,
block any further push-buffer calls until the amount of queued bytes drops
below the max-bytes limit.
<!-- impl AppSrc::fn set_property_block -->
When max-bytes are queued and after the enough-data signal has been emitted,
block any further push-buffer calls until the amount of queued bytes drops
below the max-bytes limit.
<!-- impl AppSrc::fn get_property_caps -->
The GstCaps that will negotiated downstream and will be put
on outgoing buffers.
<!-- impl AppSrc::fn set_property_caps -->
The GstCaps that will negotiated downstream and will be put
on outgoing buffers.
<!-- impl AppSrc::fn get_property_current_level_bytes -->
The number of currently queued bytes inside appsrc.
<!-- impl AppSrc::fn get_property_duration -->
The total duration in nanoseconds of the data stream. If the total duration is known, it
is recommended to configure it with this property.
Feature: `v1_10`
<!-- impl AppSrc::fn set_property_duration -->
The total duration in nanoseconds of the data stream. If the total duration is known, it
is recommended to configure it with this property.
Feature: `v1_10`
<!-- impl AppSrc::fn get_property_emit_signals -->
Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
This option is by default enabled for backwards compatibility reasons but
can disabled when needed because signal emission is expensive.
<!-- impl AppSrc::fn set_property_emit_signals -->
Make appsrc emit the "need-data", "enough-data" and "seek-data" signals.
This option is by default enabled for backwards compatibility reasons but
can disabled when needed because signal emission is expensive.
<!-- impl AppSrc::fn get_property_format -->
The format to use for segment events. When the source is producing
timestamped buffers this property should be set to GST_FORMAT_TIME.
<!-- impl AppSrc::fn set_property_format -->
The format to use for segment events. When the source is producing
timestamped buffers this property should be set to GST_FORMAT_TIME.
<!-- impl AppSrc::fn get_property_handle_segment_change -->
When enabled, appsrc will check GstSegment in GstSample which was
pushed via `AppSrc::push_sample` or "push-sample" signal action.
If a GstSegment is changed, corresponding segment event will be followed
by next data flow.
FIXME: currently only GST_FORMAT_TIME format is supported and therefore
GstAppSrc::format should be time. However, possibly `AppSrc` can support
other formats.
Feature: `v1_18`
<!-- impl AppSrc::fn set_property_handle_segment_change -->
When enabled, appsrc will check GstSegment in GstSample which was
pushed via `AppSrc::push_sample` or "push-sample" signal action.
If a GstSegment is changed, corresponding segment event will be followed
by next data flow.
FIXME: currently only GST_FORMAT_TIME format is supported and therefore
GstAppSrc::format should be time. However, possibly `AppSrc` can support
other formats.
Feature: `v1_18`
<!-- impl AppSrc::fn get_property_is_live -->
Instruct the source to behave like a live source. This includes that it
will only push out buffers in the PLAYING state.
<!-- impl AppSrc::fn set_property_is_live -->
Instruct the source to behave like a live source. This includes that it
will only push out buffers in the PLAYING state.
<!-- impl AppSrc::fn get_property_max_bytes -->
The maximum amount of bytes that can be queued internally.
After the maximum amount of bytes are queued, appsrc will emit the
"enough-data" signal.
<!-- impl AppSrc::fn set_property_max_bytes -->
The maximum amount of bytes that can be queued internally.
After the maximum amount of bytes are queued, appsrc will emit the
"enough-data" signal.
<!-- impl AppSrc::fn get_property_min_latency -->
The minimum latency of the source. A value of -1 will use the default
latency calculations of `gst_base::BaseSrc`.
<!-- impl AppSrc::fn set_property_min_latency -->
The minimum latency of the source. A value of -1 will use the default
latency calculations of `gst_base::BaseSrc`.
<!-- impl AppSrc::fn get_property_min_percent -->
Make appsrc emit the "need-data" signal when the amount of bytes in the
queue drops below this percentage of max-bytes.
<!-- impl AppSrc::fn set_property_min_percent -->
Make appsrc emit the "need-data" signal when the amount of bytes in the
queue drops below this percentage of max-bytes.
<!-- impl AppSrc::fn get_property_size -->
The total size in bytes of the data stream. If the total size is known, it
is recommended to configure it with this property.
<!-- impl AppSrc::fn set_property_size -->
The total size in bytes of the data stream. If the total size is known, it
is recommended to configure it with this property.
<!-- impl AppSrc::fn get_property_stream_type -->
The type of stream that this source is producing. For seekable streams the
application should connect to the seek-data signal.
<!-- impl AppSrc::fn set_property_stream_type -->
The type of stream that this source is producing. For seekable streams the
application should connect to the seek-data signal.
<!-- enum AppStreamType -->
The stream type.
<!-- enum AppStreamType::variant Stream -->
No seeking is supported in the stream, such as a
live stream.
<!-- enum AppStreamType::variant Seekable -->
The stream is seekable but seeking might not
be very fast, such as data from a webserver.
<!-- enum AppStreamType::variant RandomAccess -->
The stream is seekable and seeking is fast,
such as in a local file.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,339 +0,0 @@
<!-- file * -->
<!-- struct ARGBControlBinding -->
A value mapping object that attaches multiple control sources to a guint
gobject properties representing a color. A control value of 0.0 will turn the
color component off and a value of 1.0 will be the color level.
# Implements
[`ARGBControlBindingExt`](trait@crate::ARGBControlBindingExt), [`trait@gst::ControlBindingExt`], [`trait@gst::ObjectExt`]
<!-- trait ARGBControlBindingExt -->
Trait containing all `ARGBControlBinding` methods.
# Implementors
[`ARGBControlBinding`](struct@crate::ARGBControlBinding)
<!-- impl ARGBControlBinding::fn new -->
Create a new control-binding that attaches the given `gst::ControlSource` to the
`glib::object::Object` property.
## `object`
the object of the property
## `property_name`
the property-name to attach the control source
## `cs_a`
the control source for the alpha channel
## `cs_r`
the control source for the red channel
## `cs_g`
the control source for the green channel
## `cs_b`
the control source for the blue channel
# Returns
the new `ARGBControlBinding`
<!-- struct ControlPoint -->
An internal structure for value+time and various temporary
values used for interpolation. This "inherits" from
GstTimedValue.
<!-- impl ControlPoint::fn copy -->
Copies a `ControlPoint`
# Returns
A copy of `self`
<!-- impl ControlPoint::fn free -->
Frees all data allocated by a `ControlPoint` instance.
<!-- struct DirectControlBinding -->
A value mapping object that attaches control sources to gobject properties. It
will map the control values directly to the target property range. If a
non-absolute direct control binding is used, the value range [0.0 ... 1.0]
is mapped to full target property range, and all values outside the range
will be clipped. An absolute control binding will not do any value
transformations.
# Implements
[`DirectControlBindingExt`](trait@crate::DirectControlBindingExt), [`trait@gst::ControlBindingExt`], [`trait@gst::ObjectExt`]
<!-- trait DirectControlBindingExt -->
Trait containing all `DirectControlBinding` methods.
# Implementors
[`DirectControlBinding`](struct@crate::DirectControlBinding)
<!-- impl DirectControlBinding::fn new -->
Create a new control-binding that attaches the `gst::ControlSource` to the
`glib::object::Object` property. It will map the control source range [0.0 ... 1.0] to
the full target property range, and clip all values outside this range.
## `object`
the object of the property
## `property_name`
the property-name to attach the control source
## `cs`
the control source
# Returns
the new `DirectControlBinding`
<!-- impl DirectControlBinding::fn new_absolute -->
Create a new control-binding that attaches the `gst::ControlSource` to the
`glib::object::Object` property. It will directly map the control source values to the
target property range without any transformations.
## `object`
the object of the property
## `property_name`
the property-name to attach the control source
## `cs`
the control source
# Returns
the new `DirectControlBinding`
<!-- struct InterpolationControlSource -->
`InterpolationControlSource` is a `gst::ControlSource`, that interpolates values between user-given
control points. It supports several interpolation modes and property types.
To use `InterpolationControlSource` get a new instance by calling
`InterpolationControlSource::new`, bind it to a `glib::object::ParamSpec` and set some
control points by calling `TimedValueControlSourceExt::set`.
All functions are MT-safe.
# Implements
[`InterpolationControlSourceExt`](trait@crate::InterpolationControlSourceExt), [`TimedValueControlSourceExt`](trait@crate::TimedValueControlSourceExt), [`trait@gst::ControlSourceExt`], [`trait@gst::ObjectExt`]
<!-- trait InterpolationControlSourceExt -->
Trait containing all `InterpolationControlSource` methods.
# Implementors
[`InterpolationControlSource`](struct@crate::InterpolationControlSource)
<!-- impl InterpolationControlSource::fn new -->
This returns a new, unbound `InterpolationControlSource`.
# Returns
a new, unbound `InterpolationControlSource`.
<!-- enum InterpolationMode -->
The various interpolation modes available.
<!-- enum InterpolationMode::variant None -->
steps-like interpolation, default
<!-- enum InterpolationMode::variant Linear -->
linear interpolation
<!-- enum InterpolationMode::variant Cubic -->
cubic interpolation (natural), may overshoot
the min or max values set by the control point, but is more 'curvy'
<!-- enum InterpolationMode::variant CubicMonotonic -->
monotonic cubic interpolation, will not
produce any values outside of the min-max range set by the control points
(Since: 1.8)
<!-- struct LFOControlSource -->
`LFOControlSource` is a `gst::ControlSource`, that provides several periodic
waveforms as control values.
To use `LFOControlSource` get a new instance by calling
`LFOControlSource::new`, bind it to a `glib::object::ParamSpec` and set the relevant
properties.
All functions are MT-safe.
# Implements
[`LFOControlSourceExt`](trait@crate::LFOControlSourceExt), [`trait@gst::ControlSourceExt`], [`trait@gst::ObjectExt`]
<!-- trait LFOControlSourceExt -->
Trait containing all `LFOControlSource` methods.
# Implementors
[`LFOControlSource`](struct@crate::LFOControlSource)
<!-- impl LFOControlSource::fn new -->
This returns a new, unbound `LFOControlSource`.
# Returns
a new, unbound `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn get_property_amplitude -->
Specifies the amplitude for the waveform of this `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn set_property_amplitude -->
Specifies the amplitude for the waveform of this `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn get_property_frequency -->
Specifies the frequency that should be used for the waveform
of this `LFOControlSource`. It should be large enough
so that the period is longer than one nanosecond.
<!-- trait LFOControlSourceExt::fn set_property_frequency -->
Specifies the frequency that should be used for the waveform
of this `LFOControlSource`. It should be large enough
so that the period is longer than one nanosecond.
<!-- trait LFOControlSourceExt::fn get_property_offset -->
Specifies the value offset for the waveform of this `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn set_property_offset -->
Specifies the value offset for the waveform of this `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn get_property_timeshift -->
Specifies the timeshift to the right that should be used for the waveform
of this `LFOControlSource` in nanoseconds.
To get a n nanosecond shift to the left use
"(GST_SECOND / frequency) - n".
<!-- trait LFOControlSourceExt::fn set_property_timeshift -->
Specifies the timeshift to the right that should be used for the waveform
of this `LFOControlSource` in nanoseconds.
To get a n nanosecond shift to the left use
"(GST_SECOND / frequency) - n".
<!-- trait LFOControlSourceExt::fn get_property_waveform -->
Specifies the waveform that should be used for this `LFOControlSource`.
<!-- trait LFOControlSourceExt::fn set_property_waveform -->
Specifies the waveform that should be used for this `LFOControlSource`.
<!-- enum LFOWaveform -->
The various waveform modes available.
<!-- enum LFOWaveform::variant Sine -->
sine waveform
<!-- enum LFOWaveform::variant Square -->
square waveform
<!-- enum LFOWaveform::variant Saw -->
saw waveform
<!-- enum LFOWaveform::variant ReverseSaw -->
reverse saw waveform
<!-- enum LFOWaveform::variant Triangle -->
triangle waveform
<!-- struct ProxyControlBinding -->
A `gst::ControlBinding` that forwards requests to another `gst::ControlBinding`
Feature: `v1_12`
# Implements
[`trait@gst::ControlBindingExt`], [`trait@gst::ObjectExt`]
<!-- impl ProxyControlBinding::fn new -->
`ProxyControlBinding` forwards all access to data or `sync_values()`
requests from `property_name` on `object` to the control binding at
`ref_property_name` on `ref_object`.
Feature: `v1_12`
## `object`
a `gst::Object`
## `property_name`
the property name in `object` to control
## `ref_object`
a `gst::Object` to forward all
`gst::ControlBinding` requests to
## `ref_property_name`
the property_name in `ref_object` to control
# Returns
a new `gst::ControlBinding` that proxies the control interface between
properties on different `gst::Object`'s
<!-- struct TimedValueControlSource -->
Base class for `gst::ControlSource` that use time-stamped values.
When overriding bind, chain up first to give this bind implementation a
chance to setup things.
All functions are MT-safe.
This is an Abstract Base Class, you cannot instantiate it.
# Implements
[`TimedValueControlSourceExt`](trait@crate::TimedValueControlSourceExt), [`trait@gst::ControlSourceExt`], [`trait@gst::ObjectExt`]
<!-- trait TimedValueControlSourceExt -->
Trait containing all `TimedValueControlSource` methods.
# Implementors
[`InterpolationControlSource`](struct@crate::InterpolationControlSource), [`TimedValueControlSource`](struct@crate::TimedValueControlSource), [`TriggerControlSource`](struct@crate::TriggerControlSource)
<!-- trait TimedValueControlSourceExt::fn find_control_point_iter -->
Find last value before given timestamp in control point list.
If all values in the control point list come after the given
timestamp or no values exist, `None` is returned.
For use in control source implementations.
## `timestamp`
the search key
# Returns
the found `glib::SequenceIter` or `None`
<!-- trait TimedValueControlSourceExt::fn all -->
Returns a read-only copy of the list of `gst::TimedValue` for the given property.
Free the list after done with it.
# Returns
a copy
of the list, or `None` if the property isn't handled by the controller
<!-- trait TimedValueControlSourceExt::fn count -->
Get the number of control points that are set.
# Returns
the number of control points that are set.
<!-- trait TimedValueControlSourceExt::fn set -->
Set the value of given controller-handled property at a certain time.
## `timestamp`
the time the control-change is scheduled for
## `value`
the control-value
# Returns
FALSE if the values couldn't be set, TRUE otherwise.
<!-- trait TimedValueControlSourceExt::fn set_from_list -->
Sets multiple timed values at once.
## `timedvalues`
a list
with `gst::TimedValue` items
# Returns
FALSE if the values couldn't be set, TRUE otherwise.
<!-- trait TimedValueControlSourceExt::fn unset -->
Used to remove the value of given controller-handled property at a certain
time.
## `timestamp`
the time the control-change should be removed from
# Returns
FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise.
<!-- trait TimedValueControlSourceExt::fn unset_all -->
Used to remove all time-stamped values of given controller-handled property
<!-- trait TimedValueControlSourceExt::fn connect_value_added -->
Emitted right after the new value has been added to `self_`
## `timed_value`
The newly added `gst::TimedValue`
<!-- trait TimedValueControlSourceExt::fn connect_value_changed -->
Emitted right after the new value has been set on `timed_signals`
## `timed_value`
The `gst::TimedValue` where the value changed
<!-- trait TimedValueControlSourceExt::fn connect_value_removed -->
Emitted when `timed_value` is removed from `self_`
## `timed_value`
The removed `gst::TimedValue`
<!-- struct TriggerControlSource -->
`TriggerControlSource` is a `gst::ControlSource`, that returns values from user-given
control points. It allows for a tolerance on the time-stamps.
To use `TriggerControlSource` get a new instance by calling
`TriggerControlSource::new`, bind it to a `glib::object::ParamSpec` and set some
control points by calling `TimedValueControlSourceExt::set`.
All functions are MT-safe.
# Implements
[`TriggerControlSourceExt`](trait@crate::TriggerControlSourceExt), [`TimedValueControlSourceExt`](trait@crate::TimedValueControlSourceExt), [`trait@gst::ControlSourceExt`], [`trait@gst::ObjectExt`]
<!-- trait TriggerControlSourceExt -->
Trait containing all `TriggerControlSource` methods.
# Implementors
[`TriggerControlSource`](struct@crate::TriggerControlSource)
<!-- impl TriggerControlSource::fn new -->
This returns a new, unbound `TriggerControlSource`.
# Returns
a new, unbound `TriggerControlSource`.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

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

View file

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

View file

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

View file

@ -1,140 +0,0 @@
<!-- file * -->
<!-- struct NetClientClock -->
`NetClientClock` implements a custom `gst::Clock` that synchronizes its time
to a remote time provider such as `NetTimeProvider`. `NtpClock`
implements a `gst::Clock` that synchronizes its time to a remote NTPv4 server.
A new clock is created with `NetClientClock::new` or
`NtpClock::new`, which takes the address and port of the remote time
provider along with a name and an initial time.
This clock will poll the time provider and will update its calibration
parameters based on the local and remote observations.
The "round-trip" property limits the maximum round trip packets can take.
Various parameters of the clock can be configured with the parent `gst::Clock`
"timeout", "window-size" and "window-threshold" object properties.
A `NetClientClock` and `NtpClock` is typically set on a `gst::Pipeline` with
`gst::Pipeline::use_clock`.
If you set a `gst::Bus` on the clock via the "bus" object property, it will
send [`crate::gst::MessageType::Element`] (XXX: @-reference does not belong to NetClientClock!) messages with an attached `gst::Structure` containing
statistics about clock accuracy and network traffic.
# Implements
[`trait@gst::ClockExt`], [`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`]
<!-- impl NetClientClock::fn new -->
Create a new `NetClientClock` that will report the time
provided by the `NetTimeProvider` on `remote_address` and
`remote_port`.
## `name`
a name for the clock
## `remote_address`
the address or hostname of the remote clock provider
## `remote_port`
the port of the remote clock provider
## `base_time`
initial time of the clock
# Returns
a new `gst::Clock` that receives a time from the remote
clock.
<!-- struct NetTimeProvider -->
This object exposes the time of a `gst::Clock` on the network.
A `NetTimeProvider` is created with `NetTimeProvider::new` which
takes a `gst::Clock`, an address and a port number as arguments.
After creating the object, a client clock such as `NetClientClock` can
query the exposed clock over the network for its values.
The `NetTimeProvider` typically wraps the clock used by a `gst::Pipeline`.
# Implements
[`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`]
<!-- impl NetTimeProvider::fn new -->
Allows network clients to get the current time of `clock`.
## `clock`
a `gst::Clock` to export over the network
## `address`
an address to bind on as a dotted quad
(xxx.xxx.xxx.xxx), IPv6 address, or NULL to bind to all addresses
## `port`
a port to bind on, or 0 to let the kernel choose
# Returns
the new `NetTimeProvider`, or NULL on error
<!-- struct NtpClock -->
# Implements
[`NetClientClockExt`](trait@crate::NetClientClockExt), [`trait@gst::ClockExt`], [`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`]
<!-- impl NtpClock::fn new -->
Create a new `NtpClock` that will report the time provided by
the NTPv4 server on `remote_address` and `remote_port`.
## `name`
a name for the clock
## `remote_address`
the address or hostname of the remote clock provider
## `remote_port`
the port of the remote clock provider
## `base_time`
initial time of the clock
# Returns
a new `gst::Clock` that receives a time from the remote
clock.
<!-- struct PtpClock -->
GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only
mode, that allows a GStreamer pipeline to synchronize to a PTP network
clock in some specific domain.
The PTP subsystem can be initialized with `gst_ptp_init`, which then starts
a helper process to do the actual communication via the PTP ports. This is
required as PTP listens on ports < 1024 and thus requires special
privileges. Once this helper process is started, the main process will
synchronize to all PTP domains that are detected on the selected
interfaces.
`PtpClock::new` then allows to create a GstClock that provides the PTP
time from a master clock inside a specific PTP domain. This clock will only
return valid timestamps once the timestamps in the PTP domain are known. To
check this, you can use `gst::ClockExt::wait_for_sync`, the GstClock::synced
signal and `gst::ClockExt::is_synced`.
To gather statistics about the PTP clock synchronization,
`gst_ptp_statistics_callback_add` can be used. This gives the application
the possibility to collect all kinds of statistics from the clock
synchronization.
# Implements
[`trait@gst::ClockExt`], [`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`]
<!-- impl PtpClock::fn new -->
Creates a new PTP clock instance that exports the PTP time of the master
clock in `domain`. This clock can be slaved to other clocks as needed.
If `gst_ptp_init` was not called before, this will call `gst_ptp_init` with
default parameters.
This clock only returns valid timestamps after it received the first
times from the PTP master clock on the network. Once this happens the
GstPtpClock::internal-clock property will become non-NULL. You can
check this with `gst::ClockExt::wait_for_sync`, the GstClock::synced signal and
`gst::ClockExt::is_synced`.
## `name`
Name of the clock
## `domain`
PTP domain
# Returns
A new `gst::Clock`

View file

@ -1,949 +0,0 @@
<!-- file * -->
<!-- struct Discoverer -->
The `Discoverer` is a utility object which allows to get as much
information as possible from one or many URIs.
It provides two APIs, allowing usage in blocking or non-blocking mode.
The blocking mode just requires calling `Discoverer::discover_uri`
with the URI one wishes to discover.
The non-blocking mode requires a running `glib::MainLoop` iterating a
`glib::MainContext`, where one connects to the various signals, appends the
URIs to be processed (through `Discoverer::discover_uri_async`) and then
asks for the discovery to begin (through `Discoverer::start`).
By default this will use the GLib default main context unless you have
set a custom context using `glib::MainContext::push_thread_default`.
All the information is returned in a `DiscovererInfo` structure.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl Discoverer::fn new -->
Creates a new `Discoverer` with the provided timeout.
## `timeout`
timeout per file, in nanoseconds. Allowed are values between
one second (`GST_SECOND`) and one hour (3600 * `GST_SECOND`)
# Returns
The new `Discoverer`.
If an error occurred when creating the discoverer, `err` will be set
accordingly and `None` will be returned. If `err` is set, the caller must
free it when no longer needed using `glib::Error::free`.
<!-- impl Discoverer::fn discover_uri -->
Synchronously discovers the given `uri`.
A copy of `uri` will be made internally, so the caller can safely `g_free`
afterwards.
## `uri`
The URI to run on.
# Returns
the result of the scanning. Can be `None` if an
error occurred.
<!-- impl Discoverer::fn discover_uri_async -->
Appends the given `uri` to the list of URIs to discoverer. The actual
discovery of the `uri` will only take place if `Discoverer::start` has
been called.
A copy of `uri` will be made internally, so the caller can safely `g_free`
afterwards.
## `uri`
the URI to add.
# Returns
`true` if the `uri` was successfully appended to the list of pending
uris, else `false`
<!-- impl Discoverer::fn start -->
Allow asynchronous discovering of URIs to take place.
A `glib::MainLoop` must be available for `Discoverer` to properly work in
asynchronous mode.
<!-- impl Discoverer::fn stop -->
Stop the discovery of any pending URIs and clears the list of
pending URIS (if any).
<!-- impl Discoverer::fn connect_discovered -->
Will be emitted in async mode when all information on a URI could be
discovered, or an error occurred.
When an error occurs, `info` might still contain some partial information,
depending on the circumstances of the error.
## `info`
the results `DiscovererInfo`
## `error`
`glib::Error`, which will be non-NULL
if an error occurred during
discovery. You must not free
this `glib::Error`, it will be freed by
the discoverer.
<!-- impl Discoverer::fn connect_finished -->
Will be emitted in async mode when all pending URIs have been processed.
<!-- impl Discoverer::fn connect_source_setup -->
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
properties (e.g. set a proxy server for an http source, or set the device
and read speed for an audio cd source).
This signal is usually emitted from the context of a GStreamer streaming
thread.
## `source`
source element
<!-- impl Discoverer::fn connect_starting -->
Will be emitted when the discover starts analyzing the pending URIs
<!-- impl Discoverer::fn get_property_timeout -->
The duration (in nanoseconds) after which the discovery of an individual
URI will timeout.
If the discovery of a URI times out, the `DiscovererResult::Timeout` will be
set on the result flags.
<!-- impl Discoverer::fn set_property_timeout -->
The duration (in nanoseconds) after which the discovery of an individual
URI will timeout.
If the discovery of a URI times out, the `DiscovererResult::Timeout` will be
set on the result flags.
<!-- struct DiscovererAudioInfo -->
`DiscovererStreamInfo` specific to audio streams.
# Implements
[`DiscovererStreamInfoExt`](trait@crate::DiscovererStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl DiscovererAudioInfo::fn bitrate -->
# Returns
the average or nominal bitrate of the stream in bits/second.
<!-- impl DiscovererAudioInfo::fn channel_mask -->
Feature: `v1_14`
# Returns
the channel-mask of the stream, refer to
`gst_audio_channel_positions_from_mask` for more
information.
<!-- impl DiscovererAudioInfo::fn channels -->
# Returns
the number of channels in the stream.
<!-- impl DiscovererAudioInfo::fn depth -->
# Returns
the number of bits used per sample in each channel.
<!-- impl DiscovererAudioInfo::fn language -->
# Returns
the language of the stream, or NULL if unknown.
<!-- impl DiscovererAudioInfo::fn max_bitrate -->
# Returns
the maximum bitrate of the stream in bits/second.
<!-- impl DiscovererAudioInfo::fn sample_rate -->
# Returns
the sample rate of the stream in Hertz.
<!-- struct DiscovererContainerInfo -->
`DiscovererStreamInfo` specific to container streams.
# Implements
[`DiscovererStreamInfoExt`](trait@crate::DiscovererStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl DiscovererContainerInfo::fn streams -->
# Returns
the list of
`DiscovererStreamInfo` this container stream offers.
Free with `DiscovererStreamInfo::list_free` after usage.
<!-- struct DiscovererInfo -->
Structure containing the information of a URI analyzed by `Discoverer`.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl DiscovererInfo::fn from_variant -->
Parses a `glib::Variant` as produced by `DiscovererInfo::to_variant`
back to a `DiscovererInfo`.
## `variant`
A `glib::Variant` to deserialize into a `DiscovererInfo`.
# Returns
A newly-allocated `DiscovererInfo`.
<!-- impl DiscovererInfo::fn copy -->
# Returns
A copy of the `DiscovererInfo`
<!-- impl DiscovererInfo::fn audio_streams -->
Finds all the `DiscovererAudioInfo` contained in `self`
# Returns
A `glib::List` of
matching `DiscovererStreamInfo`. The caller should free it with
`DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn container_streams -->
Finds all the `DiscovererContainerInfo` contained in `self`
# Returns
A `glib::List` of
matching `DiscovererStreamInfo`. The caller should free it with
`DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn duration -->
# Returns
the duration of the URI in `gst::ClockTime` (nanoseconds).
<!-- impl DiscovererInfo::fn is_live -->
Feature: `v1_14`
# Returns
whether the URI is live.
<!-- impl DiscovererInfo::fn misc -->
# Deprecated
This functions is deprecated since version 1.4, use
`DiscovererInfo::get_missing_elements_installer_details`
# Returns
Miscellaneous information stored as a `gst::Structure`
(for example: information about missing plugins). If you wish to use the
`gst::Structure` after the life-time of `self`, you will need to copy it.
<!-- impl DiscovererInfo::fn missing_elements_installer_details -->
Get the installer details for missing elements
# Returns
An array of strings
containing information about how to install the various missing elements
for `self` to be usable. If you wish to use the strings after the life-time
of `self`, you will need to copy them.
<!-- impl DiscovererInfo::fn result -->
# Returns
the result of the discovery as a `DiscovererResult`.
<!-- impl DiscovererInfo::fn is_seekable -->
# Returns
the whether the URI is seekable.
<!-- impl DiscovererInfo::fn stream_info -->
# Returns
the structure (or topology) of the URI as a
`DiscovererStreamInfo`.
This structure can be traversed to see the original hierarchy. Unref with
`gst_discoverer_stream_info_unref` after usage.
<!-- impl DiscovererInfo::fn stream_list -->
# Returns
the list of
all streams contained in the `info`. Free after usage
with `DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn streams -->
Finds the `DiscovererStreamInfo` contained in `self` that match the
given `streamtype`.
## `streamtype`
a `glib::Type` derived from `DiscovererStreamInfo`
# Returns
A `glib::List` of
matching `DiscovererStreamInfo`. The caller should free it with
`DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn subtitle_streams -->
Finds all the `DiscovererSubtitleInfo` contained in `self`
# Returns
A `glib::List` of
matching `DiscovererStreamInfo`. The caller should free it with
`DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn tags -->
# Returns
all tags contained in the URI. If you wish to use
the tags after the life-time of `self`, you will need to copy them.
<!-- impl DiscovererInfo::fn toc -->
# Returns
TOC contained in the URI. If you wish to use
the TOC after the life-time of `self`, you will need to copy it.
<!-- impl DiscovererInfo::fn uri -->
# Returns
the URI to which this information corresponds to.
Copy it if you wish to use it after the life-time of `self`.
<!-- impl DiscovererInfo::fn video_streams -->
Finds all the `DiscovererVideoInfo` contained in `self`
# Returns
A `glib::List` of
matching `DiscovererStreamInfo`. The caller should free it with
`DiscovererStreamInfo::list_free`.
<!-- impl DiscovererInfo::fn to_variant -->
Serializes `self` to a `glib::Variant` that can be parsed again
through `DiscovererInfo::from_variant`.
Note that any `gst::Toc` (s) that might have been discovered will not be serialized
for now.
## `flags`
A combination of `DiscovererSerializeFlags` to specify
what needs to be serialized.
# Returns
A newly-allocated `glib::Variant` representing `self`.
<!-- enum DiscovererResult -->
Result values for the discovery process.
<!-- enum DiscovererResult::variant Ok -->
The discovery was successful
<!-- enum DiscovererResult::variant UriInvalid -->
the URI is invalid
<!-- enum DiscovererResult::variant Error -->
an error happened and the GError is set
<!-- enum DiscovererResult::variant Timeout -->
the discovery timed-out
<!-- enum DiscovererResult::variant Busy -->
the discoverer was already discovering a file
<!-- enum DiscovererResult::variant MissingPlugins -->
Some plugins are missing for full discovery
<!-- struct DiscovererSerializeFlags -->
You can use these flags to control what is serialized by
`DiscovererInfo::to_variant`
<!-- struct DiscovererSerializeFlags::const BASIC -->
Serialize only basic information, excluding
caps, tags and miscellaneous information
<!-- struct DiscovererSerializeFlags::const CAPS -->
Serialize the caps for each stream
<!-- struct DiscovererSerializeFlags::const TAGS -->
Serialize the tags for each stream
<!-- struct DiscovererSerializeFlags::const MISC -->
Serialize miscellaneous information for each stream
<!-- struct DiscovererSerializeFlags::const ALL -->
Serialize all the available info, including
caps, tags and miscellaneous information
<!-- struct DiscovererStreamInfo -->
Base structure for information concerning a media stream. Depending on the
stream type, one can find more media-specific information in
`DiscovererAudioInfo`, `DiscovererVideoInfo`, and
`DiscovererContainerInfo`.
The `DiscovererStreamInfo` represents the topology of the stream. Siblings
can be iterated over with `DiscovererStreamInfoExt::get_next` and
`DiscovererStreamInfoExt::get_previous`. Children (sub-streams) of a
stream can be accessed using the `DiscovererContainerInfo` API.
As a simple example, if you run `Discoverer` on an AVI file with one audio
and one video stream, you will get a `DiscovererContainerInfo`
corresponding to the AVI container, which in turn will have a
`DiscovererAudioInfo` sub-stream and a `DiscovererVideoInfo` sub-stream
for the audio and video streams respectively.
# Implements
[`DiscovererStreamInfoExt`](trait@crate::DiscovererStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- trait DiscovererStreamInfoExt -->
Trait containing all `DiscovererStreamInfo` methods.
# Implementors
[`DiscovererAudioInfo`](struct@crate::DiscovererAudioInfo), [`DiscovererContainerInfo`](struct@crate::DiscovererContainerInfo), [`DiscovererStreamInfo`](struct@crate::DiscovererStreamInfo), [`DiscovererSubtitleInfo`](struct@crate::DiscovererSubtitleInfo), [`DiscovererVideoInfo`](struct@crate::DiscovererVideoInfo)
<!-- impl DiscovererStreamInfo::fn list_free -->
Decrements the reference count of all contained `DiscovererStreamInfo`
and fress the `glib::List`.
## `infos`
a `glib::List` of `DiscovererStreamInfo`
<!-- trait DiscovererStreamInfoExt::fn caps -->
# Returns
the `gst::Caps` of the stream. Unref with
`gst_caps_unref` after usage.
<!-- trait DiscovererStreamInfoExt::fn misc -->
# Deprecated
This functions is deprecated since version 1.4, use
`DiscovererInfo::get_missing_elements_installer_details`
# Returns
additional information regarding the stream (for
example codec version, profile, etc..). If you wish to use the `gst::Structure`
after the life-time of `self` you will need to copy it.
<!-- trait DiscovererStreamInfoExt::fn next -->
# Returns
the next `DiscovererStreamInfo` in a chain. `None`
for final streams.
Unref with `gst_discoverer_stream_info_unref` after usage.
<!-- trait DiscovererStreamInfoExt::fn previous -->
# Returns
the previous `DiscovererStreamInfo` in a chain.
`None` for starting points. Unref with `gst_discoverer_stream_info_unref`
after usage.
<!-- trait DiscovererStreamInfoExt::fn stream_id -->
# Returns
the stream ID of this stream. If you wish to
use the stream ID after the life-time of `self` you will need to copy it.
<!-- trait DiscovererStreamInfoExt::fn stream_type_nick -->
# Returns
a human readable name for the stream type of the given `self` (ex : "audio",
"container",...).
<!-- trait DiscovererStreamInfoExt::fn tags -->
# Returns
the tags contained in this stream. If you wish to
use the tags after the life-time of `self` you will need to copy them.
<!-- trait DiscovererStreamInfoExt::fn toc -->
# Returns
the TOC contained in this stream. If you wish to
use the TOC after the life-time of `self` you will need to copy it.
<!-- struct DiscovererSubtitleInfo -->
`DiscovererStreamInfo` specific to subtitle streams (this includes text and
image based ones).
# Implements
[`DiscovererStreamInfoExt`](trait@crate::DiscovererStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl DiscovererSubtitleInfo::fn language -->
# Returns
the language of the stream, or NULL if unknown.
<!-- struct DiscovererVideoInfo -->
`DiscovererStreamInfo` specific to video streams (this includes images).
# Implements
[`DiscovererStreamInfoExt`](trait@crate::DiscovererStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl DiscovererVideoInfo::fn bitrate -->
# Returns
the average or nominal bitrate of the video stream in bits/second.
<!-- impl DiscovererVideoInfo::fn depth -->
# Returns
the depth in bits of the video stream.
<!-- impl DiscovererVideoInfo::fn framerate_denom -->
# Returns
the framerate of the video stream (denominator).
<!-- impl DiscovererVideoInfo::fn framerate_num -->
# Returns
the framerate of the video stream (numerator).
<!-- impl DiscovererVideoInfo::fn height -->
# Returns
the height of the video stream in pixels.
<!-- impl DiscovererVideoInfo::fn max_bitrate -->
# Returns
the maximum bitrate of the video stream in bits/second.
<!-- impl DiscovererVideoInfo::fn par_denom -->
# Returns
the Pixel Aspect Ratio (PAR) of the video stream (denominator).
<!-- impl DiscovererVideoInfo::fn par_num -->
# Returns
the Pixel Aspect Ratio (PAR) of the video stream (numerator).
<!-- impl DiscovererVideoInfo::fn width -->
# Returns
the width of the video stream in pixels.
<!-- impl DiscovererVideoInfo::fn is_image -->
# Returns
`true` if the video stream corresponds to an image (i.e. only contains
one frame).
<!-- impl DiscovererVideoInfo::fn is_interlaced -->
# Returns
`true` if the stream is interlaced, else `false`.
<!-- struct EncodingAudioProfile -->
Variant of `EncodingProfile` for audio streams.
# Implements
[`EncodingProfileExt`](trait@crate::EncodingProfileExt), [`trait@glib::object::ObjectExt`]
<!-- impl EncodingAudioProfile::fn new -->
Creates a new `EncodingAudioProfile`
All provided allocatable arguments will be internally copied, so can be
safely freed/unreferenced after calling this method.
## `format`
the `gst::Caps`
## `preset`
the preset(s) to use on the encoder, can be `None`
## `restriction`
the `gst::Caps` used to restrict the input to the encoder, can be
NULL. See `EncodingProfile::get_restriction` for more details.
## `presence`
the number of time this stream must be used. 0 means any number of
times (including never)
# Returns
the newly created `EncodingAudioProfile`.
<!-- struct EncodingContainerProfile -->
Encoding profiles for containers. Keeps track of a list of `EncodingProfile`
# Implements
[`EncodingProfileExt`](trait@crate::EncodingProfileExt), [`trait@glib::object::ObjectExt`]
<!-- impl EncodingContainerProfile::fn new -->
Creates a new `EncodingContainerProfile`.
## `name`
The name of the container profile, can be `None`
## `description`
The description of the container profile,
can be `None`
## `format`
The format to use for this profile
## `preset`
The preset to use for this profile.
# Returns
The newly created `EncodingContainerProfile`.
<!-- impl EncodingContainerProfile::fn add_profile -->
Add a `EncodingProfile` to the list of profiles handled by `self`.
No copy of `profile` will be made, if you wish to use it elsewhere after this
method you should increment its reference count.
## `profile`
the `EncodingProfile` to add.
# Returns
`true` if the `stream` was properly added, else `false`.
<!-- impl EncodingContainerProfile::fn contains_profile -->
Checks if `self` contains a `EncodingProfile` identical to
`profile`.
## `profile`
a `EncodingProfile`
# Returns
`true` if `self` contains a `EncodingProfile` identical
to `profile`, else `false`.
<!-- impl EncodingContainerProfile::fn profiles -->
# Returns
the list of contained `EncodingProfile`.
<!-- struct EncodingProfile -->
The opaque base class object for all encoding profiles. This contains generic
information like name, description, format and preset.
# Implements
[`EncodingProfileExt`](trait@crate::EncodingProfileExt), [`trait@glib::object::ObjectExt`]
<!-- trait EncodingProfileExt -->
Trait containing all `EncodingProfile` methods.
# Implementors
[`EncodingAudioProfile`](struct@crate::EncodingAudioProfile), [`EncodingContainerProfile`](struct@crate::EncodingContainerProfile), [`EncodingProfile`](struct@crate::EncodingProfile), [`EncodingVideoProfile`](struct@crate::EncodingVideoProfile)
<!-- impl EncodingProfile::fn find -->
Find the `EncodingProfile` with the specified name and category.
## `targetname`
The name of the target
## `profilename`
The name of the profile, if `None`
provided, it will default to the encoding profile called `default`.
## `category`
The target category. Can be `None`
# Returns
The matching `EncodingProfile` or `None`.
<!-- impl EncodingProfile::fn from_discoverer -->
Creates a `EncodingProfile` matching the formats from the given
`DiscovererInfo`. Streams other than audio or video (eg,
subtitles), are currently ignored.
## `info`
The `DiscovererInfo` to read from
# Returns
The new `EncodingProfile` or `None`.
<!-- trait EncodingProfileExt::fn copy -->
Makes a deep copy of `self`
Feature: `v1_12`
# Returns
The copy of `self`
<!-- trait EncodingProfileExt::fn allows_dynamic_output -->
Get whether the format that has been negotiated in at some point can be renegotiated
later during the encoding.
<!-- trait EncodingProfileExt::fn description -->
# Returns
the description of the profile, can be `None`.
<!-- trait EncodingProfileExt::fn file_extension -->
# Returns
a suitable file extension for `self`, or NULL.
<!-- trait EncodingProfileExt::fn format -->
# Returns
the `gst::Caps` corresponding to the media format used
in the profile. Unref after usage.
<!-- trait EncodingProfileExt::fn input_caps -->
Computes the full output caps that this `self` will be able to consume.
# Returns
The full caps the given `self` can consume. Call
`gst_caps_unref` when you are done with the caps.
<!-- trait EncodingProfileExt::fn name -->
# Returns
the name of the profile, can be `None`.
<!-- trait EncodingProfileExt::fn presence -->
# Returns
The number of times the profile is used in its parent
container profile. If 0, it is not a mandatory stream.
<!-- trait EncodingProfileExt::fn preset -->
# Returns
the name of the `gst::Preset` to be used in the profile.
This is the name that has been set when saving the preset.
<!-- trait EncodingProfileExt::fn preset_name -->
# Returns
the name of the `gst::Preset` factory to be used in the profile.
<!-- trait EncodingProfileExt::fn restriction -->
# Returns
The restriction `gst::Caps` to apply before the encoder
that will be used in the profile. The fields present in restriction caps are
properties of the raw stream (that is before encoding), such as height and
width for video and depth and sampling rate for audio. Does not apply to
`EncodingContainerProfile` (since there is no corresponding raw stream).
Can be `None`. Unref after usage.
<!-- trait EncodingProfileExt::fn is_single_segment -->
Feature: `v1_18`
# Returns
`true` if the stream represented by `self` should use a single
segment before the encoder, `false` otherwise. This means that buffers will be retimestamped
and segments will be eat so as to appear as one segment.
<!-- trait EncodingProfileExt::fn type_nick -->
# Returns
the human-readable name of the type of `self`.
<!-- trait EncodingProfileExt::fn is_equal -->
Checks whether the two `EncodingProfile` are equal
## `b`
a `EncodingProfile`
# Returns
`true` if `self` and `b` are equal, else `false`.
<!-- trait EncodingProfileExt::fn set_allow_dynamic_output -->
Sets whether the format that has been negotiated in at some point can be renegotiated
later during the encoding.
## `allow_dynamic_output`
Whether the format that has been negotiated first can be renegotiated
during the encoding
<!-- trait EncodingProfileExt::fn set_description -->
Set `description` as the given description for the `self`. A copy of
`description` will be made internally.
## `description`
the description to set on the profile
<!-- trait EncodingProfileExt::fn set_enabled -->
Set whether the profile should be used or not.
## `enabled`
`false` to disable `self`, `true` to enable it
<!-- trait EncodingProfileExt::fn set_format -->
Sets the media format used in the profile.
## `format`
the media format to use in the profile.
<!-- trait EncodingProfileExt::fn set_name -->
Set `name` as the given name for the `self`. A copy of `name` will be made
internally.
## `name`
the name to set on the profile
<!-- trait EncodingProfileExt::fn set_presence -->
Set the number of time the profile is used in its parent
container profile. If 0, it is not a mandatory stream
## `presence`
the number of time the profile can be used
<!-- trait EncodingProfileExt::fn set_preset -->
Sets the name of the `gst::Element` that implements the `gst::Preset` interface
to use for the profile.
This is the name that has been set when saving the preset.
## `preset`
the element preset to use
<!-- trait EncodingProfileExt::fn set_preset_name -->
Sets the name of the `gst::Preset`'s factory to be used in the profile.
## `preset_name`
The name of the preset to use in this `self`.
<!-- trait EncodingProfileExt::fn set_restriction -->
Set the restriction `gst::Caps` to apply before the encoder
that will be used in the profile. See `EncodingProfile::get_restriction`
for more about restrictions. Does not apply to `EncodingContainerProfile`.
## `restriction`
the restriction to apply
<!-- trait EncodingProfileExt::fn set_single_segment -->
If using a single segment, buffers will be retimestamped and segments will be
eat so as to appear as one segment.
> *NOTE*: Single segment is not property supported when using
> `encodebin:avoid-reencoding`
Feature: `v1_18`
## `single_segment`
`true` if the stream represented by `self` should use a
single segment before the encoder, `false` otherwise.
<!-- struct EncodingTarget -->
Collection of `EncodingProfile` for a specific target or use-case.
When being stored/loaded, targets come from a specific category, like
`GST_ENCODING_CATEGORY_DEVICE`.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl EncodingTarget::fn new -->
Creates a new `EncodingTarget`.
The name and category can only consist of lowercase ASCII letters for the
first character, followed by either lowercase ASCII letters, digits or
hyphens ('-').
The `category` *should* be one of the existing
well-defined categories, like `GST_ENCODING_CATEGORY_DEVICE`, but it
*can* be a application or user specific category if
needed.
## `name`
The name of the target.
## `category`
The name of the category to which this `target`
belongs. For example: `GST_ENCODING_CATEGORY_DEVICE`.
## `description`
A description of `EncodingTarget` in the
current locale.
## `profiles`
A `glib::List` of
`EncodingProfile`.
# Returns
The newly created `EncodingTarget` or `None` if
there was an error.
<!-- impl EncodingTarget::fn load -->
Searches for the `EncodingTarget` with the given name, loads it
and returns it.
If the category name is specified only targets from that category will be
searched for.
## `name`
the name of the `EncodingTarget` to load (automatically
converted to lower case internally as capital letters are not
valid for target names).
## `category`
the name of the target category, like
`GST_ENCODING_CATEGORY_DEVICE`. Can be `None`
# Returns
The `EncodingTarget` if available, else `None`.
<!-- impl EncodingTarget::fn load_from_file -->
Opens the provided file and returns the contained `EncodingTarget`.
## `filepath`
The file location to load the `EncodingTarget` from
# Returns
The `EncodingTarget` contained in the file, else
`None`
<!-- impl EncodingTarget::fn add_profile -->
Adds the given `profile` to the `self`. Each added profile must have
a unique name within the profile.
The `self` will steal a reference to the `profile`. If you wish to use
the profile after calling this method, you should increase its reference
count.
## `profile`
the `EncodingProfile` to add
# Returns
`true` if the profile was added, else `false`.
<!-- impl EncodingTarget::fn category -->
# Returns
The category of the `self`. For example:
`GST_ENCODING_CATEGORY_DEVICE`.
<!-- impl EncodingTarget::fn description -->
# Returns
The description of the `self`.
<!-- impl EncodingTarget::fn name -->
# Returns
The name of the `self`.
<!-- impl EncodingTarget::fn path -->
Feature: `v1_18`
# Returns
The path to the `self` file.
<!-- impl EncodingTarget::fn profile -->
## `name`
the name of the profile to retrieve
# Returns
The matching `EncodingProfile`, or `None`.
<!-- impl EncodingTarget::fn profiles -->
# Returns
A list of
`EncodingProfile`(s) this `self` handles.
<!-- impl EncodingTarget::fn save -->
Saves the `self` to a default user-local directory.
# Returns
`true` if the target was correctly saved, else `false`.
<!-- impl EncodingTarget::fn save_to_file -->
Saves the `self` to the provided file location.
## `filepath`
the location to store the `self` at.
# Returns
`true` if the target was correctly saved, else `false`.
<!-- struct EncodingVideoProfile -->
Variant of `EncodingProfile` for video streams, allows specifying the `pass`.
# Implements
[`EncodingProfileExt`](trait@crate::EncodingProfileExt), [`trait@glib::object::ObjectExt`]
<!-- impl EncodingVideoProfile::fn new -->
Creates a new `EncodingVideoProfile`
All provided allocatable arguments will be internally copied, so can be
safely freed/unreferenced after calling this method.
If you wish to control the pass number (in case of multi-pass scenarios),
please refer to the `EncodingVideoProfile::set_pass` documentation.
If you wish to use/force a constant framerate please refer to the
`EncodingVideoProfile::set_variableframerate` documentation.
## `format`
the `gst::Caps`
## `preset`
the preset(s) to use on the encoder, can be `None`
## `restriction`
the `gst::Caps` used to restrict the input to the encoder, can be
NULL. See `EncodingProfile::get_restriction` for more details.
## `presence`
the number of time this stream must be used. 0 means any number of
times (including never)
# Returns
the newly created `EncodingVideoProfile`.
<!-- impl EncodingVideoProfile::fn pass -->
Get the pass number if this is part of a multi-pass profile.
# Returns
The pass number. Starts at 1 for multi-pass. 0 if this is
not a multi-pass profile
<!-- impl EncodingVideoProfile::fn is_variableframerate -->
> *NOTE*: Fixed framerate won't be enforced when `encodebin:avoid-reencoding`
> is set.
# Returns
Whether non-constant video framerate is allowed for encoding.
<!-- impl EncodingVideoProfile::fn set_pass -->
Sets the pass number of this video profile. The first pass profile should have
this value set to 1. If this video profile isn't part of a multi-pass profile,
you may set it to 0 (the default value).
## `pass`
the pass number for this profile
<!-- impl EncodingVideoProfile::fn set_variableframerate -->
If set to `true`, then the incoming stream will be allowed to have non-constant
framerate. If set to `false` (default value), then the incoming stream will
be normalized by dropping/duplicating frames in order to produce a
constance framerate.
## `variableframerate`
a boolean

View file

@ -1,742 +0,0 @@
<!-- file * -->
<!-- struct Player -->
# Implements
[`trait@gst::ObjectExt`], [`trait@glib::object::ObjectExt`]
<!-- impl Player::fn new -->
Creates a new `Player` instance that uses `signal_dispatcher` to dispatch
signals to some event loop system, or emits signals directly if NULL is
passed. See `PlayerGMainContextSignalDispatcher::new`.
Video is going to be rendered by `video_renderer`, or if `None` is provided
no special video set up will be done and some default handling will be
performed.
## `video_renderer`
GstPlayerVideoRenderer to use
## `signal_dispatcher`
GstPlayerSignalDispatcher to use
# Returns
a new `Player` instance
<!-- impl Player::fn config_get_position_update_interval -->
## `config`
a `Player` configuration
# Returns
current position update interval in milliseconds
<!-- impl Player::fn config_get_seek_accurate -->
## `config`
a `Player` configuration
# Returns
`true` if accurate seeking is enabled
<!-- impl Player::fn config_get_user_agent -->
Return the user agent which has been configured using
`Player::config_set_user_agent` if any.
## `config`
a `Player` configuration
# Returns
the configured agent, or `None`
<!-- impl Player::fn config_set_position_update_interval -->
set interval in milliseconds between two position-updated signals.
pass 0 to stop updating the position.
## `config`
a `Player` configuration
## `interval`
interval in ms
<!-- impl Player::fn config_set_seek_accurate -->
Enable or disable accurate seeking. When enabled, elements will try harder
to seek as accurately as possible to the requested seek position. Generally
it will be slower especially for formats that don't have any indexes or
timestamp markers in the stream.
If accurate seeking is disabled, elements will seek as close as the request
position without slowing down seeking too much.
Accurate seeking is disabled by default.
## `config`
a `Player` configuration
## `accurate`
accurate seek or not
<!-- impl Player::fn config_set_user_agent -->
Set the user agent to pass to the server if `player` needs to connect
to a server during playback. This is typically used when playing HTTP
or RTSP streams.
## `config`
a `Player` configuration
## `agent`
the string to use as user agent
<!-- impl Player::fn audio_streams -->
## `info`
a `PlayerMediaInfo`
# Returns
A `glib::List` of
matching `PlayerAudioInfo`.
<!-- impl Player::fn subtitle_streams -->
## `info`
a `PlayerMediaInfo`
# Returns
A `glib::List` of
matching `PlayerSubtitleInfo`.
<!-- impl Player::fn video_streams -->
## `info`
a `PlayerMediaInfo`
# Returns
A `glib::List` of
matching `PlayerVideoInfo`.
<!-- impl Player::fn visualizations_free -->
Frees a `None` terminated array of `PlayerVisualization`.
## `viss`
a `None` terminated array of `PlayerVisualization` to free
<!-- impl Player::fn visualizations_get -->
# Returns
a `None` terminated array containing all available
visualizations. Use `Player::visualizations_free` after
usage.
<!-- impl Player::fn audio_video_offset -->
Retrieve the current value of audio-video-offset property
# Returns
The current value of audio-video-offset in nanoseconds
<!-- impl Player::fn color_balance -->
Retrieve the current value of the indicated `type_`.
## `type_`
`PlayerColorBalanceType`
# Returns
The current value of `type_`, between [0,1]. In case of
error -1 is returned.
<!-- impl Player::fn config -->
Get a copy of the current configuration of the player. This configuration
can either be modified and used for the `Player::set_config` call
or it must be freed after usage.
# Returns
a copy of the current configuration of `self`. Use
`gst::Structure::free` after usage or `Player::set_config`.
<!-- impl Player::fn current_audio_track -->
A Function to get current audio `PlayerAudioInfo` instance.
# Returns
current audio track.
The caller should free it with `glib::object::ObjectExt::unref`
<!-- impl Player::fn current_subtitle_track -->
A Function to get current subtitle `PlayerSubtitleInfo` instance.
# Returns
current subtitle track.
The caller should free it with `glib::object::ObjectExt::unref`
<!-- impl Player::fn current_video_track -->
A Function to get current video `PlayerVideoInfo` instance.
# Returns
current video track.
The caller should free it with `glib::object::ObjectExt::unref`
<!-- impl Player::fn current_visualization -->
# Returns
Name of the currently enabled visualization.
`g_free` after usage.
<!-- impl Player::fn duration -->
Retrieves the duration of the media stream that self represents.
# Returns
the duration of the currently-playing media stream, in
nanoseconds.
<!-- impl Player::fn media_info -->
A Function to get the current media info `PlayerMediaInfo` instance.
# Returns
media info instance.
The caller should free it with `glib::object::ObjectExt::unref`
<!-- impl Player::fn multiview_flags -->
Retrieve the current value of the indicated `type_`.
# Returns
The current value of `type_`, Default: 0x00000000 "none
<!-- impl Player::fn multiview_mode -->
Retrieve the current value of the indicated `type_`.
# Returns
The current value of `type_`, Default: -1 "none"
<!-- impl Player::fn is_muted -->
# Returns
`true` if the currently-playing stream is muted.
<!-- impl Player::fn pipeline -->
# Returns
The internal playbin instance
<!-- impl Player::fn position -->
# Returns
the absolute position time, in nanoseconds, of the
currently-playing stream.
<!-- impl Player::fn rate -->
# Returns
current playback rate
<!-- impl Player::fn subtitle_uri -->
current subtitle URI
# Returns
URI of the current external subtitle.
`g_free` after usage.
<!-- impl Player::fn subtitle_video_offset -->
Retrieve the current value of subtitle-video-offset property
Feature: `v1_16`
# Returns
The current value of subtitle-video-offset in nanoseconds
<!-- impl Player::fn uri -->
Gets the URI of the currently-playing stream.
# Returns
a string containing the URI of the
currently-playing stream. `g_free` after usage.
<!-- impl Player::fn video_snapshot -->
Get a snapshot of the currently selected video stream, if any. The format can be
selected with `format` and optional configuration is possible with `config`
Currently supported settings are:
- width, height of type G_TYPE_INT
- pixel-aspect-ratio of type GST_TYPE_FRACTION
Except for GST_PLAYER_THUMBNAIL_RAW_NATIVE format, if no config is set, pixel-aspect-ratio would be 1/1
## `format`
output format of the video snapshot
## `config`
Additional configuration
# Returns
Current video snapshot sample or `None` on failure
<!-- impl Player::fn volume -->
Returns the current volume level, as a percentage between 0 and 1.
# Returns
the volume as percentage between 0 and 1.
<!-- impl Player::fn has_color_balance -->
Checks whether the `self` has color balance support available.
# Returns
`true` if `self` has color balance support. Otherwise,
`false`.
<!-- impl Player::fn pause -->
Pauses the current stream.
<!-- impl Player::fn play -->
Request to play the loaded stream.
<!-- impl Player::fn seek -->
Seeks the currently-playing stream to the absolute `position` time
in nanoseconds.
## `position`
position to seek in nanoseconds
<!-- impl Player::fn set_audio_track -->
## `stream_index`
stream index
# Returns
`true` or `false`
Sets the audio track `stream_idex`.
<!-- impl Player::fn set_audio_track_enabled -->
Enable or disable the current audio track.
## `enabled`
TRUE or FALSE
<!-- impl Player::fn set_audio_video_offset -->
Sets audio-video-offset property by value of `offset`
## `offset`
`gint64` in nanoseconds
<!-- impl Player::fn set_color_balance -->
Sets the current value of the indicated channel `type_` to the passed
value.
## `type_`
`PlayerColorBalanceType`
## `value`
The new value for the `type_`, ranged [0,1]
<!-- impl Player::fn set_config -->
Set the configuration of the player. If the player is already configured, and
the configuration haven't change, this function will return `true`. If the
player is not in the GST_PLAYER_STATE_STOPPED, this method will return `false`
and active configuration will remain.
`config` is a `gst::Structure` that contains the configuration parameters for
the player.
This function takes ownership of `config`.
## `config`
a `gst::Structure`
# Returns
`true` when the configuration could be set.
<!-- impl Player::fn set_multiview_flags -->
Sets the current value of the indicated mode `type_` to the passed
value.
## `flags`
The new value for the `type_`
<!-- impl Player::fn set_multiview_mode -->
Sets the current value of the indicated mode `type_` to the passed
value.
## `mode`
The new value for the `type_`
<!-- impl Player::fn set_mute -->
`true` if the currently-playing stream should be muted.
## `val`
Mute state the should be set
<!-- impl Player::fn set_rate -->
Playback at specified rate
## `rate`
playback rate
<!-- impl Player::fn set_subtitle_track -->
## `stream_index`
stream index
# Returns
`true` or `false`
Sets the subtitle stack `stream_index`.
<!-- impl Player::fn set_subtitle_track_enabled -->
Enable or disable the current subtitle track.
## `enabled`
TRUE or FALSE
<!-- impl Player::fn set_subtitle_uri -->
Sets the external subtitle URI. This should be combined with a call to
gst_player_set_subtitle_track_enabled(`self`, TRUE) so the subtitles are actually
rendered.
## `uri`
subtitle URI
<!-- impl Player::fn set_subtitle_video_offset -->
Sets subtitle-video-offset property by value of `offset`
Feature: `v1_16`
## `offset`
`gint64` in nanoseconds
<!-- impl Player::fn set_uri -->
Sets the next URI to play.
## `uri`
next URI to play.
<!-- impl Player::fn set_video_track -->
## `stream_index`
stream index
# Returns
`true` or `false`
Sets the video track `stream_index`.
<!-- impl Player::fn set_video_track_enabled -->
Enable or disable the current video track.
## `enabled`
TRUE or FALSE
<!-- impl Player::fn set_visualization -->
## `name`
visualization element obtained from
`Player::visualizations_get`()
# Returns
`true` if the visualizations was set correctly. Otherwise,
`false`.
<!-- impl Player::fn set_visualization_enabled -->
Enable or disable the visualization.
## `enabled`
TRUE or FALSE
<!-- impl Player::fn set_volume -->
Sets the volume level of the stream as a percentage between 0 and 1.
## `val`
the new volume level, as a percentage between 0 and 1
<!-- impl Player::fn stop -->
Stops playing the current stream and resets to the first position
in the stream.
<!-- struct PlayerAudioInfo -->
`PlayerStreamInfo` specific to audio streams.
# Implements
[`PlayerStreamInfoExt`](trait@crate::PlayerStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl PlayerAudioInfo::fn bitrate -->
# Returns
the audio bitrate in `PlayerAudioInfo`.
<!-- impl PlayerAudioInfo::fn channels -->
# Returns
the number of audio channels in `PlayerAudioInfo`.
<!-- impl PlayerAudioInfo::fn language -->
# Returns
the language of the stream, or NULL if unknown.
<!-- impl PlayerAudioInfo::fn max_bitrate -->
# Returns
the audio maximum bitrate in `PlayerAudioInfo`.
<!-- impl PlayerAudioInfo::fn sample_rate -->
# Returns
the audio sample rate in `PlayerAudioInfo`.
<!-- enum PlayerColorBalanceType -->
<!-- enum PlayerColorBalanceType::variant Hue -->
hue or color balance.
<!-- enum PlayerColorBalanceType::variant Brightness -->
brightness or black level.
<!-- enum PlayerColorBalanceType::variant Saturation -->
color saturation or chroma
gain.
<!-- enum PlayerColorBalanceType::variant Contrast -->
contrast or luma gain.
<!-- enum PlayerError -->
<!-- enum PlayerError::variant Failed -->
generic error.
<!-- struct PlayerGMainContextSignalDispatcher -->
# Implements
[`trait@glib::object::ObjectExt`], [`PlayerSignalDispatcherExt`](trait@crate::PlayerSignalDispatcherExt)
<!-- impl PlayerGMainContextSignalDispatcher::fn new -->
Creates a new GstPlayerSignalDispatcher that uses `application_context`,
or the thread default one if `None` is used. See `Player::new`.
## `application_context`
GMainContext to use or `None`
# Returns
the new GstPlayerSignalDispatcher
<!-- struct PlayerMediaInfo -->
Structure containing the media information of a URI.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl PlayerMediaInfo::fn audio_streams -->
# Returns
A `glib::List` of
matching `PlayerAudioInfo`.
<!-- impl PlayerMediaInfo::fn container_format -->
# Returns
the container format.
<!-- impl PlayerMediaInfo::fn duration -->
# Returns
duration of the media.
<!-- impl PlayerMediaInfo::fn image_sample -->
Function to get the image (or preview-image) stored in taglist.
Application can use `gst_sample_*_()` API's to get caps, buffer etc.
# Returns
GstSample or NULL.
<!-- impl PlayerMediaInfo::fn number_of_audio_streams -->
# Returns
number of audio streams.
<!-- impl PlayerMediaInfo::fn number_of_streams -->
# Returns
number of total streams.
<!-- impl PlayerMediaInfo::fn number_of_subtitle_streams -->
# Returns
number of subtitle streams.
<!-- impl PlayerMediaInfo::fn number_of_video_streams -->
# Returns
number of video streams.
<!-- impl PlayerMediaInfo::fn stream_list -->
# Returns
A `glib::List` of
matching `PlayerStreamInfo`.
<!-- impl PlayerMediaInfo::fn subtitle_streams -->
# Returns
A `glib::List` of
matching `PlayerSubtitleInfo`.
<!-- impl PlayerMediaInfo::fn tags -->
# Returns
the tags contained in media info.
<!-- impl PlayerMediaInfo::fn title -->
# Returns
the media title.
<!-- impl PlayerMediaInfo::fn uri -->
# Returns
the URI associated with `PlayerMediaInfo`.
<!-- impl PlayerMediaInfo::fn video_streams -->
# Returns
A `glib::List` of
matching `PlayerVideoInfo`.
<!-- impl PlayerMediaInfo::fn is_live -->
# Returns
`true` if the media is live.
<!-- impl PlayerMediaInfo::fn is_seekable -->
# Returns
`true` if the media is seekable.
<!-- struct PlayerSignalDispatcher -->
# Implements
[`PlayerSignalDispatcherExt`](trait@crate::PlayerSignalDispatcherExt)
<!-- trait PlayerSignalDispatcherExt -->
Trait containing all `PlayerSignalDispatcher` methods.
# Implementors
[`PlayerGMainContextSignalDispatcher`](struct@crate::PlayerGMainContextSignalDispatcher), [`PlayerSignalDispatcher`](struct@crate::PlayerSignalDispatcher)
<!-- enum PlayerSnapshotFormat -->
<!-- enum PlayerState -->
<!-- enum PlayerState::variant Stopped -->
the player is stopped.
<!-- enum PlayerState::variant Buffering -->
the player is buffering.
<!-- enum PlayerState::variant Paused -->
the player is paused.
<!-- enum PlayerState::variant Playing -->
the player is currently playing a
stream.
<!-- struct PlayerStreamInfo -->
Base structure for information concerning a media stream. Depending on
the stream type, one can find more media-specific information in
`PlayerVideoInfo`, `PlayerAudioInfo`, `PlayerSubtitleInfo`.
This is an Abstract Base Class, you cannot instantiate it.
# Implements
[`PlayerStreamInfoExt`](trait@crate::PlayerStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- trait PlayerStreamInfoExt -->
Trait containing all `PlayerStreamInfo` methods.
# Implementors
[`PlayerAudioInfo`](struct@crate::PlayerAudioInfo), [`PlayerStreamInfo`](struct@crate::PlayerStreamInfo), [`PlayerSubtitleInfo`](struct@crate::PlayerSubtitleInfo), [`PlayerVideoInfo`](struct@crate::PlayerVideoInfo)
<!-- trait PlayerStreamInfoExt::fn caps -->
# Returns
the `gst::Caps` of the stream.
<!-- trait PlayerStreamInfoExt::fn codec -->
A string describing codec used in `PlayerStreamInfo`.
# Returns
codec string or NULL on unknown.
<!-- trait PlayerStreamInfoExt::fn index -->
Function to get stream index from `PlayerStreamInfo` instance.
# Returns
the stream index of this stream.
<!-- trait PlayerStreamInfoExt::fn stream_type -->
Function to return human readable name for the stream type
of the given `self` (ex: "audio", "video", "subtitle")
# Returns
a human readable name
<!-- trait PlayerStreamInfoExt::fn tags -->
# Returns
the tags contained in this stream.
<!-- struct PlayerSubtitleInfo -->
`PlayerStreamInfo` specific to subtitle streams.
# Implements
[`PlayerStreamInfoExt`](trait@crate::PlayerStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl PlayerSubtitleInfo::fn language -->
# Returns
the language of the stream, or NULL if unknown.
<!-- struct PlayerVideoInfo -->
`PlayerStreamInfo` specific to video streams.
# Implements
[`PlayerStreamInfoExt`](trait@crate::PlayerStreamInfoExt), [`trait@glib::object::ObjectExt`]
<!-- impl PlayerVideoInfo::fn bitrate -->
# Returns
the current bitrate of video in `PlayerVideoInfo`.
<!-- impl PlayerVideoInfo::fn framerate -->
## `fps_n`
Numerator of frame rate
## `fps_d`
Denominator of frame rate
<!-- impl PlayerVideoInfo::fn height -->
# Returns
the height of video in `PlayerVideoInfo`.
<!-- impl PlayerVideoInfo::fn max_bitrate -->
# Returns
the maximum bitrate of video in `PlayerVideoInfo`.
<!-- impl PlayerVideoInfo::fn pixel_aspect_ratio -->
Returns the pixel aspect ratio in `par_n` and `par_d`
## `par_n`
numerator
## `par_d`
denominator
<!-- impl PlayerVideoInfo::fn width -->
# Returns
the width of video in `PlayerVideoInfo`.
<!-- struct PlayerVideoOverlayVideoRenderer -->
# Implements
[`trait@glib::object::ObjectExt`], [`PlayerVideoRendererExt`](trait@crate::PlayerVideoRendererExt)
<!-- impl PlayerVideoOverlayVideoRenderer::fn new -->
## `window_handle`
Window handle to use or `None`
<!-- impl PlayerVideoOverlayVideoRenderer::fn new_with_sink -->
## `window_handle`
Window handle to use or `None`
## `video_sink`
the custom video_sink element to be set for the video renderer
<!-- impl PlayerVideoOverlayVideoRenderer::fn expose -->
Tell an overlay that it has been exposed. This will redraw the current frame
in the drawable even if the pipeline is PAUSED.
<!-- impl PlayerVideoOverlayVideoRenderer::fn render_rectangle -->
Return the currently configured render rectangle. See `PlayerVideoOverlayVideoRenderer::set_render_rectangle`
for details.
## `x`
the horizontal offset of the render area inside the window
## `y`
the vertical offset of the render area inside the window
## `width`
the width of the render area inside the window
## `height`
the height of the render area inside the window
<!-- impl PlayerVideoOverlayVideoRenderer::fn window_handle -->
# Returns
The currently set, platform specific window
handle
<!-- impl PlayerVideoOverlayVideoRenderer::fn set_render_rectangle -->
Configure a subregion as a video target within the window set by
`PlayerVideoOverlayVideoRenderer::set_window_handle`. If this is not
used or not supported the video will fill the area of the window set as the
overlay to 100%. By specifying the rectangle, the video can be overlaid to
a specific region of that window only. After setting the new rectangle one
should call `PlayerVideoOverlayVideoRenderer::expose` to force a
redraw. To unset the region pass -1 for the `width` and `height` parameters.
This method is needed for non fullscreen video overlay in UI toolkits that
do not support subwindows.
## `x`
the horizontal offset of the render area inside the window
## `y`
the vertical offset of the render area inside the window
## `width`
the width of the render area inside the window
## `height`
the height of the render area inside the window
<!-- impl PlayerVideoOverlayVideoRenderer::fn set_window_handle -->
Sets the platform specific window handle into which the video
should be rendered
## `window_handle`
handle referencing to the platform specific window
<!-- struct PlayerVideoRenderer -->
# Implements
[`PlayerVideoRendererExt`](trait@crate::PlayerVideoRendererExt)
<!-- trait PlayerVideoRendererExt -->
Trait containing all `PlayerVideoRenderer` methods.
# Implementors
[`PlayerVideoOverlayVideoRenderer`](struct@crate::PlayerVideoOverlayVideoRenderer), [`PlayerVideoRenderer`](struct@crate::PlayerVideoRenderer)
<!-- struct PlayerVisualization -->
A `PlayerVisualization` descriptor.
<!-- impl PlayerVisualization::fn copy -->
Makes a copy of the `PlayerVisualization`. The result must be
freed using `PlayerVisualization::free`.
# Returns
an allocated copy of `self`.
<!-- impl PlayerVisualization::fn free -->
Frees a `PlayerVisualization`.

View file

@ -1,199 +0,0 @@
<!-- 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`
<!-- struct RTPBufferFlags -->
Additional RTP buffer flags. These flags can potentially be used on any
buffers carrying RTP packets.
Note that these are only valid for `gst::Caps` of type: application/x-rtp (x-rtcp).
They can conflict with other extended buffer flags.
<!-- struct RTPBufferFlags::const RETRANSMISSION -->
The `gst::Buffer` was once wrapped
in a retransmitted packet as specified by RFC 4588.
<!-- struct RTPBufferFlags::const REDUNDANT -->
The packet represents redundant RTP packet.
The flag is used in gstrtpstorage to be able to hold the packetback
and use it only for recovery from packet loss.
Since: 1.14
<!-- struct RTPBufferFlags::const LAST -->
Offset to define more flags.
Feature: `v1_10`
<!-- struct RTPBufferMapFlags -->
Additional mapping flags for `RTPBuffer::map`.
<!-- struct RTPBufferMapFlags::const SKIP_PADDING -->
Skip mapping and validation of RTP
padding and RTP pad count when present. Useful for buffers where
the padding may be encrypted.
<!-- struct RTPBufferMapFlags::const LAST -->
Offset to define more flags
<!-- enum RTPPayload -->
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)

File diff suppressed because it is too large Load diff

View file

@ -1,258 +0,0 @@
<!-- file * -->
<!-- enum RTSPAuthMethod -->
Authentication methods, ordered by strength
<!-- enum RTSPAuthMethod::variant None -->
no authentication
<!-- enum RTSPAuthMethod::variant Basic -->
basic authentication
<!-- enum RTSPAuthMethod::variant Digest -->
digest authentication
<!-- struct RTSPAuthParam -->
RTSP Authentication parameter
Feature: `v1_12`
<!-- struct RTSPEvent -->
The possible events for the connection.
<!-- struct RTSPEvent::const READ -->
connection is readable
<!-- struct RTSPEvent::const WRITE -->
connection is writable
<!-- enum RTSPFamily -->
The possible network families.
<!-- enum RTSPFamily::variant None -->
unknown network family
<!-- enum RTSPFamily::variant Inet -->
internet
<!-- enum RTSPFamily::variant Inet6 -->
internet V6
<!-- enum RTSPHeaderField -->
Enumeration of rtsp header fields
<!-- struct RTSPLowerTrans -->
The different transport methods.
<!-- struct RTSPLowerTrans::const UNKNOWN -->
invalid transport flag
<!-- struct RTSPLowerTrans::const UDP -->
stream data over UDP
<!-- struct RTSPLowerTrans::const UDP_MCAST -->
stream data over UDP multicast
<!-- struct RTSPLowerTrans::const TCP -->
stream data over TCP
<!-- struct RTSPLowerTrans::const HTTP -->
stream data tunneled over HTTP.
<!-- struct RTSPLowerTrans::const TLS -->
encrypt TCP and HTTP with TLS
<!-- struct RTSPMethod -->
The different supported RTSP methods.
<!-- struct RTSPMethod::const INVALID -->
invalid method
<!-- struct RTSPMethod::const DESCRIBE -->
the DESCRIBE method
<!-- struct RTSPMethod::const ANNOUNCE -->
the ANNOUNCE method
<!-- struct RTSPMethod::const GET_PARAMETER -->
the GET_PARAMETER method
<!-- struct RTSPMethod::const OPTIONS -->
the OPTIONS method
<!-- struct RTSPMethod::const PAUSE -->
the PAUSE method
<!-- struct RTSPMethod::const PLAY -->
the PLAY method
<!-- struct RTSPMethod::const RECORD -->
the RECORD method
<!-- struct RTSPMethod::const REDIRECT -->
the REDIRECT method
<!-- struct RTSPMethod::const SETUP -->
the SETUP method
<!-- struct RTSPMethod::const SET_PARAMETER -->
the SET_PARAMETER method
<!-- struct RTSPMethod::const TEARDOWN -->
the TEARDOWN method
<!-- struct RTSPMethod::const GET -->
the GET method (HTTP).
<!-- struct RTSPMethod::const POST -->
the POST method (HTTP).
<!-- enum RTSPMsgType -->
The type of a message.
<!-- enum RTSPMsgType::variant Invalid -->
invalid message type
<!-- enum RTSPMsgType::variant Request -->
RTSP request message
<!-- enum RTSPMsgType::variant Response -->
RTSP response message
<!-- enum RTSPMsgType::variant HttpRequest -->
HTTP request message.
<!-- enum RTSPMsgType::variant HttpResponse -->
HTTP response message.
<!-- enum RTSPMsgType::variant Data -->
data message
<!-- struct RTSPProfile -->
The transfer profile to use.
<!-- struct RTSPProfile::const UNKNOWN -->
invalid profile
<!-- struct RTSPProfile::const AVP -->
the Audio/Visual profile (RFC 3551)
<!-- struct RTSPProfile::const SAVP -->
the secure Audio/Visual profile (RFC 3711)
<!-- struct RTSPProfile::const AVPF -->
the Audio/Visual profile with feedback (RFC 4585)
<!-- struct RTSPProfile::const SAVPF -->
the secure Audio/Visual profile with feedback (RFC 5124)
<!-- enum RTSPRangeUnit -->
Different possible time range units.
<!-- enum RTSPRangeUnit::variant Smpte -->
SMPTE timecode
<!-- enum RTSPRangeUnit::variant Smpte30Drop -->
29.97 frames per second
<!-- enum RTSPRangeUnit::variant Smpte25 -->
25 frames per second
<!-- enum RTSPRangeUnit::variant Npt -->
Normal play time
<!-- enum RTSPRangeUnit::variant Clock -->
Absolute time expressed as ISO 8601 timestamps
<!-- enum RTSPResult -->
Result codes from the RTSP functions.
<!-- enum RTSPResult::variant Ok -->
no error
<!-- enum RTSPResult::variant Error -->
some unspecified error occurred
<!-- enum RTSPResult::variant Einval -->
invalid arguments were provided to a function
<!-- enum RTSPResult::variant Eintr -->
an operation was canceled
<!-- enum RTSPResult::variant Enomem -->
no memory was available for the operation
<!-- enum RTSPResult::variant Eresolv -->
a host resolve error occurred
<!-- enum RTSPResult::variant Enotimpl -->
function not implemented
<!-- enum RTSPResult::variant Esys -->
a system error occurred, errno contains more details
<!-- enum RTSPResult::variant Eparse -->
a parsing error occurred
<!-- enum RTSPResult::variant Ewsastart -->
windows networking could not start
<!-- enum RTSPResult::variant Ewsaversion -->
windows networking stack has wrong version
<!-- enum RTSPResult::variant Eeof -->
end-of-file was reached
<!-- enum RTSPResult::variant Enet -->
a network problem occurred, h_errno contains more details
<!-- enum RTSPResult::variant Enotip -->
the host is not an IP host
<!-- enum RTSPResult::variant Etimeout -->
a timeout occurred
<!-- enum RTSPResult::variant Etget -->
the tunnel GET request has been performed
<!-- enum RTSPResult::variant Etpost -->
the tunnel POST request has been performed
<!-- enum RTSPResult::variant Elast -->
last error
<!-- enum RTSPState -->
The different RTSP states.
<!-- enum RTSPState::variant Invalid -->
invalid state
<!-- enum RTSPState::variant Init -->
initializing
<!-- enum RTSPState::variant Ready -->
ready for operation
<!-- enum RTSPState::variant Seeking -->
seeking in progress
<!-- enum RTSPState::variant Playing -->
playing
<!-- enum RTSPState::variant Recording -->
recording
<!-- enum RTSPStatusCode -->
Enumeration of rtsp status codes
<!-- enum RTSPTimeType -->
Possible time types.
<!-- enum RTSPTimeType::variant Seconds -->
seconds
<!-- enum RTSPTimeType::variant Now -->
now
<!-- enum RTSPTimeType::variant End -->
end
<!-- enum RTSPTimeType::variant Frames -->
frames and subframes
<!-- enum RTSPTimeType::variant Utc -->
UTC time
<!-- struct RTSPTransMode -->
The transfer mode to use.
<!-- struct RTSPTransMode::const UNKNOWN -->
invalid tansport mode
<!-- struct RTSPTransMode::const RTP -->
transfer RTP data
<!-- struct RTSPTransMode::const RDT -->
transfer RDT (RealMedia) data
<!-- struct RTSPUrl -->
Provides helper functions to handle RTSP urls.
<!-- impl RTSPUrl::fn copy -->
Make a copy of `self`.
# Returns
a copy of `self`. Free with gst_rtsp_url_free () after usage.
<!-- impl RTSPUrl::fn decode_path_components -->
Splits the path of `self` on '/' boundaries, decoding the resulting components,
The decoding performed by this routine is "URI decoding", as defined in RFC
3986, commonly known as percent-decoding. For example, a string "foo\%2fbar"
will decode to "foo/bar" -- the \%2f being replaced by the corresponding byte
with hex value 0x2f. Note that there is no guarantee that the resulting byte
sequence is valid in any given encoding. As a special case, \%00 is not
unescaped to NUL, as that would prematurely terminate the string.
Also note that since paths usually start with a slash, the first component
will usually be the empty string.
# Returns
`None`-terminated array of URL components. Free with
`g_strfreev` when no longer needed.
<!-- impl RTSPUrl::fn free -->
Free the memory used by `self`.
<!-- impl RTSPUrl::fn get_port -->
Get the port number of `self`.
## `port`
location to hold the port
# Returns
`RTSPResult::Ok`.
<!-- impl RTSPUrl::fn get_request_uri -->
Get a newly allocated string describing the request URI for `self`.
# Returns
a string with the request URI. `g_free` after usage.
<!-- impl RTSPUrl::fn get_request_uri_with_control -->
Get a newly allocated string describing the request URI for `self`
combined with the control path for `control_path`
Feature: `v1_18`
## `control_path`
an RTSP aggregate control path
# Returns
a string with the request URI combined with the control path.
`g_free` after usage.
<!-- impl RTSPUrl::fn set_port -->
Set the port number in `self` to `port`.
## `port`
the port
# Returns
`RTSPResult::Ok`.
<!-- impl RTSPUrl::fn parse -->
Parse the RTSP `urlstr` into a newly allocated `RTSPUrl`. Free after usage
with `RTSPUrl::free`.
## `urlstr`
the url string to parse
## `url`
location to hold the result.
# Returns
a `RTSPResult`.

View file

@ -1 +0,0 @@
<!-- file * -->

File diff suppressed because it is too large Load diff

View file

@ -1,332 +0,0 @@
<!-- 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::variant None -->
none
<!-- enum WebRTCDTLSSetup::variant Actpass -->
actpass
<!-- enum WebRTCDTLSSetup::variant Active -->
sendonly
<!-- enum WebRTCDTLSSetup::variant Passive -->
recvonly
<!-- struct WebRTCDTLSTransport -->
# Implements
[`trait@glib::object::ObjectExt`]
<!-- enum WebRTCDTLSTransportState -->
<!-- enum WebRTCDTLSTransportState::variant New -->
new
<!-- enum WebRTCDTLSTransportState::variant Closed -->
closed
<!-- enum WebRTCDTLSTransportState::variant Failed -->
failed
<!-- enum WebRTCDTLSTransportState::variant Connecting -->
connecting
<!-- enum WebRTCDTLSTransportState::variant Connected -->
connected
<!-- struct WebRTCDataChannel -->
This is an Abstract Base Class, you cannot instantiate it.
Feature: `v1_18`
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl WebRTCDataChannel::fn close -->
Close the `self`.
Feature: `v1_18`
<!-- impl WebRTCDataChannel::fn on_buffered_amount_low -->
Signal that the data channel reached a low buffered amount. Should only be used by subclasses.
Feature: `v1_18`
<!-- impl WebRTCDataChannel::fn on_close -->
Signal that the data channel was closed. Should only be used by subclasses.
Feature: `v1_18`
<!-- impl WebRTCDataChannel::fn on_error -->
Signal that the data channel had an error. Should only be used by subclasses.
Feature: `v1_18`
## `error`
a `glib::Error`
<!-- impl WebRTCDataChannel::fn on_message_data -->
Signal that the data channel received a data message. Should only be used by subclasses.
Feature: `v1_18`
## `data`
a `glib::Bytes` or `None`
<!-- impl WebRTCDataChannel::fn on_message_string -->
Signal that the data channel received a string message. Should only be used by subclasses.
Feature: `v1_18`
## `str`
a string or `None`
<!-- impl WebRTCDataChannel::fn on_open -->
Signal that the data channel was opened. Should only be used by subclasses.
Feature: `v1_18`
<!-- impl WebRTCDataChannel::fn send_data -->
Send `data` as a data message over `self`.
Feature: `v1_18`
## `data`
a `glib::Bytes` or `None`
<!-- impl WebRTCDataChannel::fn send_string -->
Send `str` as a string message over `self`.
Feature: `v1_18`
## `str`
a string or `None`
<!-- impl WebRTCDataChannel::fn connect_close -->
Close the data channel
<!-- impl WebRTCDataChannel::fn connect_on_error -->
## `error`
the `glib::Error` thrown
<!-- impl WebRTCDataChannel::fn connect_on_message_data -->
## `data`
a `glib::Bytes` of the data received
<!-- impl WebRTCDataChannel::fn connect_on_message_string -->
## `data`
the data received as a string
<!-- impl WebRTCDataChannel::fn connect_send_data -->
## `data`
a `glib::Bytes` with the data
<!-- impl WebRTCDataChannel::fn connect_send_string -->
## `data`
the data to send as a string
<!-- 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 <http://w3c.github.io/webrtc-pc/`dom`-rtcdatachannelstate>
Feature: `v1_16`
<!-- enum WebRTCFECType -->
<!-- enum WebRTCFECType::variant None -->
none
<!-- enum WebRTCFECType::variant UlpRed -->
ulpfec + red
Feature: `v1_14_1`
<!-- enum WebRTCICEComponent -->
<!-- enum WebRTCICEComponent::variant Rtp -->
RTP component
<!-- enum WebRTCICEComponent::variant Rtcp -->
RTCP component
<!-- enum WebRTCICEConnectionState -->
See <http://w3c.github.io/webrtc-pc/`dom`-rtciceconnectionstate>
<!-- enum WebRTCICEConnectionState::variant New -->
new
<!-- enum WebRTCICEConnectionState::variant Checking -->
checking
<!-- enum WebRTCICEConnectionState::variant Connected -->
connected
<!-- enum WebRTCICEConnectionState::variant Completed -->
completed
<!-- enum WebRTCICEConnectionState::variant Failed -->
failed
<!-- enum WebRTCICEConnectionState::variant Disconnected -->
disconnected
<!-- enum WebRTCICEConnectionState::variant Closed -->
closed
<!-- enum WebRTCICEGatheringState -->
See <http://w3c.github.io/webrtc-pc/`dom`-rtcicegatheringstate>
<!-- enum WebRTCICEGatheringState::variant New -->
new
<!-- enum WebRTCICEGatheringState::variant Gathering -->
gathering
<!-- enum WebRTCICEGatheringState::variant Complete -->
complete
<!-- enum WebRTCICERole -->
<!-- enum WebRTCICERole::variant Controlled -->
controlled
<!-- enum WebRTCICERole::variant Controlling -->
controlling
<!-- struct WebRTCICETransport -->
This is an Abstract Base Class, you cannot instantiate it.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- 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 -->
See <http://w3c.github.io/webrtc-pc/`dom`-rtcpeerconnectionstate>
<!-- enum WebRTCPeerConnectionState::variant New -->
new
<!-- enum WebRTCPeerConnectionState::variant Connecting -->
connecting
<!-- enum WebRTCPeerConnectionState::variant Connected -->
connected
<!-- enum WebRTCPeerConnectionState::variant Disconnected -->
disconnected
<!-- enum WebRTCPeerConnectionState::variant Failed -->
failed
<!-- enum WebRTCPeerConnectionState::variant Closed -->
closed
<!-- 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 <http://w3c.github.io/webrtc-pc/`dom`-rtcprioritytype>
Feature: `v1_16`
<!-- struct WebRTCRTPReceiver -->
# Implements
[`trait@glib::object::ObjectExt`]
<!-- struct WebRTCRTPSender -->
# Implements
[`trait@glib::object::ObjectExt`]
<!-- struct WebRTCRTPTransceiver -->
This is an Abstract Base Class, you cannot instantiate it.
# Implements
[`trait@glib::object::ObjectExt`]
<!-- impl WebRTCRTPTransceiver::fn get_property_direction -->
Direction of the transceiver.
Feature: `v1_18`
<!-- impl WebRTCRTPTransceiver::fn set_property_direction -->
Direction of the transceiver.
Feature: `v1_18`
<!-- enum WebRTCRTPTransceiverDirection -->
<!-- enum WebRTCRTPTransceiverDirection::variant None -->
none
<!-- enum WebRTCRTPTransceiverDirection::variant Inactive -->
inactive
<!-- enum WebRTCRTPTransceiverDirection::variant Sendonly -->
sendonly
<!-- enum WebRTCRTPTransceiverDirection::variant Recvonly -->
recvonly
<!-- enum WebRTCRTPTransceiverDirection::variant Sendrecv -->
sendrecv
<!-- 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 <http://w3c.github.io/webrtc-pc/`dom`-rtcsctptransportstate>
Feature: `v1_16`
<!-- enum WebRTCSDPType -->
See <http://w3c.github.io/webrtc-pc/`rtcsdptype`>
<!-- enum WebRTCSDPType::variant Offer -->
offer
<!-- enum WebRTCSDPType::variant Pranswer -->
pranswer
<!-- enum WebRTCSDPType::variant Answer -->
answer
<!-- enum WebRTCSDPType::variant Rollback -->
rollback
<!-- struct WebRTCSessionDescription -->
See <https://www.w3.org/TR/webrtc/`rtcsessiondescription`-class>
<!-- impl WebRTCSessionDescription::fn new -->
## `type_`
a `WebRTCSDPType`
## `sdp`
a `gst_sdp::SDPMessage`
# Returns
a new `WebRTCSessionDescription` from `type_`
and `sdp`
<!-- impl WebRTCSessionDescription::fn copy -->
# Returns
a new copy of `self`
<!-- impl WebRTCSessionDescription::fn free -->
Free `self` and all associated resources
<!-- enum WebRTCSignalingState -->
See <http://w3c.github.io/webrtc-pc/`dom`-rtcsignalingstate>
<!-- enum WebRTCSignalingState::variant Stable -->
stable
<!-- enum WebRTCSignalingState::variant Closed -->
closed
<!-- enum WebRTCSignalingState::variant HaveLocalOffer -->
have-local-offer
<!-- enum WebRTCSignalingState::variant HaveRemoteOffer -->
have-remote-offer
<!-- enum WebRTCSignalingState::variant HaveLocalPranswer -->
have-local-pranswer
<!-- enum WebRTCSignalingState::variant HaveRemotePranswer -->
have-remote-pranswer
<!-- enum WebRTCStatsType -->
<!-- enum WebRTCStatsType::variant Codec -->
codec
<!-- enum WebRTCStatsType::variant InboundRtp -->
inbound-rtp
<!-- enum WebRTCStatsType::variant OutboundRtp -->
outbound-rtp
<!-- enum WebRTCStatsType::variant RemoteInboundRtp -->
remote-inbound-rtp
<!-- enum WebRTCStatsType::variant RemoteOutboundRtp -->
remote-outbound-rtp
<!-- enum WebRTCStatsType::variant Csrc -->
csrc
<!-- enum WebRTCStatsType::variant PeerConnection -->
peer-connectiion
<!-- enum WebRTCStatsType::variant DataChannel -->
data-channel
<!-- enum WebRTCStatsType::variant Stream -->
stream
<!-- enum WebRTCStatsType::variant Transport -->
transport
<!-- enum WebRTCStatsType::variant CandidatePair -->
candidate-pair
<!-- enum WebRTCStatsType::variant LocalCandidate -->
local-candidate
<!-- enum WebRTCStatsType::variant RemoteCandidate -->
remote-candidate
<!-- enum WebRTCStatsType::variant Certificate -->
certificate

File diff suppressed because it is too large Load diff

View file

@ -1,88 +0,0 @@
use std::io;
use std::path::Path;
use stripper_lib::{loop_over_files, parse_cmts, regenerate_comments, strip_comments};
#[derive(Clone, Copy, Debug)]
pub enum Library {
GstWebRTC,
GstVideo,
GstSdp,
GstRtspServer,
GstRtsp,
GstRtp,
GstPlayer,
GstNet,
GstGL,
GES,
GstCheck,
GstPbutils,
GstBase,
GstAudio,
GstApp,
Gst,
GstController,
}
fn docs(lib: Library) -> &'static str {
match lib {
Library::GstWebRTC => include_str!("../gstreamer-webrtc/docs.md"),
Library::GstVideo => include_str!("../gstreamer-video/docs.md"),
Library::GstSdp => include_str!("../gstreamer-sdp/docs.md"),
Library::GstRtspServer => include_str!("../gstreamer-rtsp-server/docs.md"),
Library::GstRtsp => include_str!("../gstreamer-rtsp/docs.md"),
Library::GstRtp => include_str!("../gstreamer-rtp/docs.md"),
Library::GstPlayer => include_str!("../gstreamer-player/docs.md"),
Library::GstNet => include_str!("../gstreamer-net/docs.md"),
Library::GstGL => include_str!("../gstreamer-gl/docs.md"),
Library::GES => include_str!("../gstreamer-editing-services/docs.md"),
Library::GstCheck => include_str!("../gstreamer-check/docs.md"),
Library::GstPbutils => include_str!("../gstreamer-pbutils/docs.md"),
Library::GstBase => include_str!("../gstreamer-base/docs.md"),
Library::GstAudio => include_str!("../gstreamer-audio/docs.md"),
Library::GstApp => include_str!("../gstreamer-app/docs.md"),
Library::Gst => include_str!("../gstreamer/docs.md"),
Library::GstController => include_str!("../gstreamer-controller/docs.md"),
}
}
fn vendor_docs(_lib: Library) -> Option<&'static str> {
None
}
/// Embeds the docs.
///
/// `path` is the root directory to process.
///
/// `ignores` is the list of files to skip (relative to `path`).
pub fn embed<P: AsRef<Path>>(library: Library, path: P, ignores: &[&str]) {
let docs = docs(library);
do_embed(docs, path.as_ref(), ignores);
if let Some(docs) = vendor_docs(library) {
do_embed(docs, path.as_ref(), ignores);
}
}
fn do_embed(docs: &str, path: &Path, ignores: &[&str]) {
let mut infos = parse_cmts(docs.lines(), true);
loop_over_files(
path,
&mut |w, s| regenerate_comments(w, s, &mut infos, true, true),
&ignores,
false,
);
}
/// Remove any doc comments.
///
/// `path` is the root directory to process.
///
/// `ignores` is the list of files to skip (relative to `path`).
pub fn purge<P: AsRef<Path>>(path: P, ignores: &[&str]) {
loop_over_files(
path.as_ref(),
&mut |w, s| strip_comments(w, s, &mut io::sink(), true),
&ignores,
false,
);
}

View file

@ -24,9 +24,6 @@ gst = { package = "gstreamer", path = "../gstreamer" }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base" } gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
once_cell = "1.0" once_cell = "1.0"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[dev-dependencies] [dev-dependencies]
futures-util = { version = "0.3", features = ["sink"] } futures-util = { version = "0.3", features = ["sink"] }
futures-executor = "0.3" futures-executor = "0.3"
@ -39,9 +36,7 @@ v1_14 = ["gst/v1_14", "gst-base/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -24,9 +24,6 @@ gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
array-init = "2.0" array-init = "2.0"
once_cell = "1.0" once_cell = "1.0"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[dev-dependencies] [dev-dependencies]
itertools = "0.10" itertools = "0.10"
@ -38,9 +35,7 @@ v1_14 = ["gst/v1_14", "gst-base/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -21,9 +21,6 @@ ffi = { package = "gstreamer-base-sys", path = "sys", features = ["v1_8"] }
glib = { git = "https://github.com/gtk-rs/gtk-rs" } glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -34,9 +31,7 @@ v1_14_1 = ["gst/v1_14", "ffi/v1_14_1", "v1_14"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14_1"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14_1"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -19,9 +19,6 @@ ffi = { package = "gstreamer-check-sys", path = "sys", features = ["v1_8"] }
glib = { git = "https://github.com/gtk-rs/gtk-rs" } glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -30,9 +27,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -20,9 +20,6 @@ ffi = { package = "gstreamer-controller-sys", path = "sys", features = ["v1_8"]
glib = { git = "https://github.com/gtk-rs/gtk-rs" } glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -31,9 +28,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -23,9 +23,6 @@ gst = { package = "gstreamer", path = "../gstreamer" }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base" } gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
gst-pbutils = { package = "gstreamer-pbutils", path = "../gstreamer-pbutils" } gst-pbutils = { package = "gstreamer-pbutils", path = "../gstreamer-pbutils" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
v1_10 = ["gst/v1_10", "gst-base/v1_10", "gst-pbutils/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "gst-base/v1_10", "gst-pbutils/v1_10", "ffi/v1_10"]
v1_12 = ["gst/v1_12", "gst-base/v1_12", "gst-pbutils/v1_12", "ffi/v1_12", "v1_10"] v1_12 = ["gst/v1_12", "gst-base/v1_12", "gst-pbutils/v1_12", "ffi/v1_12", "v1_10"]
@ -33,9 +30,7 @@ v1_14 = ["gst/v1_14", "gst-base/v1_14", "gst-pbutils/v1_14", "ffi/v1_14", "v1_12
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-pbutils/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-pbutils/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-pbutils/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-pbutils/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-pbutils/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox", "gst-base/dox", "gst-pbutils/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox", "gst-base/dox", "gst-pbutils/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -27,17 +27,12 @@ gst = { package = "gstreamer", path = "../gstreamer", features = ["v1_14"] }
gst-base = { package = "gstreamer-base", path = "../gstreamer-base", features = ["v1_14"] } gst-base = { package = "gstreamer-base", path = "../gstreamer-base", features = ["v1_14"] }
gst-video = { package = "gstreamer-video", path = "../gstreamer-video", features = ["v1_14"] } gst-video = { package = "gstreamer-video", path = "../gstreamer-video", features = ["v1_14"] }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox", "gst-video/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox", "gst-video/dox"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-video/v1_16", "ffi/v1_16"] v1_16 = ["gst/v1_16", "gst-base/v1_16", "gst-video/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-video/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-base/v1_18", "gst-video/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-video/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-base/v1_20", "gst-video/v1_20", "ffi/v1_20", "v1_18"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -24,16 +24,11 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] } gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst-gl = { package = "gstreamer-gl", path = "../" } gst-gl = { package = "gstreamer-gl", path = "../" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../../docs", optional = true }
[features] [features]
default = [] default = []
dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"] dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"] v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["embed-lgpl-docs"] features = ["dox"]

View file

@ -24,16 +24,11 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] } gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst-gl = { package = "gstreamer-gl", path = "../" } gst-gl = { package = "gstreamer-gl", path = "../" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../../docs", optional = true }
[features] [features]
default = [] default = []
dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"] dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"] v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["embed-lgpl-docs"] features = ["dox"]

View file

@ -24,16 +24,11 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] } gst = { package = "gstreamer", path = "../../gstreamer", features = ["v1_14"] }
gst-gl = { package = "gstreamer-gl", path = "../" } gst-gl = { package = "gstreamer-gl", path = "../" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../../docs", optional = true }
[features] [features]
default = [] default = []
dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"] dox = ["v1_18", "ffi/dox", "glib/dox", "gst/dox", "gst-gl/dox"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"] v1_16 = ["gst/v1_16", "gst-gl/v1_16", "ffi/v1_16"]
v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-gl/v1_18", "ffi/v1_18", "v1_16"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["embed-lgpl-docs"] features = ["dox"]

View file

@ -19,9 +19,6 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
gio = { git = "https://github.com/gtk-rs/gtk-rs" } gio = { git = "https://github.com/gtk-rs/gtk-rs" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -30,9 +27,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -21,9 +21,6 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
thiserror = "1.0" thiserror = "1.0"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -32,9 +29,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -22,18 +22,13 @@ gst = { package = "gstreamer", path = "../gstreamer", features = ["v1_12"] }
gst-video = { package = "gstreamer-video", path = "../gstreamer-video", features = ["v1_12"] } gst-video = { package = "gstreamer-video", path = "../gstreamer-video", features = ["v1_12"] }
once_cell = "1.0" once_cell = "1.0"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_14 = ["gst/v1_14", "gst-video/v1_14", "ffi/v1_14"] v1_14 = ["gst/v1_14", "gst-video/v1_14", "ffi/v1_14"]
v1_16 = ["gst/v1_16", "gst-video/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-video/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-video/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-video/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-video/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-video/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-video/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-video/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -20,9 +20,6 @@ ffi = { package = "gstreamer-rtp-sys", path = "sys", features = ["v1_8"] }
glib = { git = "https://github.com/gtk-rs/gtk-rs" } glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "ffi/v1_10"]
@ -31,9 +28,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -25,9 +25,6 @@ gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp" }
gst-rtsp = { package = "gstreamer-rtsp", path = "../gstreamer-rtsp" } gst-rtsp = { package = "gstreamer-rtsp", path = "../gstreamer-rtsp" }
gst-net = { package = "gstreamer-net", path = "../gstreamer-net" } gst-net = { package = "gstreamer-net", path = "../gstreamer-net" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "gst-sdp/v1_10", "gst-rtsp/v1_10", "gst-net/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "gst-sdp/v1_10", "gst-rtsp/v1_10", "gst-net/v1_10", "ffi/v1_10"]
@ -36,9 +33,7 @@ v1_14 = ["gst/v1_14", "gst-sdp/v1_14", "gst-rtsp/v1_14", "gst-net/v1_14", "ffi/v
v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "gst-rtsp/v1_16", "gst-net/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "gst-rtsp/v1_16", "gst-net/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-sdp/v1_18", "gst-rtsp/v1_18", "gst-net/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-sdp/v1_18", "gst-rtsp/v1_18", "gst-net/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "gst-rtsp/v1_20", "gst-net/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "gst-rtsp/v1_20", "gst-net/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox", "gst-sdp/dox", "gst-rtsp/dox", "gst-net/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gio/dox", "gst/dox", "gst-sdp/dox", "gst-rtsp/dox", "gst-net/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -21,9 +21,6 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp" } gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_10 = ["gst/v1_10", "gst-sdp/v1_10", "ffi/v1_10"] v1_10 = ["gst/v1_10", "gst-sdp/v1_10", "ffi/v1_10"]
@ -32,9 +29,7 @@ v1_14 = ["gst/v1_14", "gst-sdp/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-sdp/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-sdp/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-sdp/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-sdp/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -18,9 +18,6 @@ ffi = { package = "gstreamer-sdp-sys", path = "sys", features = ["v1_8"] }
glib = { git = "https://github.com/gtk-rs/gtk-rs" } glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer" } gst = { package = "gstreamer", path = "../gstreamer" }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
v1_8_1 = ["ffi/v1_8_1"] v1_8_1 = ["ffi/v1_8_1"]
@ -30,9 +27,7 @@ v1_14 = ["gst/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -24,9 +24,6 @@ gst-base = { package = "gstreamer-base", path = "../gstreamer-base" }
once_cell = "1.0" once_cell = "1.0"
futures-channel = "0.3" futures-channel = "0.3"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[dev-dependencies] [dev-dependencies]
itertools = "0.10" itertools = "0.10"
@ -38,9 +35,7 @@ v1_14 = ["gst/v1_14", "gst-base/v1_14", "ffi/v1_14", "v1_12"]
v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"] v1_16 = ["gst/v1_16", "gst-base/v1_16", "ffi/v1_16", "v1_14"]
v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"] v1_18 = ["gst/v1_18", "gst-base/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-base/v1_20", "ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-base/dox"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -20,13 +20,8 @@ glib = { git = "https://github.com/gtk-rs/gtk-rs" }
gst = { package = "gstreamer", path = "../gstreamer", features = ["v1_14"] } gst = { package = "gstreamer", path = "../gstreamer", features = ["v1_14"] }
gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp", features = ["v1_14"] } gst-sdp = { package = "gstreamer-sdp", path = "../gstreamer-sdp", features = ["v1_14"] }
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[features] [features]
default = [] default = []
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-sdp/dox"] dox = ["v1_20", "ffi/dox", "glib/dox", "gst/dox", "gst-sdp/dox"]
v1_14_1 = ["ffi/v1_14_1"] v1_14_1 = ["ffi/v1_14_1"]
v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "ffi/v1_16", "v1_14_1"] v1_16 = ["gst/v1_16", "gst-sdp/v1_16", "ffi/v1_16", "v1_14_1"]
@ -34,4 +29,4 @@ v1_18 = ["gst/v1_18", "gst-sdp/v1_18", "ffi/v1_18", "v1_16"]
v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "ffi/v1_20", "v1_18"] v1_20 = ["gst/v1_20", "gst-sdp/v1_20", "ffi/v1_20", "v1_18"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]

View file

@ -32,9 +32,6 @@ paste = "1.0"
pretty-hex = "0.2" pretty-hex = "0.2"
thiserror = "1" thiserror = "1"
[build-dependencies]
gstreamer-rs-lgpl-docs = { path = "../docs", optional = true }
[dev-dependencies] [dev-dependencies]
ron = "0.6" ron = "0.6"
serde_json = "1.0" serde_json = "1.0"
@ -49,10 +46,8 @@ v1_14 = ["ffi/v1_14", "v1_12_1"]
v1_16 = ["ffi/v1_16", "v1_14"] v1_16 = ["ffi/v1_16", "v1_14"]
v1_18 = ["ffi/v1_18", "v1_16"] v1_18 = ["ffi/v1_18", "v1_16"]
v1_20 = ["ffi/v1_20", "v1_18"] v1_20 = ["ffi/v1_20", "v1_18"]
embed-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
purge-lgpl-docs = ["gstreamer-rs-lgpl-docs"]
dox = ["v1_20", "ffi/dox", "glib/dox", "ser_de"] dox = ["v1_20", "ffi/dox", "glib/dox", "ser_de"]
ser_de = ["num-rational/serde", "serde", "serde_bytes", "serde/derive"] ser_de = ["num-rational/serde", "serde", "serde_bytes", "serde/derive"]
[package.metadata.docs.rs] [package.metadata.docs.rs]
features = ["dox", "embed-lgpl-docs"] features = ["dox"]