mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs.git
synced 2024-11-25 11:01:10 +00:00
Update documentation
This commit is contained in:
parent
fe93089bb9
commit
be0075647a
13 changed files with 2421 additions and 697 deletions
|
@ -532,6 +532,9 @@ buffers that the appsrc element will push to its source pad. Any
|
|||
previous caps that were set on appsrc will be replaced by the caps
|
||||
associated with the sample if not equal.
|
||||
|
||||
This function does not take ownership of the
|
||||
sample so the sample needs to be unreffed after calling this function.
|
||||
|
||||
When the block property is TRUE, this function can block until free
|
||||
space becomes available in the queue.
|
||||
## `sample`
|
||||
|
|
|
@ -278,7 +278,7 @@ Feature: `v1_14`
|
|||
<!-- impl AudioStreamAlign::fn new -->
|
||||
Allocate a new `AudioStreamAlign` with the given configuration. All
|
||||
processing happens according to sample rate `rate`, until
|
||||
`gst_audio_discont_wait_set_rate` is called with a new `rate`.
|
||||
`AudioStreamAlign::set_rate` is called with a new `rate`.
|
||||
A negative rate can be used for reverse playback.
|
||||
|
||||
`alignment_threshold` gives the tolerance in nanoseconds after which a
|
||||
|
@ -315,6 +315,33 @@ or `AudioStreamAlign::copy`.
|
|||
|
||||
Feature: `v1_14`
|
||||
|
||||
<!-- impl AudioStreamAlign::fn get_alignment_threshold -->
|
||||
Gets the currently configured alignment threshold.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
The currently configured alignment threshold
|
||||
<!-- impl AudioStreamAlign::fn get_discont_wait -->
|
||||
Gets the currently configured discont wait.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
The currently configured discont wait
|
||||
<!-- impl AudioStreamAlign::fn get_rate -->
|
||||
Gets the currently configured sample rate.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
The currently configured sample rate
|
||||
<!-- impl AudioStreamAlign::fn get_samples_since_discont -->
|
||||
Returns the number of samples that were processed since the last
|
||||
discontinuity was detected.
|
||||
|
@ -376,6 +403,28 @@ output sample position of the start of the data
|
|||
# Returns
|
||||
|
||||
`true` if a discontinuity was detected, `false` otherwise.
|
||||
<!-- impl AudioStreamAlign::fn set_alignment_threshold -->
|
||||
Sets `alignment_treshold` as new alignment threshold for the following processing.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `alignment_threshold`
|
||||
a new alignment threshold
|
||||
<!-- impl AudioStreamAlign::fn set_discont_wait -->
|
||||
Sets `alignment_treshold` as new discont wait for the following processing.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `discont_wait`
|
||||
a new discont wait
|
||||
<!-- impl AudioStreamAlign::fn set_rate -->
|
||||
Sets `rate` as new sample rate for the following processing. If the sample
|
||||
rate differs this implicitely marks the next data as discontinuous.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `rate`
|
||||
a new sample rate
|
||||
<!-- struct StreamVolume -->
|
||||
This interface is implemented by elements that provide a stream volume. Examples for
|
||||
such elements are `volume` and `playbin`.
|
||||
|
|
|
@ -664,6 +664,38 @@ Feature: `v1_14`
|
|||
|
||||
## `caps`
|
||||
The `gst::Caps` to set on the src pad.
|
||||
<!-- trait AggregatorExt::fn simple_get_next_time -->
|
||||
This is a simple `Aggregator::get_next_time` implementation that
|
||||
just looks at the `gst::Segment` on the srcpad of the aggregator and bases
|
||||
the next time on the running time there.
|
||||
|
||||
This is the desired behaviour in most cases where you have a live source
|
||||
and you have a dead line based aggregator subclass.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
The running time based on the position
|
||||
<!-- trait AggregatorExt::fn get_property_min-upstream-latency -->
|
||||
Force minimum upstream latency (in nanoseconds). When sources with a
|
||||
higher latency are expected to be plugged in dynamically after the
|
||||
aggregator has started playing, this allows overriding the minimum
|
||||
latency reported by the initial source(s). This is only taken into
|
||||
account when larger than the actually reported minimum latency.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait AggregatorExt::fn set_property_min-upstream-latency -->
|
||||
Force minimum upstream latency (in nanoseconds). When sources with a
|
||||
higher latency are expected to be plugged in dynamically after the
|
||||
aggregator has started playing, this allows overriding the minimum
|
||||
latency reported by the initial source(s). This is only taken into
|
||||
account when larger than the actually reported minimum latency.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- struct AggregatorPad -->
|
||||
Pads managed by a `GstAggregor` subclass.
|
||||
|
||||
|
@ -692,6 +724,9 @@ Feature: `v1_14`
|
|||
|
||||
TRUE if there was a buffer queued in `self`, or FALSE if not.
|
||||
<!-- trait AggregatorPadExt::fn has_buffer -->
|
||||
This checks if a pad has a buffer available that will be returned by
|
||||
a call to `AggregatorPadExt::peek_buffer` or
|
||||
`AggregatorPadExt::pop_buffer`.
|
||||
|
||||
Feature: `v1_14_1`
|
||||
|
||||
|
@ -727,6 +762,394 @@ Feature: `v1_14`
|
|||
|
||||
The buffer in `self` or NULL if no buffer was
|
||||
queued. You should unref the buffer after usage.
|
||||
<!-- trait AggregatorPadExt::fn get_property_emit-signals -->
|
||||
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait AggregatorPadExt::fn set_property_emit-signals -->
|
||||
Enables the emission of signals such as `AggregatorPad::buffer-consumed`
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- struct BaseParse -->
|
||||
This base class is for parser elements that process data and splits it
|
||||
into separate audio/video/whatever frames.
|
||||
|
||||
It provides for:
|
||||
|
||||
* provides one sink pad and one source pad
|
||||
* handles state changes
|
||||
* can operate in pull mode or push mode
|
||||
* handles seeking in both modes
|
||||
* handles events (SEGMENT/EOS/FLUSH)
|
||||
* handles queries (POSITION/DURATION/SEEKING/FORMAT/CONVERT)
|
||||
* handles flushing
|
||||
|
||||
The purpose of this base class is to provide the basic functionality of
|
||||
a parser and share a lot of rather complex code.
|
||||
|
||||
# Description of the parsing mechanism:
|
||||
|
||||
## Set-up phase
|
||||
|
||||
* `BaseParse` calls `BaseParseClass.start`() to inform subclass
|
||||
that data processing is about to start now.
|
||||
|
||||
* `BaseParse` class calls `BaseParseClass.set_sink_caps`() to
|
||||
inform the subclass about incoming sinkpad caps. Subclass could
|
||||
already set the srcpad caps accordingly, but this might be delayed
|
||||
until calling `BaseParse::finish_frame` with a non-queued frame.
|
||||
|
||||
* At least at this point subclass needs to tell the `BaseParse` class
|
||||
how big data chunks it wants to receive (minimum frame size ). It can
|
||||
do this with `BaseParseExt::set_min_frame_size`.
|
||||
|
||||
* `BaseParse` class sets up appropriate data passing mode (pull/push)
|
||||
and starts to process the data.
|
||||
|
||||
## Parsing phase
|
||||
|
||||
* `BaseParse` gathers at least min_frame_size bytes of data either
|
||||
by pulling it from upstream or collecting buffers in an internal
|
||||
`Adapter`.
|
||||
|
||||
* A buffer of (at least) min_frame_size bytes is passed to subclass
|
||||
with `BaseParseClass.handle_frame`(). Subclass checks the contents
|
||||
and can optionally return `gst::FlowReturn::Ok` along with an amount of data
|
||||
to be skipped to find a valid frame (which will result in a
|
||||
subsequent DISCONT). If, otherwise, the buffer does not hold a
|
||||
complete frame, `BaseParseClass.handle_frame`() can merely return
|
||||
and will be called again when additional data is available. In push
|
||||
mode this amounts to an additional input buffer (thus minimal
|
||||
additional latency), in pull mode this amounts to some arbitrary
|
||||
reasonable buffer size increase.
|
||||
|
||||
Of course, `BaseParseExt::set_min_frame_size` could also be used if
|
||||
a very specific known amount of additional data is required. If,
|
||||
however, the buffer holds a complete valid frame, it can pass the
|
||||
size of this frame to `BaseParse::finish_frame`.
|
||||
|
||||
If acting as a converter, it can also merely indicate consumed input
|
||||
data while simultaneously providing custom output data. Note that
|
||||
baseclass performs some processing (such as tracking overall consumed
|
||||
data rate versus duration) for each finished frame, but other state
|
||||
is only updated upon each call to `BaseParseClass.handle_frame`()
|
||||
(such as tracking upstream input timestamp).
|
||||
|
||||
Subclass is also responsible for setting the buffer metadata
|
||||
(e.g. buffer timestamp and duration, or keyframe if applicable).
|
||||
(although the latter can also be done by `BaseParse` if it is
|
||||
appropriately configured, see below). Frame is provided with
|
||||
timestamp derived from upstream (as much as generally possible),
|
||||
duration obtained from configuration (see below), and offset
|
||||
if meaningful (in pull mode).
|
||||
|
||||
Note that `BaseParseClass.handle_frame`() might receive any small
|
||||
amount of input data when leftover data is being drained (e.g. at
|
||||
EOS).
|
||||
|
||||
* As part of finish frame processing, just prior to actually pushing
|
||||
the buffer in question, it is passed to
|
||||
`BaseParseClass.pre_push_frame`() which gives subclass yet one last
|
||||
chance to examine buffer metadata, or to send some custom (tag)
|
||||
events, or to perform custom (segment) filtering.
|
||||
|
||||
* During the parsing process `BaseParseClass` will handle both srcpad
|
||||
and sinkpad events. They will be passed to subclass if
|
||||
`BaseParseClass.event`() or `BaseParseClass.src_event`()
|
||||
implementations have been provided.
|
||||
|
||||
## Shutdown phase
|
||||
|
||||
* `BaseParse` class calls `BaseParseClass.stop`() to inform the
|
||||
subclass that data parsing will be stopped.
|
||||
|
||||
Subclass is responsible for providing pad template caps for source and
|
||||
sink pads. The pads need to be named "sink" and "src". It also needs to
|
||||
set the fixed caps on srcpad, when the format is ensured (e.g. when
|
||||
base class calls subclass' `BaseParseClass.set_sink_caps`() function).
|
||||
|
||||
This base class uses `gst::Format::Default` as a meaning of frames. So,
|
||||
subclass conversion routine needs to know that conversion from
|
||||
`gst::Format::Time` to `gst::Format::Default` must return the
|
||||
frame number that can be found from the given byte position.
|
||||
|
||||
`BaseParse` uses subclasses conversion methods also for seeking (or
|
||||
otherwise uses its own default one, see also below).
|
||||
|
||||
Subclass `start` and `stop` functions will be called to inform the beginning
|
||||
and end of data processing.
|
||||
|
||||
Things that subclass need to take care of:
|
||||
|
||||
* Provide pad templates
|
||||
* Fixate the source pad caps when appropriate
|
||||
* Inform base class how big data chunks should be retrieved. This is
|
||||
done with `BaseParseExt::set_min_frame_size` function.
|
||||
* Examine data chunks passed to subclass with
|
||||
`BaseParseClass.handle_frame`() and pass proper frame(s) to
|
||||
`BaseParse::finish_frame`, and setting src pad caps and timestamps
|
||||
on frame.
|
||||
* Provide conversion functions
|
||||
* Update the duration information with `BaseParse::set_duration`
|
||||
* Optionally passthrough using `BaseParseExt::set_passthrough`
|
||||
* Configure various baseparse parameters using
|
||||
`BaseParseExt::set_average_bitrate`, `BaseParseExt::set_syncable`
|
||||
and `BaseParse::set_frame_rate`.
|
||||
|
||||
* In particular, if subclass is unable to determine a duration, but
|
||||
parsing (or specs) yields a frames per seconds rate, then this can be
|
||||
provided to `BaseParse` to enable it to cater for buffer time
|
||||
metadata (which will be taken from upstream as much as
|
||||
possible). Internally keeping track of frame durations and respective
|
||||
sizes that have been pushed provides `BaseParse` with an estimated
|
||||
bitrate. A default `BaseParseClass.convert`() (used if not
|
||||
overridden) will then use these rates to perform obvious conversions.
|
||||
These rates are also used to update (estimated) duration at regular
|
||||
frame intervals.
|
||||
|
||||
# Implements
|
||||
|
||||
[`BaseParseExt`](trait.BaseParseExt.html), [`gst::ElementExt`](../gst/trait.ElementExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- trait BaseParseExt -->
|
||||
Trait containing all `BaseParse` methods.
|
||||
|
||||
# Implementors
|
||||
|
||||
[`BaseParse`](struct.BaseParse.html)
|
||||
<!-- trait BaseParseExt::fn add_index_entry -->
|
||||
Adds an entry to the index associating `offset` to `ts`. It is recommended
|
||||
to only add keyframe entries. `force` allows to bypass checks, such as
|
||||
whether the stream is (upstream) seekable, another entry is already "close"
|
||||
to the new entry, etc.
|
||||
## `offset`
|
||||
offset of entry
|
||||
## `ts`
|
||||
timestamp associated with offset
|
||||
## `key`
|
||||
whether entry refers to keyframe
|
||||
## `force`
|
||||
add entry disregarding sanity checks
|
||||
|
||||
# Returns
|
||||
|
||||
`gboolean` indicating whether entry was added
|
||||
<!-- trait BaseParseExt::fn convert_default -->
|
||||
Default implementation of `BaseParseClass.convert`().
|
||||
## `src_format`
|
||||
`gst::Format` describing the source format.
|
||||
## `src_value`
|
||||
Source value to be converted.
|
||||
## `dest_format`
|
||||
`gst::Format` defining the converted format.
|
||||
## `dest_value`
|
||||
Pointer where the conversion result will be put.
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if conversion was successful.
|
||||
<!-- trait BaseParseExt::fn drain -->
|
||||
Drains the adapter until it is empty. It decreases the min_frame_size to
|
||||
match the current adapter size and calls chain method until the adapter
|
||||
is emptied or chain returns with error.
|
||||
|
||||
Feature: `v1_12`
|
||||
|
||||
<!-- trait BaseParseExt::fn finish_frame -->
|
||||
Collects parsed data and pushes this downstream.
|
||||
Source pad caps must be set when this is called.
|
||||
|
||||
If `frame`'s out_buffer is set, that will be used as subsequent frame data.
|
||||
Otherwise, `size` samples will be taken from the input and used for output,
|
||||
and the output's metadata (timestamps etc) will be taken as (optionally)
|
||||
set by the subclass on `frame`'s (input) buffer (which is otherwise
|
||||
ignored for any but the above purpose/information).
|
||||
|
||||
Note that the latter buffer is invalidated by this call, whereas the
|
||||
caller retains ownership of `frame`.
|
||||
## `frame`
|
||||
a `BaseParseFrame`
|
||||
## `size`
|
||||
consumed input data represented by frame
|
||||
|
||||
# Returns
|
||||
|
||||
a `gst::FlowReturn` that should be escalated to caller (of caller)
|
||||
<!-- trait BaseParseExt::fn merge_tags -->
|
||||
Sets the parser subclass's tags and how they should be merged with any
|
||||
upstream stream tags. This will override any tags previously-set
|
||||
with `BaseParseExt::merge_tags`.
|
||||
|
||||
Note that this is provided for convenience, and the subclass is
|
||||
not required to use this and can still do tag handling on its own.
|
||||
## `tags`
|
||||
a `gst::TagList` to merge, or NULL to unset
|
||||
previously-set tags
|
||||
## `mode`
|
||||
the `gst::TagMergeMode` to use, usually `gst::TagMergeMode::Replace`
|
||||
<!-- trait BaseParseExt::fn push_frame -->
|
||||
Pushes the frame's buffer downstream, sends any pending events and
|
||||
does some timestamp and segment handling. Takes ownership of
|
||||
frame's buffer, though caller retains ownership of `frame`.
|
||||
|
||||
This must be called with sinkpad STREAM_LOCK held.
|
||||
## `frame`
|
||||
a `BaseParseFrame`
|
||||
|
||||
# Returns
|
||||
|
||||
`gst::FlowReturn`
|
||||
<!-- trait BaseParseExt::fn set_average_bitrate -->
|
||||
Optionally sets the average bitrate detected in media (if non-zero),
|
||||
e.g. based on metadata, as it will be posted to the application.
|
||||
|
||||
By default, announced average bitrate is estimated. The average bitrate
|
||||
is used to estimate the total duration of the stream and to estimate
|
||||
a seek position, if there's no index and the format is syncable
|
||||
(see `BaseParseExt::set_syncable`).
|
||||
## `bitrate`
|
||||
average bitrate in bits/second
|
||||
<!-- trait BaseParseExt::fn set_duration -->
|
||||
Sets the duration of the currently playing media. Subclass can use this
|
||||
when it is able to determine duration and/or notices a change in the media
|
||||
duration. Alternatively, if `interval` is non-zero (default), then stream
|
||||
duration is determined based on estimated bitrate, and updated every `interval`
|
||||
frames.
|
||||
## `fmt`
|
||||
`gst::Format`.
|
||||
## `duration`
|
||||
duration value.
|
||||
## `interval`
|
||||
how often to update the duration estimate based on bitrate, or 0.
|
||||
<!-- trait BaseParseExt::fn set_frame_rate -->
|
||||
If frames per second is configured, parser can take care of buffer duration
|
||||
and timestamping. When performing segment clipping, or seeking to a specific
|
||||
location, a corresponding decoder might need an initial `lead_in` and a
|
||||
following `lead_out` number of frames to ensure the desired segment is
|
||||
entirely filled upon decoding.
|
||||
## `fps_num`
|
||||
frames per second (numerator).
|
||||
## `fps_den`
|
||||
frames per second (denominator).
|
||||
## `lead_in`
|
||||
frames needed before a segment for subsequent decode
|
||||
## `lead_out`
|
||||
frames needed after a segment
|
||||
<!-- trait BaseParseExt::fn set_has_timing_info -->
|
||||
Set if frames carry timing information which the subclass can (generally)
|
||||
parse and provide. In particular, intrinsic (rather than estimated) time
|
||||
can be obtained following a seek.
|
||||
## `has_timing`
|
||||
whether frames carry timing information
|
||||
<!-- trait BaseParseExt::fn set_infer_ts -->
|
||||
By default, the base class might try to infer PTS from DTS and vice
|
||||
versa. While this is generally correct for audio data, it may not
|
||||
be otherwise. Sub-classes implementing such formats should disable
|
||||
timestamp inferring.
|
||||
## `infer_ts`
|
||||
`true` if parser should infer DTS/PTS from each other
|
||||
<!-- trait BaseParseExt::fn set_latency -->
|
||||
Sets the minimum and maximum (which may likely be equal) latency introduced
|
||||
by the parsing process. If there is such a latency, which depends on the
|
||||
particular parsing of the format, it typically corresponds to 1 frame duration.
|
||||
## `min_latency`
|
||||
minimum parse latency
|
||||
## `max_latency`
|
||||
maximum parse latency
|
||||
<!-- trait BaseParseExt::fn set_min_frame_size -->
|
||||
Subclass can use this function to tell the base class that it needs to
|
||||
be given buffers of at least `min_size` bytes.
|
||||
## `min_size`
|
||||
Minimum size in bytes of the data that this base class should
|
||||
give to subclass.
|
||||
<!-- trait BaseParseExt::fn set_passthrough -->
|
||||
Set if the nature of the format or configuration does not allow (much)
|
||||
parsing, and the parser should operate in passthrough mode (which only
|
||||
applies when operating in push mode). That is, incoming buffers are
|
||||
pushed through unmodified, i.e. no `BaseParseClass.handle_frame`()
|
||||
will be invoked, but `BaseParseClass.pre_push_frame`() will still be
|
||||
invoked, so subclass can perform as much or as little is appropriate for
|
||||
passthrough semantics in `BaseParseClass.pre_push_frame`().
|
||||
## `passthrough`
|
||||
`true` if parser should run in passthrough mode
|
||||
<!-- trait BaseParseExt::fn set_pts_interpolation -->
|
||||
By default, the base class will guess PTS timestamps using a simple
|
||||
interpolation (previous timestamp + duration), which is incorrect for
|
||||
data streams with reordering, where PTS can go backward. Sub-classes
|
||||
implementing such formats should disable PTS interpolation.
|
||||
## `pts_interpolate`
|
||||
`true` if parser should interpolate PTS timestamps
|
||||
<!-- trait BaseParseExt::fn set_syncable -->
|
||||
Set if frame starts can be identified. This is set by default and
|
||||
determines whether seeking based on bitrate averages
|
||||
is possible for a format/stream.
|
||||
## `syncable`
|
||||
set if frame starts can be identified
|
||||
<!-- trait BaseParseExt::fn set_ts_at_offset -->
|
||||
This function should only be called from a `handle_frame` implementation.
|
||||
|
||||
`BaseParse` creates initial timestamps for frames by using the last
|
||||
timestamp seen in the stream before the frame starts. In certain
|
||||
cases, the correct timestamps will occur in the stream after the
|
||||
start of the frame, but before the start of the actual picture data.
|
||||
This function can be used to set the timestamps based on the offset
|
||||
into the frame data that the picture starts.
|
||||
## `offset`
|
||||
offset into current buffer
|
||||
<!-- trait BaseParseExt::fn get_property_disable-passthrough -->
|
||||
If set to `true`, baseparse will unconditionally force parsing of the
|
||||
incoming data. This can be required in the rare cases where the incoming
|
||||
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
||||
force validation and parsing of the incoming data.
|
||||
If set to `false`, decision of whether to parse the data or not is up to
|
||||
the implementation (standard behaviour).
|
||||
<!-- trait BaseParseExt::fn set_property_disable-passthrough -->
|
||||
If set to `true`, baseparse will unconditionally force parsing of the
|
||||
incoming data. This can be required in the rare cases where the incoming
|
||||
side-data (caps, pts, dts, ...) is not trusted by the user and wants to
|
||||
force validation and parsing of the incoming data.
|
||||
If set to `false`, decision of whether to parse the data or not is up to
|
||||
the implementation (standard behaviour).
|
||||
<!-- struct BaseParseFrame -->
|
||||
Frame (context) data passed to each frame parsing virtual methods. In
|
||||
addition to providing the data to be checked for a valid frame or an already
|
||||
identified frame, it conveys additional metadata or control information
|
||||
from and to the subclass w.r.t. the particular frame in question (rather
|
||||
than global parameters). Some of these may apply to each parsing stage, others
|
||||
only to some a particular one. These parameters are effectively zeroed at start
|
||||
of each frame's processing, i.e. parsing virtual method invocation sequence.
|
||||
<!-- impl BaseParseFrame::fn new -->
|
||||
Allocates a new `BaseParseFrame`. This function is mainly for bindings,
|
||||
elements written in C should usually allocate the frame on the stack and
|
||||
then use `BaseParseFrame::init` to initialise it.
|
||||
## `buffer`
|
||||
a `gst::Buffer`
|
||||
## `flags`
|
||||
the flags
|
||||
## `overhead`
|
||||
number of bytes in this frame which should be counted as
|
||||
metadata overhead, ie. not used to calculate the average bitrate.
|
||||
Set to -1 to mark the entire frame as metadata. If in doubt, set to 0.
|
||||
|
||||
# Returns
|
||||
|
||||
a newly-allocated `BaseParseFrame`. Free with
|
||||
`BaseParseFrame::free` when no longer needed.
|
||||
<!-- impl BaseParseFrame::fn copy -->
|
||||
Copies a `BaseParseFrame`.
|
||||
|
||||
# Returns
|
||||
|
||||
A copy of `self`
|
||||
<!-- impl BaseParseFrame::fn free -->
|
||||
Frees the provided `self`.
|
||||
<!-- impl BaseParseFrame::fn init -->
|
||||
Sets a `BaseParseFrame` to initial state. Currently this means
|
||||
all public fields are zero-ed and a private flag is set to make
|
||||
sure `BaseParseFrame::free` only frees the contents but not
|
||||
the actual frame. Use this function to initialise a `BaseParseFrame`
|
||||
allocated on the stack.
|
||||
<!-- struct BaseSink -->
|
||||
`BaseSink` is the base class for sink elements in GStreamer, such as
|
||||
xvimagesink or filesink. It is a layer on top of `gst::Element` that provides a
|
||||
|
@ -918,6 +1341,17 @@ more details.
|
|||
The maximum time in nanoseconds that a buffer can be late
|
||||
before it is dropped and not rendered. A value of -1 means an
|
||||
unlimited time.
|
||||
<!-- trait BaseSinkExt::fn get_processing_deadline -->
|
||||
Get the processing deadline of `self`. see
|
||||
`BaseSinkExt::set_processing_deadline` for more information about
|
||||
the processing deadline.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the processing deadline
|
||||
<!-- trait BaseSinkExt::fn get_render_delay -->
|
||||
Get the render delay of `self`. see `BaseSinkExt::set_render_delay` for more
|
||||
information about the render delay.
|
||||
|
@ -1025,6 +1459,17 @@ buffer timestamp and the current clock time. A value of -1 means
|
|||
an unlimited time.
|
||||
## `max_lateness`
|
||||
the new max lateness value.
|
||||
<!-- trait BaseSinkExt::fn set_processing_deadline -->
|
||||
Maximum amount of time (in nanoseconds) that the pipeline can take
|
||||
for processing the buffer. This is added to the latency of live
|
||||
pipelines.
|
||||
|
||||
This function is usually called by subclasses.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `processing_deadline`
|
||||
the new processing deadline in nanoseconds.
|
||||
<!-- trait BaseSinkExt::fn set_qos_enabled -->
|
||||
Configures `self` to send Quality-of-Service events upstream.
|
||||
## `enabled`
|
||||
|
@ -1166,6 +1611,20 @@ rendering of the buffers when it would exceed to max-bitrate.
|
|||
Control the maximum amount of bits that will be rendered per second.
|
||||
Setting this property to a value bigger than 0 will make the sink delay
|
||||
rendering of the buffers when it would exceed to max-bitrate.
|
||||
<!-- trait BaseSinkExt::fn get_property_processing-deadline -->
|
||||
Maximum amount of time (in nanoseconds) that the pipeline can take
|
||||
for processing the buffer. This is added to the latency of live
|
||||
pipelines.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait BaseSinkExt::fn set_property_processing-deadline -->
|
||||
Maximum amount of time (in nanoseconds) that the pipeline can take
|
||||
for processing the buffer. This is added to the latency of live
|
||||
pipelines.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait BaseSinkExt::fn get_property_render-delay -->
|
||||
The additional delay between synchronisation and actual rendering of the
|
||||
media. This property will add additional latency to the device in order to
|
||||
|
@ -1401,6 +1860,12 @@ If `automatic_eos` is `true`, `self` will automatically go EOS if a buffer
|
|||
after the total size is returned. By default this is `true` but sources
|
||||
that can't return an authoritative size and only know that they're EOS
|
||||
when trying to read more should set this to `false`.
|
||||
|
||||
When `self` operates in `gst::Format::Time`, `BaseSrc` will send an EOS
|
||||
when a buffer outside of the currently configured segment is pushed if
|
||||
`automatic_eos` is `true`. Since 1.16, if `automatic_eos` is `false` an
|
||||
EOS will be pushed only when the `BaseSrc.create` implementation
|
||||
returns `gst::FlowReturn::Eos`.
|
||||
## `automatic_eos`
|
||||
automatic eos
|
||||
<!-- trait BaseSrcExt::fn set_blocksize -->
|
||||
|
@ -1730,8 +2195,8 @@ running_time.
|
|||
<!-- trait BaseTransformExt::fn update_src_caps -->
|
||||
Updates the srcpad caps and send the caps downstream. This function
|
||||
can be used by subclasses when they have already negotiated their caps
|
||||
but found a change in them (or computed new informations). This way,
|
||||
they can notify downstream about that change without loosing any
|
||||
but found a change in them (or computed new information). This way,
|
||||
they can notify downstream about that change without losing any
|
||||
buffer.
|
||||
## `updated_caps`
|
||||
An updated version of the srcpad caps to be pushed
|
||||
|
@ -1771,7 +2236,7 @@ These rules are:
|
|||
* `gst::FlowReturn::Ok`: otherwise
|
||||
|
||||
`gst::FlowReturn::Error` or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are
|
||||
returned immediatelly from the `FlowCombiner::update_flow` function.
|
||||
returned immediately from the `FlowCombiner::update_flow` function.
|
||||
<!-- impl FlowCombiner::fn new -->
|
||||
Creates a new `FlowCombiner`, use `FlowCombiner::free` to free it.
|
||||
|
||||
|
|
|
@ -876,7 +876,7 @@ a `guint` describing how many seconds to wait for `waits` to be true
|
|||
# Returns
|
||||
|
||||
a `gboolean` `true` if the waits have been registered, `false` if not.
|
||||
(Could be that it timed out waiting or that more waits then waits was found)
|
||||
(Could be that it timed out waiting or that more waits than waits was found)
|
||||
<!-- impl Harness::fn new -->
|
||||
Creates a new harness. Works like `Harness::new_with_padnames`, except it
|
||||
assumes the `gst::Element` sinkpad is named "sink" and srcpad is named "src"
|
||||
|
@ -1266,6 +1266,27 @@ which is earlier or equal to the time of the clock as given by
|
|||
MT safe.
|
||||
## `new_time`
|
||||
a `gst::ClockTime` later than that returned by `gst::ClockExt::get_time`
|
||||
<!-- impl TestClock::fn timed_wait_for_multiple_pending_ids -->
|
||||
Blocks until at least `count` clock notifications have been requested from
|
||||
`self`, or the timeout expires.
|
||||
|
||||
MT safe.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `count`
|
||||
the number of pending clock notifications to wait for
|
||||
## `timeout_ms`
|
||||
the timeout in milliseconds
|
||||
## `pending_list`
|
||||
Address
|
||||
of a `glib::List` pointer variable to store the list of pending `GstClockIDs`
|
||||
that expired, or `None`
|
||||
|
||||
# Returns
|
||||
|
||||
a `gboolean` `true` if the waits have been registered, `false` if not.
|
||||
(Could be that it timed out waiting or that more waits than waits was found)
|
||||
<!-- impl TestClock::fn wait_for_multiple_pending_ids -->
|
||||
Blocks until at least `count` clock notifications have been requested from
|
||||
`self`. There is no timeout for this wait, see the main description of
|
||||
|
|
|
@ -105,6 +105,14 @@ The Identifier or `None`
|
|||
|
||||
A reference to the wanted `Asset` or `None`
|
||||
<!-- impl Asset::fn request_async -->
|
||||
The `callback` will be called from a running `glib::MainLoop` which is iterating a `glib::MainContext`.
|
||||
Note that, users should ensure the `glib::MainContext`, since this method will notify
|
||||
`callback` from the thread which was associated with a thread default
|
||||
`glib::MainContext` at calling `ges_init`.
|
||||
For example, if a user wants non-default `glib::MainContext` to be associated
|
||||
with `callback`, `ges_init` must be called after g_main_context_push_thread_default ()
|
||||
with custom `glib::MainContext`.
|
||||
|
||||
Request a new `Asset` asyncronously, `callback` will be called when the materail is
|
||||
ready to be used or if an error occured.
|
||||
|
||||
|
@ -1163,7 +1171,7 @@ Informs you that a `Asset` could not be created. In case of
|
|||
missing GStreamer plugins, the error will be set to `GST_CORE_ERROR`
|
||||
`gst::CoreError::MissingPlugin`
|
||||
## `error`
|
||||
The `glib::Error` defining the error that accured, might be `None`
|
||||
The `glib::Error` defining the error that occured, might be `None`
|
||||
## `id`
|
||||
The `id` of the asset that failed loading
|
||||
## `extractable_type`
|
||||
|
@ -1515,6 +1523,22 @@ The `TrackElement` for which to choose the tracks it should land into
|
|||
# Returns
|
||||
|
||||
a `glib::PtrArray` of `Track`-s where that object should be added
|
||||
<!-- trait TimelineExt::fn connect_snapping_ended -->
|
||||
Will be emitted when the 2 `TrackElement` ended to snap
|
||||
## `obj1`
|
||||
the first `TrackElement` that was snapping.
|
||||
## `obj2`
|
||||
the second `TrackElement` that was snapping.
|
||||
## `position`
|
||||
the position where the two objects finally snapping.
|
||||
<!-- trait TimelineExt::fn connect_snapping_started -->
|
||||
Will be emitted when the 2 `TrackElement` first snapped
|
||||
## `obj1`
|
||||
the first `TrackElement` that was snapping.
|
||||
## `obj2`
|
||||
the second `TrackElement` that was snapping.
|
||||
## `position`
|
||||
the position where the two objects finally snapping.
|
||||
<!-- trait TimelineExt::fn connect_track_added -->
|
||||
Will be emitted after the track was added to the timeline.
|
||||
## `track`
|
||||
|
@ -1606,6 +1630,13 @@ The `duration` of `self`
|
|||
# Returns
|
||||
|
||||
The `inpoint` of `self`
|
||||
<!-- trait TimelineElementExt::fn get_layer_priority -->
|
||||
|
||||
# Returns
|
||||
|
||||
The priority of the first layer the element is in (note that only
|
||||
groups can span over several layers). `GES_TIMELINE_ELEMENT_NO_LAYER_PRIORITY`
|
||||
means that the element is not in a layer.
|
||||
<!-- trait TimelineElementExt::fn get_max_duration -->
|
||||
|
||||
# Returns
|
||||
|
@ -1787,15 +1818,27 @@ Note that if the timeline snap-distance property of the timeline containing
|
|||
`self` is set, `self` will properly snap to its neighboors.
|
||||
## `duration`
|
||||
the duration in `gst::ClockTime`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `duration` could be set.
|
||||
<!-- trait TimelineElementExt::fn set_inpoint -->
|
||||
Set the in-point, that is the moment at which the `self` will start
|
||||
outputting data from its contents.
|
||||
## `inpoint`
|
||||
the in-point in `gst::ClockTime`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `inpoint` could be set.
|
||||
<!-- trait TimelineElementExt::fn set_max_duration -->
|
||||
Set the maximun duration of the object
|
||||
## `maxduration`
|
||||
the maximum duration in `gst::ClockTime`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `maxduration` could be set.
|
||||
<!-- trait TimelineElementExt::fn set_name -->
|
||||
Sets the name of object, or gives `self` a guaranteed unique name (if name is NULL).
|
||||
This function makes a copy of the provided name, so the caller retains ownership
|
||||
|
@ -1822,6 +1865,10 @@ To set `Effect` priorities `ClipExt::set_top_effect_index` should
|
|||
be used.
|
||||
## `priority`
|
||||
the priority
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `priority` could be set.
|
||||
<!-- trait TimelineElementExt::fn set_start -->
|
||||
Set the position of the object in its containing layer.
|
||||
|
||||
|
@ -1829,6 +1876,10 @@ Note that if the snapping-distance property of the timeline containing
|
|||
`self` is set, `self` will properly snap to the edges around `start`.
|
||||
## `start`
|
||||
the position in `gst::ClockTime`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `start` could be set.
|
||||
<!-- trait TimelineElementExt::fn set_timeline -->
|
||||
Sets the timeline of `self` to `timeline`.
|
||||
## `timeline`
|
||||
|
@ -2358,7 +2409,9 @@ the `gst::ControlSource` to set on the binding.
|
|||
## `property_name`
|
||||
The name of the property to control.
|
||||
## `binding_type`
|
||||
The type of binding to create. Only "direct" is available for now.
|
||||
The type of binding to create. Currently the following values are valid:
|
||||
- "direct": See `gst_direct_control_binding_new`
|
||||
- "direct-absolute": See `gst_direct_control_binding_new_absolute`
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -2446,7 +2499,7 @@ The location of the file/resource to use.
|
|||
The `UriClipAsset` is a special `Asset` that lets you handle
|
||||
the media file to use inside the GStreamer Editing Services. It has APIs that
|
||||
let you get information about the medias. Also, the tags found in the media file are
|
||||
set as Metadatas of the Asser.
|
||||
set as Metadata of the Asset.
|
||||
|
||||
# Implements
|
||||
|
||||
|
@ -2457,6 +2510,14 @@ Trait containing all `UriClipAsset` methods.
|
|||
# Implementors
|
||||
|
||||
[`UriClipAsset`](struct.UriClipAsset.html)
|
||||
<!-- impl UriClipAsset::fn finish -->
|
||||
Finalize the request of an async `UriClipAsset`
|
||||
## `res`
|
||||
The `gio::AsyncResult` from which to get the newly created `UriClipAsset`
|
||||
|
||||
# Returns
|
||||
|
||||
The `UriClipAsset` previously requested
|
||||
<!-- impl UriClipAsset::fn new -->
|
||||
Creates a `UriClipAsset` for `uri`
|
||||
|
||||
|
@ -2470,7 +2531,7 @@ filesource_asset_loaded_cb (GESAsset * source, GAsyncResult * res, gpointer user
|
|||
GError *error = NULL;
|
||||
GESUriClipAsset *filesource_asset;
|
||||
|
||||
filesource_asset = GES_URI_CLIP_ASSET (ges_asset_request_finish (res, &error));
|
||||
filesource_asset = ges_uri_clip_asset_finish (res, &error);
|
||||
if (filesource_asset) {
|
||||
g_print ("The file: %s is usable as a FileSource, it is%s an image and lasts %" GST_TIME_FORMAT,
|
||||
ges_asset_get_id (GES_ASSET (filesource_asset))
|
||||
|
@ -2504,8 +2565,8 @@ You can also use multi file uris for `MultiFileSource`.
|
|||
|
||||
# Returns
|
||||
|
||||
A reference to the requested asset or
|
||||
`None` if an error happened
|
||||
A reference to the requested asset or `None` if
|
||||
an error happened
|
||||
<!-- trait UriClipAssetExt::fn get_duration -->
|
||||
Gets duration of the file represented by `self`
|
||||
|
||||
|
|
|
@ -5,15 +5,27 @@ context. It also provided some wrappers around `gst_base::BaseTransform`'s
|
|||
`start`, `stop` and `set_caps` virtual methods that ensure an OpenGL context
|
||||
is available and current in the calling thread.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
# Implements
|
||||
|
||||
[`GLBaseFilterExt`](trait.GLBaseFilterExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- trait GLBaseFilterExt -->
|
||||
Trait containing all `GLBaseFilter` methods.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
# Implementors
|
||||
|
||||
[`GLBaseFilter`](struct.GLBaseFilter.html)
|
||||
<!-- trait GLBaseFilterExt::fn find_gl_context -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
Whether an OpenGL context could be retrieved or created successfully
|
||||
<!-- struct GLBuffer -->
|
||||
GstGLBuffer is a `gst::Memory` subclass providing support for the mapping of
|
||||
GL buffers.
|
||||
|
@ -44,7 +56,7 @@ a `GLContext`
|
|||
|
||||
a new `GLColorConvert` object
|
||||
<!-- impl GLColorConvert::fn fixate_caps -->
|
||||
Provides an implementation of `gst_base::BaseTransformClass::fixate_caps`()
|
||||
Provides an implementation of `gst_base::BaseTransformClass.fixate_caps`()
|
||||
## `context`
|
||||
a `GLContext` to use for transforming `caps`
|
||||
## `direction`
|
||||
|
@ -58,7 +70,7 @@ the `gst::Caps` to fixate
|
|||
|
||||
the fixated `gst::Caps`
|
||||
<!-- impl GLColorConvert::fn transform_caps -->
|
||||
Provides an implementation of `gst_base::BaseTransformClass::transform_caps`()
|
||||
Provides an implementation of `gst_base::BaseTransformClass.transform_caps`()
|
||||
## `context`
|
||||
a `GLContext` to use for transforming `caps`
|
||||
## `direction`
|
||||
|
@ -72,7 +84,7 @@ a set of filter `gst::Caps`
|
|||
|
||||
the converted `gst::Caps`
|
||||
<!-- impl GLColorConvert::fn decide_allocation -->
|
||||
Provides an implementation of `GstBaseTransfromClass::decide_allocation`()
|
||||
Provides an implementation of `gst_base::BaseTransformClass.decide_allocation`()
|
||||
## `query`
|
||||
a completed ALLOCATION `gst::Query`
|
||||
|
||||
|
@ -299,7 +311,7 @@ Gets the OpenGL platform that used by `self`.
|
|||
The platform specific backing OpenGL context
|
||||
<!-- trait GLContextExt::fn get_gl_platform_version -->
|
||||
Get the version of the OpenGL platform (GLX, EGL, etc) used. Only valid
|
||||
after a call to `gst_gl_context_create_context`.
|
||||
after a call to `GLContextExt::create`.
|
||||
## `major`
|
||||
return for the major version
|
||||
## `minor`
|
||||
|
@ -377,6 +389,30 @@ a `GLSLProfile`
|
|||
# Returns
|
||||
|
||||
Whether `self` supports the combination of `version` with `profile`
|
||||
<!-- trait GLContextExt::fn supports_precision -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `version`
|
||||
a `GLSLVersion`
|
||||
## `profile`
|
||||
a `GLSLProfile`
|
||||
|
||||
# Returns
|
||||
|
||||
whether `self` supports the 'precision' specifier in GLSL shaders
|
||||
<!-- trait GLContextExt::fn supports_precision_highp -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `version`
|
||||
a `GLSLVersion`
|
||||
## `profile`
|
||||
a `GLSLProfile`
|
||||
|
||||
# Returns
|
||||
|
||||
whether `self` supports the 'precision highp' specifier in GLSL shaders
|
||||
<!-- trait GLContextExt::fn swap_buffers -->
|
||||
Swap the front and back buffers on the window attached to `self`.
|
||||
This will display the frame on the next refresh cycle.
|
||||
|
@ -432,7 +468,7 @@ Trait containing all `GLDisplay` methods.
|
|||
|
||||
# Implementors
|
||||
|
||||
[`GLDisplayEGL`](struct.GLDisplayEGL.html), [`GLDisplay`](struct.GLDisplay.html)
|
||||
[`GLDisplayEGL`](struct.GLDisplayEGL.html), [`GLDisplayWayland`](struct.GLDisplayWayland.html), [`GLDisplayX11`](struct.GLDisplayX11.html), [`GLDisplay`](struct.GLDisplay.html)
|
||||
<!-- impl GLDisplay::fn new -->
|
||||
|
||||
# Returns
|
||||
|
@ -551,6 +587,54 @@ pointer to a display (or 0)
|
|||
# Returns
|
||||
|
||||
A `EGLDisplay` or `EGL_NO_DISPLAY`
|
||||
<!-- struct GLDisplayWayland -->
|
||||
the contents of a `GLDisplayWayland` are private and should only be accessed
|
||||
through the provided API
|
||||
|
||||
# Implements
|
||||
|
||||
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- impl GLDisplayWayland::fn new -->
|
||||
Create a new `GLDisplayWayland` from the wayland display name. See `wl_display_connect`
|
||||
for details on what is a valid name.
|
||||
## `name`
|
||||
a display name
|
||||
|
||||
# Returns
|
||||
|
||||
a new `GLDisplayWayland` or `None`
|
||||
<!-- impl GLDisplayWayland::fn new_with_display -->
|
||||
Creates a new display connection from a wl_display Display.
|
||||
## `display`
|
||||
an existing, wayland display
|
||||
|
||||
# Returns
|
||||
|
||||
a new `GLDisplayWayland`
|
||||
<!-- struct GLDisplayX11 -->
|
||||
the contents of a `GLDisplayX11` are private and should only be accessed
|
||||
through the provided API
|
||||
|
||||
# Implements
|
||||
|
||||
[`GLDisplayExt`](trait.GLDisplayExt.html), [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- impl GLDisplayX11::fn new -->
|
||||
Create a new `GLDisplayX11` from the x11 display name. See XOpenDisplay()
|
||||
for details on what is a valid name.
|
||||
## `name`
|
||||
a display name
|
||||
|
||||
# Returns
|
||||
|
||||
a new `GLDisplayX11` or `None`
|
||||
<!-- impl GLDisplayX11::fn new_with_display -->
|
||||
Creates a new display connection from a X11 Display.
|
||||
## `display`
|
||||
an existing, x11 display
|
||||
|
||||
# Returns
|
||||
|
||||
a new `GLDisplayX11`
|
||||
<!-- enum GLFormat -->
|
||||
<!-- enum GLFormat::variant Luminance -->
|
||||
Single component replicated across R, G, and B textures
|
||||
|
@ -575,12 +659,18 @@ Three 8-bit components stored in the R, G, and B
|
|||
<!-- enum GLFormat::variant Rgb565 -->
|
||||
Three components of bit depth 5, 6 and 5 stored in the R, G,
|
||||
and B texture components respectively.
|
||||
<!-- enum GLFormat::variant Rgb16 -->
|
||||
Three 16-bit components stored in the R, G, and B
|
||||
texture components
|
||||
<!-- enum GLFormat::variant Rgba -->
|
||||
Four components stored in the R, G, B, and A texture
|
||||
components respectively.
|
||||
<!-- enum GLFormat::variant Rgba8 -->
|
||||
Four 8-bit components stored in the R, G, B, and A texture
|
||||
components respectively.
|
||||
<!-- enum GLFormat::variant Rgba16 -->
|
||||
Four 16-bit components stored in the R, G, B, and A texture
|
||||
components respectively.
|
||||
<!-- enum GLFormat::variant DepthComponent16 -->
|
||||
A single 16-bit component for depth information.
|
||||
<!-- enum GLFormat::variant Depth24Stencil8 -->
|
||||
|
@ -895,6 +985,58 @@ a `glib::Error`
|
|||
# Returns
|
||||
|
||||
a new `shader` with the specified stages.
|
||||
<!-- impl GLShader::fn string_fragment_external_oes_get_default -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `context`
|
||||
a `GLContext`
|
||||
## `version`
|
||||
a `GLSLVersion`
|
||||
## `profile`
|
||||
a `GLSLProfile`
|
||||
|
||||
# Returns
|
||||
|
||||
a passthrough shader string for copying an input external-oes
|
||||
texture to the output
|
||||
<!-- impl GLShader::fn string_fragment_get_default -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `context`
|
||||
a `GLContext`
|
||||
## `version`
|
||||
a `GLSLVersion`
|
||||
## `profile`
|
||||
a `GLSLProfile`
|
||||
|
||||
# Returns
|
||||
|
||||
a passthrough shader string for copying an input texture to
|
||||
the output
|
||||
<!-- impl GLShader::fn string_get_highest_precision -->
|
||||
Generates a shader string that defines the precision of float types in
|
||||
GLSL shaders. This is particularly needed for fragment shaders in a
|
||||
GLSL ES context where there is no default precision specified.
|
||||
|
||||
Practically, this will return the string 'precision mediump float'
|
||||
or 'precision highp float' depending on if high precision floats are
|
||||
determined to be supported.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `context`
|
||||
a `GLContext`
|
||||
## `version`
|
||||
a `GLSLVersion`
|
||||
## `profile`
|
||||
a `GLSLProfile`
|
||||
|
||||
# Returns
|
||||
|
||||
a shader string defining the precision of float types based on
|
||||
`context`, `version` and `profile`
|
||||
<!-- impl GLShader::fn attach -->
|
||||
Attaches `stage` to `self`. `stage` must have been successfully compiled
|
||||
with `GLSLStage::compile`.
|
||||
|
@ -1221,6 +1363,12 @@ Mark's `self` as being used for the next GL draw command.
|
|||
Note: must be called in the GL thread and `self` must have been linked.
|
||||
<!-- enum GLStereoDownmix -->
|
||||
Output anaglyph type to generate when downmixing to mono
|
||||
<!-- enum GLStereoDownmix::variant GreenMagentaDubois -->
|
||||
Dubois optimised Green-Magenta anaglyph
|
||||
<!-- enum GLStereoDownmix::variant RedCyanDubois -->
|
||||
Dubois optimised Red-Cyan anaglyph
|
||||
<!-- enum GLStereoDownmix::variant AmberBlueDubois -->
|
||||
Dubois optimised Amber-Blue anaglyph
|
||||
<!-- enum GLTextureTarget -->
|
||||
<!-- enum GLTextureTarget::variant None -->
|
||||
no texture target
|
||||
|
@ -1298,7 +1446,7 @@ Convert stereoscopic/multiview video using fragment shaders.
|
|||
|
||||
a new `GLViewConvert`
|
||||
<!-- impl GLViewConvert::fn fixate_caps -->
|
||||
Provides an implementation of `gst_base::BaseTransformClass::fixate_caps`()
|
||||
Provides an implementation of `gst_base::BaseTransformClass.fixate_caps`()
|
||||
## `direction`
|
||||
a `gst::PadDirection`
|
||||
## `caps`
|
||||
|
@ -1350,7 +1498,7 @@ a `gst::Buffer`
|
|||
|
||||
a `gst::FlowReturn`
|
||||
<!-- impl GLViewConvert::fn transform_caps -->
|
||||
Provides an implementation of `gst_base::BaseTransformClass::transform_caps`()
|
||||
Provides an implementation of `gst_base::BaseTransformClass.transform_caps`()
|
||||
## `direction`
|
||||
a `gst::PadDirection`
|
||||
## `caps`
|
||||
|
@ -1381,6 +1529,15 @@ a `GLDisplay`
|
|||
# Returns
|
||||
|
||||
a new `GLWindow` using `display`'s connection
|
||||
<!-- trait GLWindowExt::fn controls_viewport -->
|
||||
Checks if `self` controls the GL viewport.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `self` controls the GL viewport, otherwise `false`
|
||||
<!-- trait GLWindowExt::fn draw -->
|
||||
Redraw the window contents. Implementations should invoke the draw callback.
|
||||
<!-- trait GLWindowExt::fn get_context -->
|
||||
|
@ -1411,8 +1568,16 @@ for them. This method allows you to disable events handling completely
|
|||
from the `self`.
|
||||
## `handle_events`
|
||||
a `gboolean` indicating if events should be handled or not.
|
||||
<!-- trait GLWindowExt::fn queue_resize -->
|
||||
Queue resizing of `self`.
|
||||
<!-- trait GLWindowExt::fn quit -->
|
||||
Quit the runloop's execution.
|
||||
<!-- trait GLWindowExt::fn resize -->
|
||||
Resize `self` to the given `width` and `height`.
|
||||
## `width`
|
||||
new width
|
||||
## `height`
|
||||
new height
|
||||
<!-- trait GLWindowExt::fn run -->
|
||||
Start the execution of the runloop.
|
||||
<!-- trait GLWindowExt::fn send_message -->
|
||||
|
|
|
@ -522,13 +522,7 @@ Encoding profiles for containers. Keeps track of a list of `EncodingProfile`
|
|||
|
||||
# Implements
|
||||
|
||||
[`EncodingContainerProfileExt`](trait.EncodingContainerProfileExt.html), [`EncodingProfileExt`](trait.EncodingProfileExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- trait EncodingContainerProfileExt -->
|
||||
Trait containing all `EncodingContainerProfile` methods.
|
||||
|
||||
# Implementors
|
||||
|
||||
[`EncodingContainerProfile`](struct.EncodingContainerProfile.html)
|
||||
[`EncodingProfileExt`](trait.EncodingProfileExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- impl EncodingContainerProfile::fn new -->
|
||||
Creates a new `EncodingContainerProfile`.
|
||||
## `name`
|
||||
|
@ -544,7 +538,7 @@ The preset to use for this profile.
|
|||
# Returns
|
||||
|
||||
The newly created `EncodingContainerProfile`.
|
||||
<!-- trait EncodingContainerProfileExt::fn add_profile -->
|
||||
<!-- impl EncodingContainerProfile::fn add_profile -->
|
||||
Add a `EncodingProfile` to the list of profiles handled by `self`.
|
||||
|
||||
No copy of `profile` will be made, if you wish to use it elsewhere after this
|
||||
|
@ -555,7 +549,7 @@ the `EncodingProfile` to add.
|
|||
# Returns
|
||||
|
||||
`true` if the `stream` was properly added, else `false`.
|
||||
<!-- trait EncodingContainerProfileExt::fn contains_profile -->
|
||||
<!-- impl EncodingContainerProfile::fn contains_profile -->
|
||||
Checks if `self` contains a `EncodingProfile` identical to
|
||||
`profile`.
|
||||
## `profile`
|
||||
|
@ -565,7 +559,7 @@ a `EncodingProfile`
|
|||
|
||||
`true` if `self` contains a `EncodingProfile` identical
|
||||
to `profile`, else `false`.
|
||||
<!-- trait EncodingContainerProfileExt::fn get_profiles -->
|
||||
<!-- impl EncodingContainerProfile::fn get_profiles -->
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -610,11 +604,12 @@ The new `EncodingProfile` or `None`.
|
|||
<!-- trait EncodingProfileExt::fn copy -->
|
||||
Makes a deep copy of `self`
|
||||
|
||||
Feature: `v1_12`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
The copy of `self`
|
||||
|
||||
Since 1.12
|
||||
<!-- trait EncodingProfileExt::fn get_allow_dynamic_output -->
|
||||
Get whether the format that has been negotiated in at some point can be renegotiated
|
||||
later during the encoding.
|
||||
|
@ -699,8 +694,6 @@ Set `description` as the given description for the `self`. A copy of
|
|||
the description to set on the profile
|
||||
<!-- trait EncodingProfileExt::fn set_enabled -->
|
||||
Set whether the profile should be used or not.
|
||||
|
||||
Since 1.6
|
||||
## `enabled`
|
||||
`false` to disable `profile`, `true` to enable it
|
||||
<!-- trait EncodingProfileExt::fn set_format -->
|
||||
|
|
|
@ -28,8 +28,6 @@ a `Player` configuration
|
|||
# Returns
|
||||
|
||||
current position update interval in milliseconds
|
||||
|
||||
Since 1.10
|
||||
<!-- impl Player::fn config_get_seek_accurate -->
|
||||
## `config`
|
||||
a `Player` configuration
|
||||
|
@ -37,8 +35,6 @@ a `Player` configuration
|
|||
# Returns
|
||||
|
||||
`true` if accurate seeking is enabled
|
||||
|
||||
Since 1.12
|
||||
<!-- impl Player::fn config_get_user_agent -->
|
||||
Return the user agent which has been configured using
|
||||
`Player::config_set_user_agent` if any.
|
||||
|
@ -48,11 +44,9 @@ a `Player` configuration
|
|||
# Returns
|
||||
|
||||
the configured agent, or `None`
|
||||
Since 1.10
|
||||
<!-- impl Player::fn config_set_position_update_interval -->
|
||||
set interval in milliseconds between two position-updated signals.
|
||||
pass 0 to stop updating the position.
|
||||
Since 1.10
|
||||
## `config`
|
||||
a `Player` configuration
|
||||
## `interval`
|
||||
|
@ -75,8 +69,6 @@ accurate seek or not
|
|||
Set the user agent to pass to the server if `player` needs to connect
|
||||
to a server during playback. This is typically used when playing HTTP
|
||||
or RTSP streams.
|
||||
|
||||
Since 1.10
|
||||
## `config`
|
||||
a `Player` configuration
|
||||
## `agent`
|
||||
|
@ -123,8 +115,6 @@ Retrieve the current value of audio-video-offset property
|
|||
# Returns
|
||||
|
||||
The current value of audio-video-offset in nanoseconds
|
||||
|
||||
Since 1.10
|
||||
<!-- impl Player::fn get_color_balance -->
|
||||
Retrieve the current value of the indicated `type_`.
|
||||
## `type_`
|
||||
|
@ -143,8 +133,6 @@ or it must be freed after usage.
|
|||
|
||||
a copy of the current configuration of `self`. Use
|
||||
`gst::Structure::free` after usage or `Player::set_config`.
|
||||
|
||||
Since 1.10
|
||||
<!-- impl Player::fn get_current_audio_track -->
|
||||
A Function to get current audio `PlayerAudioInfo` instance.
|
||||
|
||||
|
@ -230,6 +218,15 @@ current subtitle URI
|
|||
|
||||
URI of the current external subtitle.
|
||||
`g_free` after usage.
|
||||
<!-- impl Player::fn get_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 get_uri -->
|
||||
Gets the URI of the currently-playing stream.
|
||||
|
||||
|
@ -252,8 +249,6 @@ Additional configuration
|
|||
# Returns
|
||||
|
||||
Current video snapshot sample or `None` on failure
|
||||
|
||||
Since 1.12
|
||||
<!-- impl Player::fn get_volume -->
|
||||
Returns the current volume level, as a percentage between 0 and 1.
|
||||
|
||||
|
@ -291,8 +286,6 @@ Enable or disable the current audio track.
|
|||
TRUE or FALSE
|
||||
<!-- impl Player::fn set_audio_video_offset -->
|
||||
Sets audio-video-offset property by value of `offset`
|
||||
|
||||
Since 1.10
|
||||
## `offset`
|
||||
`gint64` in nanoseconds
|
||||
<!-- impl Player::fn set_color_balance -->
|
||||
|
@ -318,7 +311,6 @@ a `gst::Structure`
|
|||
# Returns
|
||||
|
||||
`true` when the configuration could be set.
|
||||
Since 1.10
|
||||
<!-- impl Player::fn set_multiview_flags -->
|
||||
Sets the current value of the indicated mode `type_` to the passed
|
||||
value.
|
||||
|
@ -356,6 +348,13 @@ gst_player_set_subtitle_track_enabled(`self`, TRUE) so the subtitles are actuall
|
|||
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`
|
||||
|
@ -672,12 +671,6 @@ Window handle to use or `None`
|
|||
Window handle to use or `None`
|
||||
## `video_sink`
|
||||
the custom video_sink element to be set for the video renderer
|
||||
|
||||
# Returns
|
||||
|
||||
|
||||
|
||||
Since 1.12
|
||||
<!-- 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.
|
||||
|
|
|
@ -177,6 +177,14 @@ users.
|
|||
|
||||
the `RTSPToken` of `self`. `gst_rtsp_token_unref` after
|
||||
usage.
|
||||
<!-- trait RTSPAuthExt::fn get_realm -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the `realm` of `self`
|
||||
<!-- trait RTSPAuthExt::fn get_supported_methods -->
|
||||
Gets the supported authentication methods of `self`.
|
||||
|
||||
|
@ -206,6 +214,24 @@ Get the `gio::TlsDatabase` used for verifying client certificate.
|
|||
|
||||
the `gio::TlsDatabase` of `self`. `gobject::ObjectExt::unref` after
|
||||
usage.
|
||||
<!-- trait RTSPAuthExt::fn parse_htdigest -->
|
||||
Parse the contents of the file at `path` and enable the privileges
|
||||
listed in `token` for the users it describes.
|
||||
|
||||
The format of the file is expected to match the format described by
|
||||
<https://en.wikipedia.org/wiki/Digest_access_authentication`The_.htdigest_file`>,
|
||||
as output by the `htdigest` command.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `path`
|
||||
Path to the htdigest file
|
||||
## `token`
|
||||
authorisation token
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the file was successfully parsed, `false` otherwise.
|
||||
<!-- trait RTSPAuthExt::fn remove_basic -->
|
||||
Removes `basic` authentication token.
|
||||
## `basic`
|
||||
|
@ -222,6 +248,11 @@ Set the default `RTSPToken` to `token` in `self`. The default token will
|
|||
be used for unauthenticated users.
|
||||
## `token`
|
||||
a `RTSPToken`
|
||||
<!-- trait RTSPAuthExt::fn set_realm -->
|
||||
Set the `realm` of `self`
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPAuthExt::fn set_supported_methods -->
|
||||
Sets the supported authentication `methods` for `self`.
|
||||
|
||||
|
@ -244,8 +275,6 @@ a `gio::TlsCertificate`
|
|||
Sets the certificate database that is used to verify peer certificates.
|
||||
If set to `None` (the default), then peer certificate validation will always
|
||||
set the `gio::TlsCertificateFlags::UnknownCa` error.
|
||||
|
||||
Since 1.6
|
||||
## `database`
|
||||
a `gio::TlsDatabase`
|
||||
<!-- trait RTSPAuthExt::fn connect_accept_certificate -->
|
||||
|
@ -397,12 +426,34 @@ sent to the client. `user_data` is passed to `func` and `notify` is called when
|
|||
|
||||
By default, the client will send the messages on the `gst_rtsp::RTSPConnection` that
|
||||
was configured with `RTSPClient::attach` was called.
|
||||
|
||||
It is only allowed to set either a `send_func` or a `send_messages_func`
|
||||
but not both at the same time.
|
||||
## `func`
|
||||
a `GstRTSPClientSendFunc`
|
||||
## `user_data`
|
||||
user data passed to `func`
|
||||
## `notify`
|
||||
called when `user_data` is no longer in use
|
||||
<!-- trait RTSPClientExt::fn set_send_messages_func -->
|
||||
Set `func` as the callback that will be called when new messages needs to be
|
||||
sent to the client. `user_data` is passed to `func` and `notify` is called when
|
||||
`user_data` is no longer in use.
|
||||
|
||||
By default, the client will send the messages on the `gst_rtsp::RTSPConnection` that
|
||||
was configured with `RTSPClient::attach` was called.
|
||||
|
||||
It is only allowed to set either a `send_func` or a `send_messages_func`
|
||||
but not both at the same time.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `func`
|
||||
a `GstRTSPClientSendMessagesFunc`
|
||||
## `user_data`
|
||||
user data passed to `func`
|
||||
## `notify`
|
||||
called when `user_data` is no longer in use
|
||||
<!-- trait RTSPClientExt::fn set_session_pool -->
|
||||
Set `pool` as the sessionpool for `self` which it will use to find
|
||||
or allocate sessions. the sessionpool is usually inherited from the server
|
||||
|
@ -587,6 +638,14 @@ current thread that is handling the request for a client.
|
|||
# Returns
|
||||
|
||||
a `RTSPContext`
|
||||
<!-- enum RTSPFilterResult -->
|
||||
Possible return values for `RTSPSessionPoolExt::filter`.
|
||||
<!-- enum RTSPFilterResult::variant Remove -->
|
||||
Remove session
|
||||
<!-- enum RTSPFilterResult::variant Keep -->
|
||||
Keep session in the pool
|
||||
<!-- enum RTSPFilterResult::variant Ref -->
|
||||
Ref session in the result list
|
||||
<!-- struct RTSPMedia -->
|
||||
A class that contains the GStreamer element along with a list of
|
||||
`RTSPStream` objects that can produce data.
|
||||
|
@ -627,6 +686,9 @@ element of `self`, and create `GstRTSPStreams` for them.
|
|||
<!-- trait RTSPMediaExt::fn complete_pipeline -->
|
||||
Add a receiver and sender parts to the pipeline based on the transport from
|
||||
SETUP.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `transports`
|
||||
a list of `gst_rtsp::RTSPTransport`
|
||||
|
||||
|
@ -684,6 +746,14 @@ Get the clock that is used by the pipeline in `self`.
|
|||
# Returns
|
||||
|
||||
the `gst::Clock` used by `self`. unref after usage.
|
||||
<!-- trait RTSPMediaExt::fn get_do_retransmission -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
Whether retransmission requests will be sent
|
||||
<!-- trait RTSPMediaExt::fn get_element -->
|
||||
Get the element that was used when constructing `self`.
|
||||
|
||||
|
@ -696,6 +766,15 @@ Get the latency that is used for receiving media.
|
|||
# Returns
|
||||
|
||||
latency in milliseconds
|
||||
<!-- trait RTSPMediaExt::fn get_max_mcast_ttl -->
|
||||
Get the the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the maximum time-to-live value of outgoing multicast packets.
|
||||
<!-- trait RTSPMediaExt::fn get_multicast_iface -->
|
||||
Get the multicast interface used for `self`.
|
||||
|
||||
|
@ -791,6 +870,15 @@ a `gst_sdp::SDPMessage`
|
|||
# Returns
|
||||
|
||||
TRUE on success.
|
||||
<!-- trait RTSPMediaExt::fn is_bind_mcast_address -->
|
||||
Check if multicast sockets are configured to be bound to multicast addresses.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if multicast sockets are configured to be bound to multicast addresses.
|
||||
<!-- trait RTSPMediaExt::fn is_eos_shutdown -->
|
||||
Check if the pipeline for `self` will send an EOS down the pipeline before
|
||||
unpreparing.
|
||||
|
@ -857,7 +945,11 @@ a `gst_rtsp::RTSPTimeRange`
|
|||
`true` on success.
|
||||
<!-- trait RTSPMediaExt::fn seek_full -->
|
||||
Seek the pipeline of `self` to `range`. `self` must be prepared with
|
||||
`RTSPMediaExt::prepare`.
|
||||
`RTSPMediaExt::prepare`. In order to perform the seek operation,
|
||||
the pipeline must contain all needed transport parts (transport sinks).
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `range`
|
||||
a `gst_rtsp::RTSPTimeRange`
|
||||
## `flags`
|
||||
|
@ -866,10 +958,30 @@ The minimal set of `gst::SeekFlags` to use
|
|||
# Returns
|
||||
|
||||
`true` on success.
|
||||
<!-- trait RTSPMediaExt::fn seekable -->
|
||||
Check if the pipeline for `self` seek and up to what point in time,
|
||||
it can seek.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
-1 if the stream is not seekable, 0 if seekable only to the beginning
|
||||
and > 0 to indicate the longest duration between any two random access points.
|
||||
`G_MAXINT64` means any value is possible.
|
||||
<!-- trait RTSPMediaExt::fn set_address_pool -->
|
||||
configure `pool` to be used as the address pool of `self`.
|
||||
## `pool`
|
||||
a `RTSPAddressPool`
|
||||
<!-- trait RTSPMediaExt::fn set_bind_mcast_address -->
|
||||
Decide whether the multicast socket should be bound to a multicast address or
|
||||
INADDR_ANY.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `bind_mcast_addr`
|
||||
the new value
|
||||
<!-- trait RTSPMediaExt::fn set_buffer_size -->
|
||||
Set the kernel UDP buffer size.
|
||||
## `size`
|
||||
|
@ -878,6 +990,11 @@ the new value
|
|||
Configure the clock used for the media.
|
||||
## `clock`
|
||||
`gst::Clock` to be used
|
||||
<!-- trait RTSPMediaExt::fn set_do_retransmission -->
|
||||
Set whether retransmission requests will be sent
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPMediaExt::fn set_eos_shutdown -->
|
||||
Set or unset if an EOS event will be sent to the pipeline for `self` before
|
||||
it is unprepared.
|
||||
|
@ -887,6 +1004,17 @@ the new value
|
|||
Configure the latency used for receiving media.
|
||||
## `latency`
|
||||
latency in milliseconds
|
||||
<!-- trait RTSPMediaExt::fn set_max_mcast_ttl -->
|
||||
Set the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `ttl`
|
||||
the new multicast ttl value
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the requested ttl has been set successfully.
|
||||
<!-- trait RTSPMediaExt::fn set_multicast_iface -->
|
||||
configure `multicast_iface` to be used for `self`.
|
||||
## `multicast_iface`
|
||||
|
@ -1083,6 +1211,14 @@ of all medias created from this factory.
|
|||
# Returns
|
||||
|
||||
The GstClock
|
||||
<!-- trait RTSPMediaFactoryExt::fn get_do_retransmission -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
Whether retransmission requests will be sent for receiving media
|
||||
<!-- trait RTSPMediaFactoryExt::fn get_latency -->
|
||||
Get the latency that is used for receiving media
|
||||
|
||||
|
@ -1097,6 +1233,15 @@ default prepare vmethod.
|
|||
|
||||
the configured launch description. `g_free` after
|
||||
usage.
|
||||
<!-- trait RTSPMediaFactoryExt::fn get_max_mcast_ttl -->
|
||||
Get the the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the maximum time-to-live value of outgoing multicast packets.
|
||||
<!-- trait RTSPMediaFactoryExt::fn get_media_gtype -->
|
||||
Return the GType of the GstRTSPMedia subclass this
|
||||
factory will create.
|
||||
|
@ -1150,6 +1295,15 @@ methods.
|
|||
# Returns
|
||||
|
||||
The transport mode.
|
||||
<!-- trait RTSPMediaFactoryExt::fn is_bind_mcast_address -->
|
||||
Check if multicast sockets are configured to be bound to multicast addresses.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if multicast sockets are configured to be bound to multicast addresses.
|
||||
<!-- trait RTSPMediaFactoryExt::fn is_eos_shutdown -->
|
||||
Get if media created from this factory will have an EOS event sent to the
|
||||
pipeline before shutdown.
|
||||
|
@ -1167,6 +1321,14 @@ Get if media created from this factory can be shared between clients.
|
|||
configure `pool` to be used as the address pool of `self`.
|
||||
## `pool`
|
||||
a `RTSPAddressPool`
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_bind_mcast_address -->
|
||||
Decide whether the multicast socket should be bound to a multicast address or
|
||||
INADDR_ANY.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `bind_mcast_addr`
|
||||
the new value
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_buffer_size -->
|
||||
Set the kernel UDP buffer size.
|
||||
## `size`
|
||||
|
@ -1176,6 +1338,12 @@ Configures a specific clock to be used by the pipelines
|
|||
of all medias created from this factory.
|
||||
## `clock`
|
||||
the clock to be used by the media factory
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_do_retransmission -->
|
||||
Set whether retransmission requests will be sent for
|
||||
receiving media
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_eos_shutdown -->
|
||||
Configure if media created from this factory will have an EOS sent to the
|
||||
pipeline before shutdown.
|
||||
|
@ -1197,6 +1365,17 @@ The description should return a pipeline with payloaders named pay0, pay1,
|
|||
etc.. Each of the payloaders will result in a stream.
|
||||
## `launch`
|
||||
the launch description
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_max_mcast_ttl -->
|
||||
Set the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `ttl`
|
||||
the new multicast ttl value
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the requested ttl has been set successfully.
|
||||
<!-- trait RTSPMediaFactoryExt::fn set_media_gtype -->
|
||||
Configure the GType of the GstRTSPMedia subclass to
|
||||
create (by default, overridden construct vmethods
|
||||
|
@ -1787,6 +1966,9 @@ valid until the session of `self` is unreffed.
|
|||
<!-- trait RTSPSessionMediaExt::fn get_transports -->
|
||||
Get a list of all available `RTSPStreamTransport` in this session.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
a
|
||||
|
@ -1952,6 +2134,25 @@ a `gst::Pad`
|
|||
# Returns
|
||||
|
||||
a new `RTSPStream`
|
||||
<!-- trait RTSPStreamExt::fn add_multicast_client_address -->
|
||||
Add multicast client address to stream. At this point, the sockets that
|
||||
will stream RTP and RTCP data to `destination` are supposed to be
|
||||
allocated.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `destination`
|
||||
a multicast address to add
|
||||
## `rtp_port`
|
||||
RTP port
|
||||
## `rtcp_port`
|
||||
RTCP port
|
||||
## `family`
|
||||
socket family
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `destination` can be addedd and handled by `self`.
|
||||
<!-- trait RTSPStreamExt::fn add_transport -->
|
||||
Add the transport in `trans` to `self`. The media of `self` will
|
||||
then also be send to the values configured in `trans`.
|
||||
|
@ -1980,6 +2181,9 @@ Whether to use client settings or not
|
|||
<!-- trait RTSPStreamExt::fn complete_stream -->
|
||||
Add a receiver and sender part to the pipeline based on the transport from
|
||||
SETUP.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `transport`
|
||||
a `gst_rtsp::RTSPTransport`
|
||||
|
||||
|
@ -2030,6 +2234,15 @@ Get the previous joined bin with `RTSPStreamExt::join_bin` or NULL.
|
|||
# Returns
|
||||
|
||||
the joined bin or NULL.
|
||||
<!-- trait RTSPStreamExt::fn get_max_mcast_ttl -->
|
||||
Get the the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the maximum time-to-live value of outgoing multicast packets.
|
||||
<!-- trait RTSPStreamExt::fn get_mtu -->
|
||||
Get the configured MTU in the payloader of `self`.
|
||||
|
||||
|
@ -2048,6 +2261,15 @@ the `gio::SocketFamily`
|
|||
the `RTSPAddress` of `self`
|
||||
or `None` when no address could be allocated. `RTSPAddress::free`
|
||||
after usage.
|
||||
<!-- trait RTSPStreamExt::fn get_multicast_client_addresses -->
|
||||
Get all multicast client addresses that RTP data will be sent to
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
A comma separated list of host:port pairs with destinations
|
||||
<!-- trait RTSPStreamExt::fn get_multicast_iface -->
|
||||
Get the multicast interface used for `self`.
|
||||
|
||||
|
@ -2093,6 +2315,9 @@ Get the amount of time to store retransmission data.
|
|||
the amount of time to store retransmission data.
|
||||
<!-- trait RTSPStreamExt::fn get_rtcp_multicast_socket -->
|
||||
Get the multicast RTCP socket from `self` for a `family`.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
## `family`
|
||||
the socket family
|
||||
|
||||
|
@ -2119,6 +2344,7 @@ the socket family
|
|||
# Returns
|
||||
|
||||
the multicast RTP socket or `None` if no
|
||||
|
||||
socket could be allocated for `family`. Unref after usage
|
||||
<!-- trait RTSPStreamExt::fn get_rtp_socket -->
|
||||
Get the RTP socket from `self` for a `family`.
|
||||
|
@ -2182,6 +2408,30 @@ Get the SSRC used by the RTP session of this stream. This function can only
|
|||
be called when `self` has been joined.
|
||||
## `ssrc`
|
||||
result ssrc
|
||||
<!-- trait RTSPStreamExt::fn get_ulpfec_percentage -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the amount of redundancy applied when creating ULPFEC
|
||||
protection packets.
|
||||
<!-- trait RTSPStreamExt::fn get_ulpfec_pt -->
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
the payload type used for ULPFEC protection packets
|
||||
<!-- trait RTSPStreamExt::fn handle_keymgmt -->
|
||||
Parse and handle a KeyMgmt header.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `keymgmt`
|
||||
a keymgmt header
|
||||
<!-- trait RTSPStreamExt::fn has_control -->
|
||||
Check if `self` has the control string `control`.
|
||||
## `control`
|
||||
|
@ -2190,6 +2440,15 @@ a control string
|
|||
# Returns
|
||||
|
||||
`true` is `self` has `control` as the control string
|
||||
<!-- trait RTSPStreamExt::fn is_bind_mcast_address -->
|
||||
Check if multicast sockets are configured to be bound to multicast addresses.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if multicast sockets are configured to be bound to multicast addresses.
|
||||
<!-- trait RTSPStreamExt::fn is_blocking -->
|
||||
Check if `self` is blocking on a `gst::Buffer`.
|
||||
|
||||
|
@ -2207,18 +2466,27 @@ Checks whether the stream is complete, contains the receiver and the sender
|
|||
parts. As the stream contains sink(s) element(s), it's possible to perform
|
||||
seek operations on it.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the stream contains at least one sink element.
|
||||
<!-- trait RTSPStreamExt::fn is_receiver -->
|
||||
Checks whether the stream is a receiver.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the stream is a receiver and `false` otherwise.
|
||||
<!-- trait RTSPStreamExt::fn is_sender -->
|
||||
Checks whether the stream is a sender.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the stream is a sender and `false` otherwise.
|
||||
|
@ -2308,11 +2576,40 @@ a `RTSPStreamTransport`
|
|||
# Returns
|
||||
|
||||
`true` if `trans` was removed
|
||||
<!-- trait RTSPStreamExt::fn request_aux_receiver -->
|
||||
Creating a rtxreceive bin
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `sessid`
|
||||
the session id
|
||||
|
||||
# Returns
|
||||
|
||||
a `gst::Element`.
|
||||
<!-- trait RTSPStreamExt::fn request_aux_sender -->
|
||||
Creating a rtxsend bin
|
||||
## `sessid`
|
||||
the session id
|
||||
|
||||
# Returns
|
||||
|
||||
a `gst::Element`.
|
||||
<!-- trait RTSPStreamExt::fn request_ulpfec_decoder -->
|
||||
Creating a rtpulpfecdec element
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
a `gst::Element`.
|
||||
<!-- trait RTSPStreamExt::fn request_ulpfec_encoder -->
|
||||
Creating a rtpulpfecenc element
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
a `gst::Element`.
|
||||
|
@ -2332,10 +2629,14 @@ a TTL
|
|||
# Returns
|
||||
|
||||
the `RTSPAddress` of `self` or `None` when
|
||||
the address could be reserved. `RTSPAddress::free` after usage.
|
||||
the address could not be reserved. `RTSPAddress::free` after
|
||||
usage.
|
||||
<!-- trait RTSPStreamExt::fn seekable -->
|
||||
Checks whether the individual `self` is seekable.
|
||||
|
||||
Feature: `v1_14`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if `self` is seekable, else `false`.
|
||||
|
@ -2343,6 +2644,14 @@ Checks whether the individual `self` is seekable.
|
|||
configure `pool` to be used as the address pool of `self`.
|
||||
## `pool`
|
||||
a `RTSPAddressPool`
|
||||
<!-- trait RTSPStreamExt::fn set_bind_mcast_address -->
|
||||
Decide whether the multicast socket should be bound to a multicast address or
|
||||
INADDR_ANY.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `bind_mcast_addr`
|
||||
the new value
|
||||
<!-- trait RTSPStreamExt::fn set_blocked -->
|
||||
Blocks or unblocks the dataflow on `self`.
|
||||
## `blocked`
|
||||
|
@ -2373,6 +2682,17 @@ a control string
|
|||
Configure the dscp qos of the outgoing sockets to `dscp_qos`.
|
||||
## `dscp_qos`
|
||||
a new dscp qos value (0-63, or -1 to disable)
|
||||
<!-- trait RTSPStreamExt::fn set_max_mcast_ttl -->
|
||||
Set the maximum time-to-live value of outgoing multicast packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `ttl`
|
||||
the new multicast ttl value
|
||||
|
||||
# Returns
|
||||
|
||||
`true` if the requested ttl has been set successfully.
|
||||
<!-- trait RTSPStreamExt::fn set_mtu -->
|
||||
Configure the mtu in the payloader of `self` to `mtu`.
|
||||
## `mtu`
|
||||
|
@ -2407,6 +2727,17 @@ a `guint`
|
|||
Set the amount of time to store retransmission packets.
|
||||
## `time`
|
||||
a `gst::ClockTime`
|
||||
<!-- trait RTSPStreamExt::fn set_ulpfec_percentage -->
|
||||
Sets the amount of redundancy to apply when creating ULPFEC
|
||||
protection packets.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPStreamExt::fn set_ulpfec_pt -->
|
||||
Set the payload type to be used for ULPFEC protection packets
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPStreamExt::fn transport_filter -->
|
||||
Call `func` for each transport managed by `self`. The result value of `func`
|
||||
determines what happens to the transport. `func` will be called with `self`
|
||||
|
@ -2445,6 +2776,17 @@ a `gst::Caps` with crypto info
|
|||
# Returns
|
||||
|
||||
`true` if `crypto` could be updated
|
||||
<!-- trait RTSPStreamExt::fn verify_mcast_ttl -->
|
||||
Check if the requested multicast ttl value is allowed.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `ttl`
|
||||
a requested multicast ttl
|
||||
|
||||
# Returns
|
||||
|
||||
TRUE if the requested ttl value is allowed.
|
||||
<!-- struct RTSPStreamTransport -->
|
||||
A Transport description for a stream
|
||||
|
||||
|
@ -2506,6 +2848,11 @@ Check if `self` is timed out.
|
|||
`true` if `self` timed out.
|
||||
<!-- trait RTSPStreamTransportExt::fn keep_alive -->
|
||||
Signal the installed keep_alive callback for `self`.
|
||||
<!-- trait RTSPStreamTransportExt::fn message_sent -->
|
||||
Signal the installed message_sent callback for `self`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- trait RTSPStreamTransportExt::fn recv_data -->
|
||||
Receive `buffer` on `channel` `self`.
|
||||
## `channel`
|
||||
|
@ -2524,6 +2871,17 @@ a `gst::Buffer`
|
|||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- trait RTSPStreamTransportExt::fn send_rtcp_list -->
|
||||
Send `buffer_list` to the installed RTCP callback for `self`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `buffer_list`
|
||||
a `gst::Buffer`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- trait RTSPStreamTransportExt::fn send_rtp -->
|
||||
Send `buffer` to the installed RTP callback for `self`.
|
||||
|
@ -2532,6 +2890,17 @@ a `gst::Buffer`
|
|||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- trait RTSPStreamTransportExt::fn send_rtp_list -->
|
||||
Send `buffer_list` to the installed RTP callback for `self`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `buffer_list`
|
||||
a `gst::BufferList`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- trait RTSPStreamTransportExt::fn set_active -->
|
||||
Activate or deactivate datatransfer configured in `self`.
|
||||
|
@ -2561,6 +2930,28 @@ a callback called when the receiver is active
|
|||
user data passed to callback
|
||||
## `notify`
|
||||
called with the user_data when no longer needed.
|
||||
<!-- trait RTSPStreamTransportExt::fn set_list_callbacks -->
|
||||
Install callbacks that will be called when data for a stream should be sent
|
||||
to a client. This is usually used when sending RTP/RTCP over TCP.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `send_rtp_list`
|
||||
a callback called when RTP should be sent
|
||||
## `send_rtcp_list`
|
||||
a callback called when RTCP should be sent
|
||||
## `user_data`
|
||||
user data passed to callbacks
|
||||
## `notify`
|
||||
called with the user_data when no longer needed.
|
||||
<!-- trait RTSPStreamTransportExt::fn set_message_sent -->
|
||||
Install a callback that will be called when a message has been sent on `self`.
|
||||
## `message_sent`
|
||||
a callback called when a message has been sent
|
||||
## `user_data`
|
||||
user data passed to callback
|
||||
## `notify`
|
||||
called with the user_data when no longer needed
|
||||
<!-- trait RTSPStreamTransportExt::fn set_timed_out -->
|
||||
Set the timed out state of `self` to `timedout`
|
||||
## `timedout`
|
||||
|
|
|
@ -8,6 +8,7 @@ basic authentication
|
|||
<!-- enum RTSPAuthMethod::variant Digest -->
|
||||
digest authentication
|
||||
<!-- struct RTSPAuthParam -->
|
||||
RTSP Authentication parameter
|
||||
<!-- enum RTSPFamily -->
|
||||
The possible network families.
|
||||
<!-- enum RTSPFamily::variant None -->
|
||||
|
|
|
@ -1,565 +1 @@
|
|||
<!-- file * -->
|
||||
<!-- enum MIKEYCacheType -->
|
||||
The different cache types
|
||||
<!-- enum MIKEYCacheType::variant None -->
|
||||
The envelope key MUST NOT be cached
|
||||
<!-- enum MIKEYCacheType::variant Always -->
|
||||
The envelope key MUST be cached
|
||||
<!-- enum MIKEYCacheType::variant ForCsb -->
|
||||
The envelope key MUST be cached, but only
|
||||
to be used for the specific CSB.
|
||||
<!-- enum MIKEYEncAlg -->
|
||||
The encryption algorithm used to encrypt the Encr data field
|
||||
<!-- enum MIKEYEncAlg::variant Null -->
|
||||
no encryption
|
||||
<!-- enum MIKEYEncAlg::variant AesCm128 -->
|
||||
AES-CM using a 128-bit key
|
||||
<!-- enum MIKEYEncAlg::variant AesKw128 -->
|
||||
AES Key Wrap using a 128-bit key
|
||||
<!-- enum MIKEYKVType -->
|
||||
The key validity type
|
||||
<!-- enum MIKEYKVType::variant Null -->
|
||||
No specific usage rule
|
||||
<!-- enum MIKEYKVType::variant Spi -->
|
||||
The key is associated with the SPI/MKI
|
||||
<!-- enum MIKEYKVType::variant Interval -->
|
||||
The key has a start and expiration time
|
||||
<!-- enum MIKEYKeyDataType -->
|
||||
The type of key.
|
||||
<!-- enum MIKEYKeyDataType::variant Tgk -->
|
||||
a TEK Generation Key
|
||||
<!-- enum MIKEYKeyDataType::variant Tek -->
|
||||
Traffic-Encrypting Key
|
||||
<!-- enum MIKEYMacAlg -->
|
||||
Specifies the authentication algorithm used
|
||||
<!-- enum MIKEYMacAlg::variant Null -->
|
||||
no authentication
|
||||
<!-- enum MIKEYMacAlg::variant HmacSha1160 -->
|
||||
HMAC-SHA-1-160
|
||||
<!-- enum MIKEYMapType -->
|
||||
Specifies the method of uniquely mapping Crypto Sessions to the security
|
||||
protocol sessions.
|
||||
<!-- struct MIKEYMessage -->
|
||||
Structure holding the information of the MIKEY message
|
||||
<!-- impl MIKEYMessage::fn new -->
|
||||
Make a new MIKEY message.
|
||||
|
||||
# Returns
|
||||
|
||||
a new `MIKEYMessage` on success
|
||||
<!-- impl MIKEYMessage::fn new_from_bytes -->
|
||||
Make a new `MIKEYMessage` from `bytes`.
|
||||
## `bytes`
|
||||
a `glib::Bytes`
|
||||
## `info`
|
||||
a `MIKEYDecryptInfo`
|
||||
|
||||
# Returns
|
||||
|
||||
a new `MIKEYMessage`
|
||||
<!-- impl MIKEYMessage::fn new_from_caps -->
|
||||
Makes mikey message including:
|
||||
- Security Policy Payload
|
||||
- Key Data Transport Payload
|
||||
- Key Data Sub-Payload
|
||||
## `caps`
|
||||
a `gst::Caps`, including SRTP parameters (srtp/srtcp cipher, authorization, key data)
|
||||
|
||||
# Returns
|
||||
|
||||
a `MIKEYMessage`,
|
||||
or `None` if there is no srtp information in the caps.
|
||||
<!-- impl MIKEYMessage::fn new_from_data -->
|
||||
Parse `size` bytes from `data` into a `MIKEYMessage`. `info` contains the
|
||||
parameters to decrypt and verify the data.
|
||||
## `data`
|
||||
bytes to read
|
||||
## `size`
|
||||
length of `data`
|
||||
## `info`
|
||||
`MIKEYDecryptInfo`
|
||||
|
||||
# Returns
|
||||
|
||||
a `MIKEYMessage` on success or `None` when parsing failed and
|
||||
`error` will be set.
|
||||
<!-- impl MIKEYMessage::fn add_cs_srtp -->
|
||||
Add a Crypto policy for SRTP to `self`.
|
||||
## `policy`
|
||||
The security policy applied for the stream with `ssrc`
|
||||
## `ssrc`
|
||||
the SSRC that must be used for the stream
|
||||
## `roc`
|
||||
current rollover counter
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_payload -->
|
||||
Add a new payload to `self`.
|
||||
## `payload`
|
||||
a `MIKEYPayload`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_pke -->
|
||||
Add a new PKE payload to `self` with the given parameters.
|
||||
## `C`
|
||||
envelope key cache indicator
|
||||
## `data_len`
|
||||
the length of `data`
|
||||
## `data`
|
||||
the encrypted envelope key
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_rand -->
|
||||
Add a new RAND payload to `self` with the given parameters.
|
||||
## `len`
|
||||
the length of `rand`
|
||||
## `rand`
|
||||
random data
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_rand_len -->
|
||||
Add a new RAND payload to `self` with `len` random bytes.
|
||||
## `len`
|
||||
length
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_t -->
|
||||
Add a new T payload to `self` with the given parameters.
|
||||
## `type_`
|
||||
specifies the timestamp type used
|
||||
## `ts_value`
|
||||
The timestamp value of the specified `type_`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn add_t_now_ntp_utc -->
|
||||
Add a new T payload to `self` that contains the current time
|
||||
in NTP-UTC format.
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn base64_encode -->
|
||||
|
||||
# Returns
|
||||
|
||||
a `gchar`, base64-encoded data
|
||||
<!-- impl MIKEYMessage::fn find_payload -->
|
||||
Find the `nth` occurence of the payload with `type_` in `self`.
|
||||
## `type_`
|
||||
a `MIKEYPayloadType`
|
||||
## `nth`
|
||||
payload to find
|
||||
|
||||
# Returns
|
||||
|
||||
the `nth` `MIKEYPayload` of `type_`.
|
||||
<!-- impl MIKEYMessage::fn get_cs_srtp -->
|
||||
Get the policy information of `self` at `idx`.
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
a `MIKEYMapSRTP`
|
||||
<!-- impl MIKEYMessage::fn get_n_cs -->
|
||||
Get the number of crypto sessions in `self`.
|
||||
|
||||
# Returns
|
||||
|
||||
the number of crypto sessions
|
||||
<!-- impl MIKEYMessage::fn get_n_payloads -->
|
||||
Get the number of payloads in `self`.
|
||||
|
||||
# Returns
|
||||
|
||||
the number of payloads in `self`
|
||||
<!-- impl MIKEYMessage::fn get_payload -->
|
||||
Get the `MIKEYPayload` at `idx` in `self`
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
the `MIKEYPayload` at `idx`. The payload
|
||||
remains valid for as long as it is part of `self`.
|
||||
<!-- impl MIKEYMessage::fn insert_cs_srtp -->
|
||||
Insert a Crypto Session map for SRTP in `self` at `idx`
|
||||
|
||||
When `idx` is -1, the policy will be appended.
|
||||
## `idx`
|
||||
the index to insert at
|
||||
## `map`
|
||||
the map info
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn insert_payload -->
|
||||
Insert the `payload` at index `idx` in `self`. If `idx` is -1, the payload
|
||||
will be appended to `self`.
|
||||
## `idx`
|
||||
an index
|
||||
## `payload`
|
||||
a `MIKEYPayload`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn remove_cs_srtp -->
|
||||
Remove the SRTP policy at `idx`.
|
||||
## `idx`
|
||||
the index to remove
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn remove_payload -->
|
||||
Remove the payload in `self` at `idx`
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn replace_cs_srtp -->
|
||||
Replace a Crypto Session map for SRTP in `self` at `idx` with `map`.
|
||||
## `idx`
|
||||
the index to insert at
|
||||
## `map`
|
||||
the map info
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn replace_payload -->
|
||||
Replace the payload at `idx` in `self` with `payload`.
|
||||
## `idx`
|
||||
an index
|
||||
## `payload`
|
||||
a `MIKEYPayload`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn set_info -->
|
||||
Set the information in `self`.
|
||||
## `version`
|
||||
a version
|
||||
## `type_`
|
||||
a `MIKEYType`
|
||||
## `V`
|
||||
verify flag
|
||||
## `prf_func`
|
||||
the `MIKEYPRFFunc` function to use
|
||||
## `CSB_id`
|
||||
the Crypto Session Bundle id
|
||||
## `map_type`
|
||||
the `GstMIKEYCSIDMapType`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYMessage::fn to_bytes -->
|
||||
Convert `self` to a `glib::Bytes`.
|
||||
## `info`
|
||||
a `MIKEYEncryptInfo`
|
||||
|
||||
# Returns
|
||||
|
||||
a new `glib::Bytes` for `self`.
|
||||
<!-- impl MIKEYMessage::fn to_caps -->
|
||||
|
||||
Feature: `v1_8_1`
|
||||
|
||||
## `caps`
|
||||
a `gst::Caps` to be filled with SRTP parameters (srtp/srtcp cipher, authorization, key data)
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- enum MIKEYPRFFunc -->
|
||||
The PRF function that has been/will be used for key derivation
|
||||
<!-- enum MIKEYPRFFunc::variant MikeyPrfMikey1 -->
|
||||
MIKEY-1 PRF function
|
||||
<!-- struct MIKEYPayload -->
|
||||
Hold the common fields for all payloads
|
||||
<!-- impl MIKEYPayload::fn new -->
|
||||
Make a new `MIKEYPayload` with `type_`.
|
||||
## `type_`
|
||||
a `MIKEYPayloadType`
|
||||
|
||||
# Returns
|
||||
|
||||
a new `MIKEYPayload` or `None` on failure.
|
||||
<!-- impl MIKEYPayload::fn kemac_add_sub -->
|
||||
Add a new sub payload to `self`.
|
||||
## `newpay`
|
||||
a `MIKEYPayload` to add
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success.
|
||||
<!-- impl MIKEYPayload::fn kemac_get_n_sub -->
|
||||
Get the number of sub payloads of `self`. `self` should be of type
|
||||
`MIKEYPayloadType::Kemac`.
|
||||
|
||||
# Returns
|
||||
|
||||
the number of sub payloads in `self`
|
||||
<!-- impl MIKEYPayload::fn kemac_get_sub -->
|
||||
Get the sub payload of `self` at `idx`. `self` should be of type
|
||||
`MIKEYPayloadType::Kemac`.
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
the `MIKEYPayload` at `idx`.
|
||||
<!-- impl MIKEYPayload::fn kemac_remove_sub -->
|
||||
Remove the sub payload at `idx` in `self`.
|
||||
## `idx`
|
||||
the index to remove
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success.
|
||||
<!-- impl MIKEYPayload::fn kemac_set -->
|
||||
Set the KEMAC parameters. `self` should point to a `MIKEYPayloadType::Kemac`
|
||||
payload.
|
||||
## `enc_alg`
|
||||
the `MIKEYEncAlg`
|
||||
## `mac_alg`
|
||||
a `MIKEYMacAlg`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn key_data_set_interval -->
|
||||
Set the key validity period in the `MIKEYPayloadType::KeyData` `self`.
|
||||
## `vf_len`
|
||||
the length of `vf_data`
|
||||
## `vf_data`
|
||||
the Valid From data
|
||||
## `vt_len`
|
||||
the length of `vt_data`
|
||||
## `vt_data`
|
||||
the Valid To data
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn key_data_set_key -->
|
||||
Set `key_len` bytes of `key_data` of type `key_type` as the key for the
|
||||
`MIKEYPayloadType::KeyData` `self`.
|
||||
## `key_type`
|
||||
a `MIKEYKeyDataType`
|
||||
## `key_len`
|
||||
the length of `key_data`
|
||||
## `key_data`
|
||||
the key of type `key_type`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn key_data_set_salt -->
|
||||
Set the salt key data. If `salt_len` is 0 and `salt_data` is `None`, the
|
||||
salt data will be removed.
|
||||
## `salt_len`
|
||||
the length of `salt_data`
|
||||
## `salt_data`
|
||||
the salt
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn key_data_set_spi -->
|
||||
Set the SPI/MKI validity in the `MIKEYPayloadType::KeyData` `self`.
|
||||
## `spi_len`
|
||||
the length of `spi_data`
|
||||
## `spi_data`
|
||||
the SPI/MKI data
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn pke_set -->
|
||||
Set the PKE values in `self`. `self` must be of type
|
||||
`MIKEYPayloadType::Pke`.
|
||||
## `C`
|
||||
envelope key cache indicator
|
||||
## `data_len`
|
||||
the length of `data`
|
||||
## `data`
|
||||
the encrypted envelope key
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn rand_set -->
|
||||
Set the random values in a `MIKEYPayloadType::Rand` `self`.
|
||||
## `len`
|
||||
the length of `rand`
|
||||
## `rand`
|
||||
random values
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn sp_add_param -->
|
||||
Add a new parameter to the `MIKEYPayloadType::Sp` `self` with `type_`, `len`
|
||||
and `val`.
|
||||
## `type_`
|
||||
a type
|
||||
## `len`
|
||||
a length
|
||||
## `val`
|
||||
`len` bytes of data
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn sp_get_n_params -->
|
||||
Get the number of security policy parameters in a `MIKEYPayloadType::Sp`
|
||||
`self`.
|
||||
|
||||
# Returns
|
||||
|
||||
the number of parameters in `self`
|
||||
<!-- impl MIKEYPayload::fn sp_get_param -->
|
||||
Get the Security Policy parameter in a `MIKEYPayloadType::Sp` `self`
|
||||
at `idx`.
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
the `MIKEYPayloadSPParam` at `idx` in `self`
|
||||
<!-- impl MIKEYPayload::fn sp_remove_param -->
|
||||
Remove the Security Policy parameters from a `MIKEYPayloadType::Sp`
|
||||
`self` at `idx`.
|
||||
## `idx`
|
||||
an index
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn sp_set -->
|
||||
Set the Security Policy parameters for `self`.
|
||||
## `policy`
|
||||
the policy number
|
||||
## `proto`
|
||||
a `MIKEYSecProto`
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- impl MIKEYPayload::fn t_set -->
|
||||
Set the timestamp in a `MIKEYPayloadType::T` `self`.
|
||||
## `type_`
|
||||
the `MIKEYTSType`
|
||||
## `ts_value`
|
||||
the timestamp value
|
||||
|
||||
# Returns
|
||||
|
||||
`true` on success
|
||||
<!-- enum MIKEYPayloadType -->
|
||||
Different MIKEY Payload types.
|
||||
<!-- enum MIKEYPayloadType::variant Last -->
|
||||
Last payload
|
||||
<!-- enum MIKEYPayloadType::variant Kemac -->
|
||||
Key data transport payload
|
||||
<!-- enum MIKEYPayloadType::variant Pke -->
|
||||
Envelope data payload
|
||||
<!-- enum MIKEYPayloadType::variant Dh -->
|
||||
DH data payload
|
||||
<!-- enum MIKEYPayloadType::variant Sign -->
|
||||
Signature payload
|
||||
<!-- enum MIKEYPayloadType::variant T -->
|
||||
Timestamp payload
|
||||
<!-- enum MIKEYPayloadType::variant Id -->
|
||||
ID payload
|
||||
<!-- enum MIKEYPayloadType::variant Cert -->
|
||||
Certificate Payload
|
||||
<!-- enum MIKEYPayloadType::variant Chash -->
|
||||
Cert hash payload
|
||||
<!-- enum MIKEYPayloadType::variant V -->
|
||||
Verfication message payload
|
||||
<!-- enum MIKEYPayloadType::variant Sp -->
|
||||
Security Policy payload
|
||||
<!-- enum MIKEYPayloadType::variant Rand -->
|
||||
RAND payload
|
||||
<!-- enum MIKEYPayloadType::variant Err -->
|
||||
Error payload
|
||||
<!-- enum MIKEYPayloadType::variant KeyData -->
|
||||
Key data sub-payload
|
||||
<!-- enum MIKEYPayloadType::variant GenExt -->
|
||||
General Extension Payload
|
||||
<!-- enum MIKEYSecProto -->
|
||||
Specifies the security protocol
|
||||
<!-- enum MIKEYSecSRTP -->
|
||||
This policy specifies the parameters for SRTP and SRTCP
|
||||
<!-- enum MIKEYSecSRTP::variant EncAlg -->
|
||||
Encryption algorithm
|
||||
<!-- enum MIKEYSecSRTP::variant EncKeyLen -->
|
||||
Session Encr. key length
|
||||
<!-- enum MIKEYSecSRTP::variant AuthAlg -->
|
||||
Authentication algorithm
|
||||
<!-- enum MIKEYSecSRTP::variant AuthKeyLen -->
|
||||
Session Auth. key length
|
||||
<!-- enum MIKEYSecSRTP::variant SaltKeyLen -->
|
||||
Session Salt key length
|
||||
<!-- enum MIKEYSecSRTP::variant Prf -->
|
||||
SRTP Pseudo Random Function
|
||||
<!-- enum MIKEYSecSRTP::variant KeyDerivRate -->
|
||||
Key derivation rate
|
||||
<!-- enum MIKEYSecSRTP::variant SrtpEnc -->
|
||||
SRTP encryption off/on, 0 if off, 1 if on
|
||||
<!-- enum MIKEYSecSRTP::variant SrtcpEnc -->
|
||||
SRTCP encryption off/on, 0 if off, 1 if on
|
||||
<!-- enum MIKEYSecSRTP::variant FecOrder -->
|
||||
sender's FEC order
|
||||
<!-- enum MIKEYSecSRTP::variant SrtpAuth -->
|
||||
SRTP authentication off/on, 0 if off, 1 if on
|
||||
<!-- enum MIKEYSecSRTP::variant AuthTagLen -->
|
||||
Authentication tag length
|
||||
<!-- enum MIKEYSecSRTP::variant SrtpPrefixLen -->
|
||||
SRTP prefix length
|
||||
<!-- enum MIKEYTSType -->
|
||||
Specifies the timestamp type.
|
||||
<!-- enum MIKEYTSType::variant NtpUtc -->
|
||||
an NTP time in UTC timezone
|
||||
<!-- enum MIKEYTSType::variant Ntp -->
|
||||
an NTP time
|
||||
<!-- enum MIKEYTSType::variant Counter -->
|
||||
a counter
|
||||
<!-- enum MIKEYType -->
|
||||
Different MIKEY data types.
|
||||
<!-- enum MIKEYType::variant Invalid -->
|
||||
Invalid type
|
||||
<!-- enum MIKEYType::variant PskInit -->
|
||||
Initiator's pre-shared key message
|
||||
<!-- enum MIKEYType::variant PskVerify -->
|
||||
Verification message of a Pre-shared key message
|
||||
<!-- enum MIKEYType::variant PkInit -->
|
||||
Initiator's public-key transport message
|
||||
<!-- enum MIKEYType::variant PkVerify -->
|
||||
Verification message of a public-key message
|
||||
<!-- enum MIKEYType::variant DhInit -->
|
||||
Initiator's DH exchange message
|
||||
<!-- enum MIKEYType::variant DhResp -->
|
||||
Responder's DH exchange message
|
||||
<!-- enum MIKEYType::variant Error -->
|
||||
Error message
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,4 +1,74 @@
|
|||
<!-- file * -->
|
||||
<!-- struct Allocator -->
|
||||
Memory is usually created by allocators with a `AllocatorExt::alloc`
|
||||
method call. When `None` is used as the allocator, the default allocator will
|
||||
be used.
|
||||
|
||||
New allocators can be registered with `Allocator::register`.
|
||||
Allocators are identified by name and can be retrieved with
|
||||
`Allocator::find`. `AllocatorExt::set_default` can be used to change the
|
||||
default allocator.
|
||||
|
||||
New memory can be created with `Memory::new_wrapped` that wraps the memory
|
||||
allocated elsewhere.
|
||||
|
||||
# Implements
|
||||
|
||||
[`AllocatorExt`](trait.AllocatorExt.html), [`GstObjectExt`](trait.GstObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
|
||||
<!-- trait AllocatorExt -->
|
||||
Trait containing all `Allocator` methods.
|
||||
|
||||
# Implementors
|
||||
|
||||
[`Allocator`](struct.Allocator.html)
|
||||
<!-- impl Allocator::fn find -->
|
||||
Find a previously registered allocator with `name`. When `name` is `None`, the
|
||||
default allocator will be returned.
|
||||
## `name`
|
||||
the name of the allocator
|
||||
|
||||
# Returns
|
||||
|
||||
a `Allocator` or `None` when
|
||||
the allocator with `name` was not registered. Use `GstObjectExt::unref`
|
||||
to release the allocator after usage.
|
||||
<!-- impl Allocator::fn register -->
|
||||
Registers the memory `allocator` with `name`. This function takes ownership of
|
||||
`allocator`.
|
||||
## `name`
|
||||
the name of the allocator
|
||||
## `allocator`
|
||||
`Allocator`
|
||||
<!-- trait AllocatorExt::fn alloc -->
|
||||
Use `self` to allocate a new memory block with memory that is at least
|
||||
`size` big.
|
||||
|
||||
The optional `params` can specify the prefix and padding for the memory. If
|
||||
`None` is passed, no flags, no extra prefix/padding and a default alignment is
|
||||
used.
|
||||
|
||||
The prefix/padding will be filled with 0 if flags contains
|
||||
`MemoryFlags::ZeroPrefixed` and `MemoryFlags::ZeroPadded` respectively.
|
||||
|
||||
When `self` is `None`, the default allocator will be used.
|
||||
|
||||
The alignment in `params` is given as a bitmask so that `align` + 1 equals
|
||||
the amount of bytes to align to. For example, to align to 8 bytes,
|
||||
use an alignment of 7.
|
||||
## `size`
|
||||
size of the visible memory area
|
||||
## `params`
|
||||
optional parameters
|
||||
|
||||
# Returns
|
||||
|
||||
a new `Memory`.
|
||||
<!-- trait AllocatorExt::fn free -->
|
||||
Free `memory` that was previously allocated with `AllocatorExt::alloc`.
|
||||
## `memory`
|
||||
the memory to free
|
||||
<!-- trait AllocatorExt::fn set_default -->
|
||||
Set the default allocator. This function takes ownership of `self`.
|
||||
<!-- struct Bin -->
|
||||
`Bin` is an element that can contain other `Element`, allowing them to be
|
||||
managed as a group.
|
||||
|
@ -487,7 +557,7 @@ to hold a reference to another buffer that is only released when the child
|
|||
Typically, `ParentBufferMeta` is used when the child buffer is directly
|
||||
using the `Memory` of the parent buffer, and wants to prevent the parent
|
||||
buffer from being returned to a buffer pool until the `Memory` is available
|
||||
for re-use. (Since 1.6)
|
||||
for re-use. (Since: 1.6)
|
||||
<!-- impl Buffer::fn new -->
|
||||
Creates a newly allocated buffer without any data.
|
||||
|
||||
|
@ -531,6 +601,20 @@ allocated size of `data`
|
|||
# Returns
|
||||
|
||||
a new `Buffer`
|
||||
<!-- impl Buffer::fn new_wrapped_bytes -->
|
||||
Creates a new `Buffer` that wraps the given `bytes`. The data inside
|
||||
`bytes` cannot be `None` and the resulting buffer will be marked as read only.
|
||||
|
||||
MT safe.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `bytes`
|
||||
a `glib::Bytes` to wrap
|
||||
|
||||
# Returns
|
||||
|
||||
a new `Buffer` wrapping `bytes`
|
||||
<!-- impl Buffer::fn new_wrapped_full -->
|
||||
Allocate a new buffer that wraps the given memory. `data` must point to
|
||||
`maxsize` of memory, the wrapped buffer will have the region from `offset` and
|
||||
|
@ -2111,9 +2195,25 @@ a `Caps` to intersect
|
|||
# Returns
|
||||
|
||||
`true` if intersection would be not empty
|
||||
<!-- impl Caps::fn copy -->
|
||||
Creates a new `Caps` as a copy of the old `self`. The new caps will have a
|
||||
refcount of 1, owned by the caller. The structures are copied as well.
|
||||
|
||||
Note that this function is the semantic equivalent of a `gst_caps_ref`
|
||||
followed by a `gst_caps_make_writable`. If you only want to hold on to a
|
||||
reference to the data, you should use `gst_caps_ref`.
|
||||
|
||||
When you are finished with the caps, call `gst_caps_unref` on it.
|
||||
|
||||
# Returns
|
||||
|
||||
the new `Caps`
|
||||
<!-- impl Caps::fn copy_nth -->
|
||||
Creates a new `Caps` and appends a copy of the nth structure
|
||||
contained in `self`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `nth`
|
||||
the nth structure to copy
|
||||
|
||||
|
@ -2373,6 +2473,13 @@ Index of the structure to remove
|
|||
Sets the `CapsFeatures` `features` for the structure at `index`.
|
||||
## `index`
|
||||
the index of the structure
|
||||
## `features`
|
||||
the `CapsFeatures` to set
|
||||
<!-- impl Caps::fn set_features_simple -->
|
||||
Sets the `CapsFeatures` `features` for all the structures of `self`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `features`
|
||||
the `CapsFeatures` to set
|
||||
<!-- impl Caps::fn set_simple -->
|
||||
|
@ -2722,6 +2829,20 @@ A `ClockID` to compare with
|
|||
|
||||
negative value if a < b; zero if a = b; positive value if a > b
|
||||
|
||||
MT safe.
|
||||
<!-- impl Clock::fn id_get_clock -->
|
||||
This function returns the underlying clock.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `id`
|
||||
a `ClockID`
|
||||
|
||||
# Returns
|
||||
|
||||
a `Clock` or `None` when the
|
||||
underlying clock has been freed. Unref after usage.
|
||||
|
||||
MT safe.
|
||||
<!-- impl Clock::fn id_get_time -->
|
||||
Get the time of the clock ID
|
||||
|
@ -2759,6 +2880,24 @@ async notifications, you need to create a new `ClockID`.
|
|||
MT safe.
|
||||
## `id`
|
||||
The id to unschedule
|
||||
<!-- impl Clock::fn id_uses_clock -->
|
||||
This function returns whether `id` uses `clock` as the underlying clock.
|
||||
`clock` can be NULL, in which case the return value indicates whether
|
||||
the underlying clock has been freed. If this is the case, the `id` is
|
||||
no longer usable and should be freed.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `id`
|
||||
a `ClockID` to check
|
||||
## `clock`
|
||||
a `Clock` to compare against
|
||||
|
||||
# Returns
|
||||
|
||||
whether the clock `id` uses the same underlying `Clock` `clock`.
|
||||
|
||||
MT safe.
|
||||
<!-- impl Clock::fn id_wait -->
|
||||
Perform a blocking wait on `id`.
|
||||
`id` should have been created with `ClockExt::new_single_shot_id`
|
||||
|
@ -3186,7 +3325,7 @@ time since Epoch
|
|||
monotonic time since some unspecified starting
|
||||
point
|
||||
<!-- enum ClockType::variant Other -->
|
||||
some other time source is used (Since 1.0.5)
|
||||
some other time source is used (Since: 1.0.5)
|
||||
<!-- struct Context -->
|
||||
`Context` is a container object used to store contexts like a device
|
||||
context, a display server connection and similar concepts that should
|
||||
|
@ -3501,7 +3640,7 @@ the day of the gregorian month
|
|||
the newly created `DateTime`
|
||||
<!-- impl DateTime::fn get_day -->
|
||||
Returns the day of the month of this `DateTime`.
|
||||
Call gst_date_time_has_day before, to avoid warnings.
|
||||
Call `DateTime::has_day` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -3509,7 +3648,7 @@ The day of this `DateTime`
|
|||
<!-- impl DateTime::fn get_hour -->
|
||||
Retrieves the hour of the day represented by `self` in the gregorian
|
||||
calendar. The return is in the range of 0 to 23.
|
||||
Call gst_date_time_has_haur before, to avoid warnings.
|
||||
Call `DateTime::has_time` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -3524,14 +3663,14 @@ the microsecond of the second
|
|||
<!-- impl DateTime::fn get_minute -->
|
||||
Retrieves the minute of the hour represented by `self` in the gregorian
|
||||
calendar.
|
||||
Call gst_date_time_has_minute before, to avoid warnings.
|
||||
Call `DateTime::has_time` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
the minute of the hour
|
||||
<!-- impl DateTime::fn get_month -->
|
||||
Returns the month of this `DateTime`. January is 1, February is 2, etc..
|
||||
Call gst_date_time_has_month before, to avoid warnings.
|
||||
Call `DateTime::has_month` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -3539,7 +3678,7 @@ The month of this `DateTime`
|
|||
<!-- impl DateTime::fn get_second -->
|
||||
Retrieves the second of the minute represented by `self` in the gregorian
|
||||
calendar.
|
||||
Call gst_date_time_has_second before, to avoid warnings.
|
||||
Call `DateTime::has_time` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -3555,7 +3694,7 @@ If `self` represents UTC time, then the offset is zero.
|
|||
the offset from UTC in hours
|
||||
<!-- impl DateTime::fn get_year -->
|
||||
Returns the year of this `DateTime`
|
||||
Call gst_date_time_has_year before, to avoid warnings.
|
||||
Call `DateTime::has_year` before, to avoid warnings.
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -3911,7 +4050,7 @@ will be emitted on the bus when the list of devices changes.
|
|||
Stops monitoring the devices.
|
||||
<!-- struct DeviceProvider -->
|
||||
A `DeviceProvider` subclass is provided by a plugin that handles devices
|
||||
if there is a way to programatically list connected devices. It can also
|
||||
if there is a way to programmatically list connected devices. It can also
|
||||
optionally provide updates to the list of connected devices.
|
||||
|
||||
Each `DeviceProvider` subclass is a singleton, a plugin should
|
||||
|
@ -3955,6 +4094,19 @@ This is for use by subclasses.
|
|||
will be removed (see `Object::ref_sink`).
|
||||
## `device`
|
||||
a `Device` that has been added
|
||||
<!-- trait DeviceProviderExt::fn device_changed -->
|
||||
This function is used when `changed_device` was modified into its new form
|
||||
`device`. This will post a `DEVICE_CHANGED` message on the bus to let
|
||||
the application know that the device was modified. `Device` is immutable
|
||||
for MT. safety purposes so this is an "atomic" way of letting the application
|
||||
know when a device was modified.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `device`
|
||||
the new version of `changed_device`
|
||||
## `changed_device`
|
||||
the old version of the device that has been udpated
|
||||
<!-- trait DeviceProviderExt::fn device_remove -->
|
||||
Posts a message on the provider's `Bus` to inform applications that
|
||||
a device has been removed.
|
||||
|
@ -4250,9 +4402,8 @@ MT safe.
|
|||
Adds a pad (link point) to `self`. `pad`'s parent will be set to `self`;
|
||||
see `GstObjectExt::set_parent` for refcounting information.
|
||||
|
||||
Pads are not automatically activated so elements should perform the needed
|
||||
steps to activate the pad in case this pad is added in the PAUSED or PLAYING
|
||||
state. See `PadExt::set_active` for more information about activating pads.
|
||||
Pads are automatically activated when added in the PAUSED or PLAYING
|
||||
state.
|
||||
|
||||
The pad and the element should be unlocked when calling this function.
|
||||
|
||||
|
@ -4503,7 +4654,7 @@ Retrieves the factory that was used to create this element.
|
|||
# Returns
|
||||
|
||||
the `ElementFactory` used for creating this
|
||||
element. no refcounting is needed.
|
||||
element or `None` if element has not been registered (static element). no refcounting is needed.
|
||||
<!-- trait ElementExt::fn get_metadata -->
|
||||
Get metadata with `key` in `klass`.
|
||||
|
||||
|
@ -5113,6 +5264,10 @@ the `Context` to set.
|
|||
Locks the state of an element, so state changes of the parent don't affect
|
||||
this element anymore.
|
||||
|
||||
Note that this is racy if the state lock of the parent bin is not taken.
|
||||
The parent bin might've just checked the flag in another thread and as the
|
||||
next step proceed to change the child element's state.
|
||||
|
||||
MT safe.
|
||||
## `locked_state`
|
||||
`true` to lock the element's state
|
||||
|
@ -6106,6 +6261,12 @@ result location for the start position expressed in `format`
|
|||
result location for the `SeekType` of the stop position
|
||||
## `stop`
|
||||
result location for the stop position expressed in `format`
|
||||
<!-- impl Event::fn parse_seek_trickmode_interval -->
|
||||
Retrieve the trickmode interval that may have been set on a
|
||||
seek event with `Event::set_seek_trickmode_interval`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- impl Event::fn parse_segment -->
|
||||
Parses a segment `self` and stores the result in the given `segment` location.
|
||||
`segment` remains valid only until the `self` is freed. Don't modify the segment
|
||||
|
@ -6148,7 +6309,7 @@ Parse a stream-start `self` and extract the `Stream` from it.
|
|||
Feature: `v1_10`
|
||||
|
||||
## `stream`
|
||||
adress of variable to store the stream
|
||||
address of variable to store the stream
|
||||
<!-- impl Event::fn parse_stream_collection -->
|
||||
Retrieve new `StreamCollection` from STREAM_COLLECTION event `self`.
|
||||
|
||||
|
@ -6208,6 +6369,13 @@ Set the running time offset of a event. See
|
|||
MT safe.
|
||||
## `offset`
|
||||
A the new running time offset
|
||||
<!-- impl Event::fn set_seek_trickmode_interval -->
|
||||
Sets a trickmode interval on a (writable) seek event. Elements
|
||||
that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal
|
||||
interval between each frame they may output.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
<!-- impl Event::fn set_seqnum -->
|
||||
Set the sequence number of a event.
|
||||
|
||||
|
@ -6268,7 +6436,7 @@ A new media segment follows in the dataflow. The
|
|||
converting buffer timestamps to running-time and
|
||||
stream-time.
|
||||
<!-- enum EventType::variant StreamCollection -->
|
||||
A new `StreamCollection` is available (Since 1.10)
|
||||
A new `StreamCollection` is available (Since: 1.10)
|
||||
<!-- enum EventType::variant Tag -->
|
||||
A new set of metadata tags has been found in the stream.
|
||||
<!-- enum EventType::variant Buffersize -->
|
||||
|
@ -6281,7 +6449,7 @@ An event that sinks turn into a message. Used to
|
|||
<!-- enum EventType::variant StreamGroupDone -->
|
||||
Indicates that there is no more data for
|
||||
the stream group ID in the message. Sent before EOS
|
||||
in some instances and should be handled mostly the same. (Since 1.10)
|
||||
in some instances and should be handled mostly the same. (Since: 1.10)
|
||||
<!-- enum EventType::variant Eos -->
|
||||
End-Of-Stream. No more data is to be expected to follow
|
||||
without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT
|
||||
|
@ -6318,7 +6486,7 @@ A request for upstream renegotiating caps and reconfiguring.
|
|||
A request for a new playback position based on TOC
|
||||
entry's UID.
|
||||
<!-- enum EventType::variant SelectStreams -->
|
||||
A request to select one or more streams (Since 1.10)
|
||||
A request to select one or more streams (Since: 1.10)
|
||||
<!-- enum EventType::variant CustomUpstream -->
|
||||
Upstream custom event
|
||||
<!-- enum EventType::variant CustomDownstream -->
|
||||
|
@ -6693,6 +6861,22 @@ The new `Device`
|
|||
|
||||
# Returns
|
||||
|
||||
a newly allocated `Message`
|
||||
<!-- impl Message::fn new_device_changed -->
|
||||
Creates a new device-changed message. The device-changed message is produced
|
||||
by `DeviceProvider` or a `DeviceMonitor`. They announce that a device
|
||||
properties has changed and `device` represent the new modified version of `changed_device`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `src`
|
||||
The `Object` that created the message
|
||||
## `device`
|
||||
The newly created device representing `replaced_device`
|
||||
with its new configuration.
|
||||
|
||||
# Returns
|
||||
|
||||
a newly allocated `Message`
|
||||
<!-- impl Message::fn new_device_removed -->
|
||||
Creates a new device-removed message. The device-removed message is produced
|
||||
|
@ -6779,7 +6963,7 @@ The GError for this message.
|
|||
## `debug`
|
||||
A debugging string.
|
||||
## `details`
|
||||
(allow-none): A GstStructure with details
|
||||
A GstStructure with details
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -6824,7 +7008,7 @@ The GError for this message.
|
|||
## `debug`
|
||||
A debugging string.
|
||||
## `details`
|
||||
(allow-none): A GstStructure with details
|
||||
A GstStructure with details
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -7258,7 +7442,7 @@ The GError for this message.
|
|||
## `debug`
|
||||
A debugging string.
|
||||
## `details`
|
||||
(allow-none): A GstStructure with details
|
||||
A GstStructure with details
|
||||
|
||||
# Returns
|
||||
|
||||
|
@ -7388,6 +7572,20 @@ of monitored devices.
|
|||
## `device`
|
||||
A location where to store a
|
||||
pointer to the new `Device`, or `None`
|
||||
<!-- impl Message::fn parse_device_changed -->
|
||||
Parses a device-changed message. The device-changed message is produced by
|
||||
`DeviceProvider` or a `DeviceMonitor`. It announces the
|
||||
disappearance of monitored devices. * It announce that a device properties has
|
||||
changed and `device` represents the new modified version of `changed_device`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `device`
|
||||
A location where to store a
|
||||
pointer to the updated version of the `Device`, or `None`
|
||||
## `changed_device`
|
||||
A location where to store a
|
||||
pointer to the old version of the `Device`, or `None`
|
||||
<!-- impl Message::fn parse_device_removed -->
|
||||
Parses a device-removed message. The device-removed message is produced by
|
||||
`DeviceProvider` or a `DeviceMonitor`. It announces the
|
||||
|
@ -7931,7 +8129,7 @@ Trait containing all `Object` methods.
|
|||
|
||||
# Implementors
|
||||
|
||||
[`BufferPool`](struct.BufferPool.html), [`Bus`](struct.Bus.html), [`Clock`](struct.Clock.html), [`DeviceMonitor`](struct.DeviceMonitor.html), [`DeviceProvider`](struct.DeviceProvider.html), [`Device`](struct.Device.html), [`Element`](struct.Element.html), [`Object`](struct.Object.html), [`PadTemplate`](struct.PadTemplate.html), [`Pad`](struct.Pad.html), [`PluginFeature`](struct.PluginFeature.html), [`Plugin`](struct.Plugin.html), [`Registry`](struct.Registry.html), [`StreamCollection`](struct.StreamCollection.html), [`Stream`](struct.Stream.html)
|
||||
[`Allocator`](struct.Allocator.html), [`BufferPool`](struct.BufferPool.html), [`Bus`](struct.Bus.html), [`Clock`](struct.Clock.html), [`DeviceMonitor`](struct.DeviceMonitor.html), [`DeviceProvider`](struct.DeviceProvider.html), [`Device`](struct.Device.html), [`Element`](struct.Element.html), [`Object`](struct.Object.html), [`PadTemplate`](struct.PadTemplate.html), [`Pad`](struct.Pad.html), [`PluginFeature`](struct.PluginFeature.html), [`Plugin`](struct.Plugin.html), [`Registry`](struct.Registry.html), [`StreamCollection`](struct.StreamCollection.html), [`Stream`](struct.Stream.html)
|
||||
<!-- impl Object::fn check_uniqueness -->
|
||||
Checks to see if there is any object named `name` in `list`. This function
|
||||
does not do any locking of any kind. You might want to protect the
|
||||
|
@ -8012,7 +8210,7 @@ the `ControlBinding` that should be used
|
|||
has been setup for a non suitable property, `true` otherwise.
|
||||
<!-- trait GstObjectExt::fn default_error -->
|
||||
A default error function that uses `g_printerr` to display the error message
|
||||
and the optional debug sting..
|
||||
and the optional debug string..
|
||||
|
||||
The default handler will simply print the error string using g_print.
|
||||
## `error`
|
||||
|
@ -9430,6 +9628,10 @@ notify called when `query` will not be used anymore.
|
|||
<!-- trait PadExt::fn set_unlink_function_full -->
|
||||
Sets the given unlink function for the pad. It will be called
|
||||
when the pad is unlinked.
|
||||
|
||||
Note that the pad's lock is already held when the unlink
|
||||
function is called, so most pad functions cannot be called
|
||||
from within the callback.
|
||||
## `unlink`
|
||||
the `GstPadUnlinkFunction` to set.
|
||||
## `user_data`
|
||||
|
@ -10417,7 +10619,7 @@ a list of presets individual presets are read and overlaid in 1) system,
|
|||
2) application and 3) user order. Whenever an earlier entry is newer, the
|
||||
later entries will be updated. Since 1.8 you can also provide extra paths
|
||||
where to find presets through the GST_PRESET_PATH environment variable.
|
||||
Presets found in those paths will be concidered as "app presets".
|
||||
Presets found in those paths will be considered as "app presets".
|
||||
|
||||
# Implements
|
||||
|
||||
|
@ -10822,6 +11024,17 @@ the negotiated caps
|
|||
## `need_pool`
|
||||
return a pool
|
||||
|
||||
# Returns
|
||||
|
||||
a new `Query`
|
||||
<!-- impl Query::fn new_bitrate -->
|
||||
Constructs a new query object for querying the bitrate.
|
||||
|
||||
Free-function: `gst_query_unref`
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
|
||||
# Returns
|
||||
|
||||
a new `Query`
|
||||
|
@ -11138,6 +11351,13 @@ Pool details can be retrieved using `Query::get_n_allocation_pools` and
|
|||
The `Caps`
|
||||
## `need_pool`
|
||||
Whether a `BufferPool` is needed
|
||||
<!-- impl Query::fn parse_bitrate -->
|
||||
Get the results of a bitrate query. See also `Query::set_bitrate`.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `nominal_bitrate`
|
||||
The resulting bitrate in bits per second
|
||||
<!-- impl Query::fn parse_buffering_percent -->
|
||||
Get the percentage of buffered data. This is a value between 0 and 100.
|
||||
The `busy` indicator is `true` when the buffering is in progress.
|
||||
|
@ -11374,6 +11594,15 @@ position in the allocation pool array to remove
|
|||
Set `result` as the result for the `self`.
|
||||
## `result`
|
||||
the result to set
|
||||
<!-- impl Query::fn set_bitrate -->
|
||||
Set the results of a bitrate query. The nominal bitrate is the average
|
||||
bitrate expected over the length of the stream as advertised in file
|
||||
headers (or similar).
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `nominal_bitrate`
|
||||
the nominal bitrate in bits per second
|
||||
<!-- impl Query::fn set_buffering_percent -->
|
||||
Set the percentage of buffered data. This is a value between 0 and 100.
|
||||
The `busy` indicator is `true` when the buffering is in progress.
|
||||
|
@ -11875,7 +12104,7 @@ used when the resource has no space left.
|
|||
<!-- enum ResourceError::variant NotAuthorized -->
|
||||
used when the resource can't be opened
|
||||
due to missing authorization.
|
||||
(Since 1.2.4)
|
||||
(Since: 1.2.4)
|
||||
<!-- enum ResourceError::variant NumErrors -->
|
||||
the number of resource error types.
|
||||
<!-- struct Sample -->
|
||||
|
@ -11939,10 +12168,39 @@ Get the segment associated with `self`
|
|||
|
||||
the segment of `self`.
|
||||
The segment remains valid as long as `self` is valid.
|
||||
<!-- impl Sample::fn set_buffer -->
|
||||
Set the buffer associated with `self`. `self` must be writable.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `buffer`
|
||||
A `Buffer`
|
||||
<!-- impl Sample::fn set_buffer_list -->
|
||||
Set the buffer list associated with `self`
|
||||
Set the buffer list associated with `self`. `self` must be writable.
|
||||
## `buffer_list`
|
||||
a `BufferList`
|
||||
<!-- impl Sample::fn set_caps -->
|
||||
Set the caps associated with `self`. `self` must be writable.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `caps`
|
||||
A `Caps`
|
||||
<!-- impl Sample::fn set_info -->
|
||||
Set the info structure associated with `self`. `self` must be writable,
|
||||
and `info` must not have a parent set already.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `info`
|
||||
A `Structure`
|
||||
<!-- impl Sample::fn set_segment -->
|
||||
Set the segment associated with `self`. `self` must be writable.
|
||||
|
||||
Feature: `v1_16`
|
||||
|
||||
## `segment`
|
||||
A `Segment`
|
||||
<!-- enum SeekType -->
|
||||
The different types of seek events. When constructing a seek event with
|
||||
`Event::new_seek` or when doing gst_segment_do_seek ().
|
||||
|
@ -12406,17 +12664,17 @@ state change from READY to NULL.
|
|||
* Elements close devices
|
||||
* Elements reset any internal state.
|
||||
<!-- enum StateChange::variant NullToNull -->
|
||||
state change from NULL to NULL. (Since 1.14)
|
||||
state change from NULL to NULL. (Since: 1.14)
|
||||
<!-- enum StateChange::variant ReadyToReady -->
|
||||
state change from READY to READY,
|
||||
This might happen when going to PAUSED asynchronously failed, in that case
|
||||
elements should make sure they are in a proper, coherent READY state. (Since 1.14)
|
||||
elements should make sure they are in a proper, coherent READY state. (Since: 1.14)
|
||||
<!-- enum StateChange::variant PausedToPaused -->
|
||||
state change from PAUSED to PAUSED.
|
||||
This might happen when elements were in PLAYING state and 'lost state',
|
||||
they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since 1.14)
|
||||
they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since: 1.14)
|
||||
<!-- enum StateChange::variant PlayingToPlaying -->
|
||||
state change from PLAYING to PLAYING. (Since 1.14)
|
||||
state change from PLAYING to PLAYING. (Since: 1.14)
|
||||
<!-- enum StateChangeReturn -->
|
||||
The possible return values from a state change function such as
|
||||
`Element::set_state`. Only `StateChangeReturn::Failure` is a real failure.
|
||||
|
@ -12982,9 +13240,9 @@ the name of the first field to read
|
|||
than the type specified), otherwise `true`.
|
||||
<!-- impl Structure::fn get_array -->
|
||||
This is useful in language bindings where unknown `gobject::Value` types are not
|
||||
supported. This function will convert the `GST_TYPE_ARRAY` and
|
||||
`GST_TYPE_LIST` into a newly allocated `gobject::ValueArray` and return it through
|
||||
`array`. Be aware that this is slower then getting the `gobject::Value` directly.
|
||||
supported. This function will convert the `GST_TYPE_ARRAY` into a newly
|
||||
allocated `gobject::ValueArray` and return it through `array`. Be aware that this is
|
||||
slower then getting the `gobject::Value` directly.
|
||||
## `fieldname`
|
||||
the name of a field
|
||||
## `array`
|
||||
|
@ -12993,8 +13251,8 @@ a pointer to a `gobject::ValueArray`
|
|||
# Returns
|
||||
|
||||
`true` if the value could be set correctly. If there was no field
|
||||
with `fieldname` or the existing field did not contain an int, this function
|
||||
returns `false`.
|
||||
with `fieldname` or the existing field did not contain a `GST_TYPE_ARRAY`,
|
||||
this function returns `false`.
|
||||
<!-- impl Structure::fn get_boolean -->
|
||||
Sets the boolean pointed to by `value` corresponding to the value of the
|
||||
given field. Caller is responsible for making sure the field exists
|
||||
|
@ -13162,9 +13420,12 @@ with `fieldname` or the existing field did not contain a `gint64`, this function
|
|||
returns `false`.
|
||||
<!-- impl Structure::fn get_list -->
|
||||
This is useful in language bindings where unknown `gobject::Value` types are not
|
||||
supported. This function will convert the `GST_TYPE_ARRAY` and
|
||||
`GST_TYPE_LIST` into a newly allocated GValueArray and return it through
|
||||
`array`. Be aware that this is slower then getting the `gobject::Value` directly.
|
||||
supported. This function will convert the `GST_TYPE_LIST` into a newly
|
||||
allocated GValueArray and return it through `array`. Be aware that this is
|
||||
slower then getting the `gobject::Value` directly.
|
||||
|
||||
Feature: `v1_12`
|
||||
|
||||
## `fieldname`
|
||||
the name of a field
|
||||
## `array`
|
||||
|
@ -13173,10 +13434,8 @@ a pointer to a `gobject::ValueArray`
|
|||
# Returns
|
||||
|
||||
`true` if the value could be set correctly. If there was no field
|
||||
with `fieldname` or the existing field did not contain an int, this function
|
||||
returns `false`.
|
||||
|
||||
Since 1.12
|
||||
with `fieldname` or the existing field did not contain a `GST_TYPE_LIST`, this
|
||||
function returns `false`.
|
||||
<!-- impl Structure::fn get_name -->
|
||||
Get the name of `self` as a string.
|
||||
|
||||
|
@ -13455,18 +13714,20 @@ supported. This function will convert a `array` to `GST_TYPE_ARRAY` and set
|
|||
the field specified by `fieldname`. Be aware that this is slower then using
|
||||
`GST_TYPE_ARRAY` in a `gobject::Value` directly.
|
||||
|
||||
Since 1.12
|
||||
Feature: `v1_12`
|
||||
|
||||
## `fieldname`
|
||||
the name of a field
|
||||
## `array`
|
||||
a pointer to a `gobject::ValueArray`
|
||||
<!-- impl Structure::fn set_list -->
|
||||
This is useful in language bindings where unknown GValue types are not
|
||||
supported. This function will convert a `array` to `GST_TYPE_ARRAY` and set
|
||||
supported. This function will convert a `array` to `GST_TYPE_LIST` and set
|
||||
the field specified by `fieldname`. Be aware that this is slower then using
|
||||
`GST_TYPE_ARRAY` in a `gobject::Value` directly.
|
||||
`GST_TYPE_LIST` in a `gobject::Value` directly.
|
||||
|
||||
Feature: `v1_12`
|
||||
|
||||
Since 1.12
|
||||
## `fieldname`
|
||||
the name of a field
|
||||
## `array`
|
||||
|
@ -14263,6 +14524,13 @@ keep existing tags
|
|||
keep all existing tags
|
||||
<!-- enum TagMergeMode::variant Count -->
|
||||
the number of merge modes
|
||||
<!-- enum TagScope -->
|
||||
GstTagScope specifies if a taglist applies to the complete
|
||||
medium or only to one single stream.
|
||||
<!-- enum TagScope::variant Stream -->
|
||||
tags specific to this single stream
|
||||
<!-- enum TagScope::variant Global -->
|
||||
global tags for the complete medium
|
||||
<!-- struct TagSetter -->
|
||||
Element interface that allows setting of media metadata.
|
||||
|
||||
|
@ -14685,7 +14953,7 @@ unreffed before setting a new one.
|
|||
## `toc`
|
||||
a `Toc` to set.
|
||||
<!-- struct TypeFindFactory -->
|
||||
These functions allow querying informations about registered typefind
|
||||
These functions allow querying information about registered typefind
|
||||
functions. How to create and register these functions is described in
|
||||
the section <link linkend="gstreamer-Writing-typefind-functions">
|
||||
"Writing typefind functions"`</link>`.
|
||||
|
|
Loading…
Reference in a new issue