Commit f3924399 authored by Sebastian Dröge's avatar Sebastian Dröge 🍵

Update docs to 1.14.0

parent 68ba4d23
...@@ -96,13 +96,15 @@ PLAYING state. ...@@ -96,13 +96,15 @@ PLAYING state.
`true` if no more samples can be pulled and the appsink is EOS. `true` if no more samples can be pulled and the appsink is EOS.
<!-- impl AppSink::fn pull_preroll --> <!-- impl AppSink::fn pull_preroll -->
Get the last preroll sample in `self`. This was the sample that caused the Get the last preroll sample in `self`. This was the sample that caused the
appsink to preroll in the PAUSED state. This sample can be pulled many times appsink to preroll in the PAUSED state.
and remains available to the application even after EOS.
This function is typically used when dealing with a pipeline in the PAUSED This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right state. Calling this function after doing a seek will give the sample right
after the seek position. after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample`. when calling `AppSink::pull_sample`.
...@@ -186,13 +188,15 @@ Instruct `self` to wait for all buffers to be consumed when an EOS is received. ...@@ -186,13 +188,15 @@ Instruct `self` to wait for all buffers to be consumed when an EOS is received.
the new state the new state
<!-- impl AppSink::fn try_pull_preroll --> <!-- impl AppSink::fn try_pull_preroll -->
Get the last preroll sample in `self`. This was the sample that caused the Get the last preroll sample in `self`. This was the sample that caused the
appsink to preroll in the PAUSED state. This sample can be pulled many times appsink to preroll in the PAUSED state.
and remains available to the application even after EOS.
This function is typically used when dealing with a pipeline in the PAUSED This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right state. Calling this function after doing a seek will give the sample right
after the seek position. after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample`. when calling `AppSink::pull_sample`.
...@@ -264,13 +268,15 @@ Note that this signal is only emitted when the "emit-signals" property is ...@@ -264,13 +268,15 @@ Note that this signal is only emitted when the "emit-signals" property is
set to `true`, which it is not by default for performance reasons. set to `true`, which it is not by default for performance reasons.
<!-- trait AppSinkExt::fn connect_pull_preroll --> <!-- trait AppSinkExt::fn connect_pull_preroll -->
Get the last preroll sample in `appsink`. This was the sample that caused the Get the last preroll sample in `appsink`. This was the sample that caused the
appsink to preroll in the PAUSED state. This sample can be pulled many times appsink to preroll in the PAUSED state.
and remains available to the application even after EOS.
This function is typically used when dealing with a pipeline in the PAUSED This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right state. Calling this function after doing a seek will give the sample right
after the seek position. after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample` or the "pull-sample" action signal. when calling `AppSink::pull_sample` or the "pull-sample" action signal.
...@@ -304,13 +310,15 @@ If an EOS event was received before any buffers, this function returns ...@@ -304,13 +310,15 @@ If an EOS event was received before any buffers, this function returns
a `gst::Sample` or NULL when the appsink is stopped or EOS. a `gst::Sample` or NULL when the appsink is stopped or EOS.
<!-- trait AppSinkExt::fn connect_try_pull_preroll --> <!-- trait AppSinkExt::fn connect_try_pull_preroll -->
Get the last preroll sample in `appsink`. This was the sample that caused the Get the last preroll sample in `appsink`. This was the sample that caused the
appsink to preroll in the PAUSED state. This sample can be pulled many times appsink to preroll in the PAUSED state.
and remains available to the application even after EOS.
This function is typically used when dealing with a pipeline in the PAUSED This function is typically used when dealing with a pipeline in the PAUSED
state. Calling this function after doing a seek will give the sample right state. Calling this function after doing a seek will give the sample right
after the seek position. after the seek position.
Calling this function will clear the internal reference to the preroll
buffer.
Note that the preroll sample will also be returned as the first sample Note that the preroll sample will also be returned as the first sample
when calling `AppSink::pull_sample` or the "pull-sample" action signal. when calling `AppSink::pull_sample` or the "pull-sample" action signal.
...@@ -465,7 +473,7 @@ Retrieve the min and max latencies in `min` and `max` respectively. ...@@ -465,7 +473,7 @@ Retrieve the min and max latencies in `min` and `max` respectively.
## `min` ## `min`
the min latency the min latency
## `max` ## `max`
the min latency the max latency
<!-- impl AppSrc::fn get_max_bytes --> <!-- impl AppSrc::fn get_max_bytes -->
Get the maximum amount of bytes that can be queued in `self`. Get the maximum amount of bytes that can be queued in `self`.
...@@ -500,6 +508,24 @@ a `gst::Buffer` to push ...@@ -500,6 +508,24 @@ a `gst::Buffer` to push
`gst::FlowReturn::Ok` when the buffer was successfuly queued. `gst::FlowReturn::Ok` when the buffer was successfuly queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING. `gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
`gst::FlowReturn::Eos` when EOS occured. `gst::FlowReturn::Eos` when EOS occured.
<!-- impl AppSrc::fn push_buffer_list -->
Adds a buffer list to the queue of buffers and buffer lists that the
appsrc element will push to its source pad. This function takes ownership
of `buffer_list`.
When the block property is TRUE, this function can block until free
space becomes available in the queue.
Feature: `v1_14`
## `buffer_list`
a `gst::BufferList` to push
# Returns
`gst::FlowReturn::Ok` when the buffer list was successfuly queued.
`gst::FlowReturn::Flushing` when `self` is not PAUSED or PLAYING.
`gst::FlowReturn::Eos` when EOS occured.
<!-- impl AppSrc::fn push_sample --> <!-- impl AppSrc::fn push_sample -->
Extract a buffer from the provided sample and adds it to the queue of Extract a buffer from the provided sample and adds it to the queue of
buffers that the appsrc element will push to its source pad. Any buffers that the appsrc element will push to its source pad. Any
...@@ -558,7 +584,7 @@ default latency calculations for pseudo-live sources will be used. ...@@ -558,7 +584,7 @@ default latency calculations for pseudo-live sources will be used.
## `min` ## `min`
the min latency the min latency
## `max` ## `max`
the min latency the max latency
<!-- impl AppSrc::fn set_max_bytes --> <!-- impl AppSrc::fn set_max_bytes -->
Set the maximum amount of bytes that can be queued in `self`. Set the maximum amount of bytes that can be queued in `self`.
After the maximum amount of bytes are queued, `self` will emit the After the maximum amount of bytes are queued, `self` will emit the
...@@ -603,6 +629,19 @@ When the block property is TRUE, this function can block until free space ...@@ -603,6 +629,19 @@ When the block property is TRUE, this function can block until free space
becomes available in the queue. becomes available in the queue.
## `buffer` ## `buffer`
a buffer to push a buffer to push
<!-- trait AppSrcExt::fn connect_push_buffer_list -->
Adds a buffer list to the queue of buffers and buffer lists that the
appsrc element will push to its source pad. This function does not take
ownership of the buffer list so the buffer list needs to be unreffed
after calling this function.
When the block property is TRUE, this function can block until free space
becomes available in the queue.
Feature: `v1_14`
## `buffer_list`
a buffer list to push
<!-- trait AppSrcExt::fn connect_push_sample --> <!-- trait AppSrcExt::fn connect_push_sample -->
Extract a buffer from the provided sample and adds the extracted buffer Extract a buffer from the provided sample and adds the extracted buffer
to the queue of buffers that the appsrc element will to the queue of buffers that the appsrc element will
......
...@@ -266,6 +266,116 @@ Layout of the audio samples for the different channels. ...@@ -266,6 +266,116 @@ Layout of the audio samples for the different channels.
interleaved audio interleaved audio
<!-- enum AudioLayout::variant NonInterleaved --> <!-- enum AudioLayout::variant NonInterleaved -->
non-interleaved audio non-interleaved audio
<!-- struct AudioStreamAlign -->
`AudioStreamAlign` provides a helper object that helps tracking audio
stream alignment and discontinuities, and detects discontinuities if
possible.
See `AudioStreamAlign::new` for a description of its parameters and
`AudioStreamAlign::process` for the details of the processing.
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`.
A negative rate can be used for reverse playback.
`alignment_threshold` gives the tolerance in nanoseconds after which a
timestamp difference is considered a discontinuity. Once detected,
`discont_wait` nanoseconds have to pass without going below the threshold
again until the output buffer is marked as a discontinuity. These can later
be re-configured with `AudioStreamAlign::set_alignment_threshold` and
`AudioStreamAlign::set_discont_wait`.
Feature: `v1_14`
## `rate`
a sample rate
## `alignment_threshold`
a alignment threshold in nanoseconds
## `discont_wait`
discont wait in nanoseconds
# Returns
a new `AudioStreamAlign`. free with `AudioStreamAlign::free`.
<!-- impl AudioStreamAlign::fn copy -->
Copy a GstAudioStreamAlign structure.
Feature: `v1_14`
# Returns
a new `AudioStreamAlign`. free with gst_audio_stream_align_free.
<!-- impl AudioStreamAlign::fn free -->
Free a GstAudioStreamAlign structure previously allocated with `AudioStreamAlign::new`
or `AudioStreamAlign::copy`.
Feature: `v1_14`
<!-- impl AudioStreamAlign::fn get_samples_since_discont -->
Returns the number of samples that were processed since the last
discontinuity was detected.
Feature: `v1_14`
# Returns
The number of samples processed since the last discontinuity.
<!-- impl AudioStreamAlign::fn get_timestamp_at_discont -->
Timestamp that was passed when a discontinuity was detected, i.e. the first
timestamp after the discontinuity.
Feature: `v1_14`
# Returns
The last timestamp at when a discontinuity was detected
<!-- impl AudioStreamAlign::fn mark_discont -->
Marks the next buffer as discontinuous and resets timestamp tracking.
Feature: `v1_14`
<!-- impl AudioStreamAlign::fn process -->
Processes data with `timestamp` and `n_samples`, and returns the output
timestamp, duration and sample position together with a boolean to signal
whether a discontinuity was detected or not. All non-discontinuous data
will have perfect timestamps and durations.
A discontinuity is detected once the difference between the actual
timestamp and the timestamp calculated from the sample count since the last
discontinuity differs by more than the alignment threshold for a duration
longer than discont wait.
Note: In reverse playback, every buffer is considered discontinuous in the
context of buffer flags because the last sample of the previous buffer is
discontinuous with the first sample of the current one. However for this
function they are only considered discontinuous in reverse playback if the
first sample of the previous buffer is discontinuous with the last sample
of the current one.
Feature: `v1_14`
## `discont`
if this data is considered to be discontinuous
## `timestamp`
a `gst::ClockTime` of the start of the data
## `n_samples`
number of samples to process
## `out_timestamp`
output timestamp of the data
## `out_duration`
output duration of the data
## `out_sample_position`
output sample position of the start of the data
# Returns
`true` if a discontinuity was detected, `false` otherwise.
<!-- struct StreamVolume --> <!-- struct StreamVolume -->
This interface is implemented by elements that provide a stream volume. Examples for This interface is implemented by elements that provide a stream volume. Examples for
such elements are `volume` and `playbin`. such elements are `volume` and `playbin`.
......
...@@ -1281,6 +1281,28 @@ Wait until the start operation completes. ...@@ -1281,6 +1281,28 @@ Wait until the start operation completes.
# Returns # Returns
a `gst::FlowReturn`. a `gst::FlowReturn`.
<!-- trait BaseSrcExt::fn submit_buffer_list -->
Subclasses can call this from their create virtual method implementation
to submit a buffer list to be pushed out later. This is useful in
cases where the create function wants to produce multiple buffers to be
pushed out in one go in form of a `gst::BufferList`, which can reduce overhead
drastically, especially for packetised inputs (for data streams where
the packetisation/chunking is not important it is usually more efficient
to return larger buffers instead).
Subclasses that use this function from their create function must return
`gst::FlowReturn::Ok` and no buffer from their create virtual method implementation.
If a buffer is returned after a buffer list has also been submitted via this
function the behaviour is undefined.
Subclasses must only call this function once per create function call and
subclasses must only call this function when the source operates in push
mode.
Feature: `v1_14`
## `buffer_list`
a `gst::BufferList`
<!-- trait BaseSrcExt::fn wait_playing --> <!-- trait BaseSrcExt::fn wait_playing -->
If the `BaseSrcClass.create`() method performs its own synchronisation If the `BaseSrcClass.create`() method performs its own synchronisation
against the clock it must unblock when going from PLAYING to the PAUSED state against the clock it must unblock when going from PLAYING to the PAUSED state
...@@ -1583,12 +1605,26 @@ the `gst::Pad` that is being added ...@@ -1583,12 +1605,26 @@ the `gst::Pad` that is being added
Removes all pads from a `FlowCombiner` and resets it to its initial state. Removes all pads from a `FlowCombiner` and resets it to its initial state.
<!-- impl FlowCombiner::fn free --> <!-- impl FlowCombiner::fn free -->
Frees a `FlowCombiner` struct and all its internal data. Frees a `FlowCombiner` struct and all its internal data.
<!-- impl FlowCombiner::fn ref -->
Increments the reference count on the `FlowCombiner`.
Feature: `v1_12_1`
# Returns
the `FlowCombiner`.
<!-- impl FlowCombiner::fn remove_pad --> <!-- impl FlowCombiner::fn remove_pad -->
Removes a `gst::Pad` from the `FlowCombiner`. Removes a `gst::Pad` from the `FlowCombiner`.
## `pad` ## `pad`
the `gst::Pad` to remove the `gst::Pad` to remove
<!-- impl FlowCombiner::fn reset --> <!-- impl FlowCombiner::fn reset -->
Reset flow combiner and all pads to their initial state without removing pads. Reset flow combiner and all pads to their initial state without removing pads.
<!-- impl FlowCombiner::fn unref -->
Decrements the reference count on the `FlowCombiner`.
Feature: `v1_12_1`
<!-- impl FlowCombiner::fn update_flow --> <!-- impl FlowCombiner::fn update_flow -->
Computes the combined flow return for the pads in it. Computes the combined flow return for the pads in it.
......
...@@ -134,3 +134,7 @@ check this with `gst::ClockExt::wait_for_sync`, the GstClock::synced signal and ...@@ -134,3 +134,7 @@ check this with `gst::ClockExt::wait_for_sync`, the GstClock::synced signal and
Name of the clock Name of the clock
## `domain` ## `domain`
PTP domain PTP domain
# Returns
A new `gst::Clock`
...@@ -5,13 +5,13 @@ information as possible from one or many URIs. ...@@ -5,13 +5,13 @@ information as possible from one or many URIs.
It provides two APIs, allowing usage in blocking or non-blocking mode. It provides two APIs, allowing usage in blocking or non-blocking mode.
The blocking mode just requires calling `DiscovererExt::discover_uri` The blocking mode just requires calling `Discoverer::discover_uri`
with the URI one wishes to discover. with the URI one wishes to discover.
The non-blocking mode requires a running `glib::MainLoop` iterating a The non-blocking mode requires a running `glib::MainLoop` iterating a
`glib::MainContext`, where one connects to the various signals, appends the `glib::MainContext`, where one connects to the various signals, appends the
URIs to be processed (through `DiscovererExt::discover_uri_async`) and then URIs to be processed (through `Discoverer::discover_uri_async`) and then
asks for the discovery to begin (through `DiscovererExt::start`). asks for the discovery to begin (through `Discoverer::start`).
By default this will use the GLib default main context unless you have By default this will use the GLib default main context unless you have
set a custom context using `glib::MainContext::push_thread_default`. set a custom context using `glib::MainContext::push_thread_default`.
...@@ -19,13 +19,7 @@ All the information is returned in a `DiscovererInfo` structure. ...@@ -19,13 +19,7 @@ All the information is returned in a `DiscovererInfo` structure.
# Implements # Implements
[`DiscovererExt`](trait.DiscovererExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- trait DiscovererExt -->
Trait containing all `Discoverer` methods.
# Implementors
[`Discoverer`](struct.Discoverer.html)
<!-- impl Discoverer::fn new --> <!-- impl Discoverer::fn new -->
Creates a new `Discoverer` with the provided timeout. Creates a new `Discoverer` with the provided timeout.
## `timeout` ## `timeout`
...@@ -38,7 +32,7 @@ The new `Discoverer`. ...@@ -38,7 +32,7 @@ The new `Discoverer`.
If an error occurred when creating the discoverer, `err` will be set If an error occurred when creating the discoverer, `err` will be set
accordingly and `None` will be returned. If `err` is set, the caller must accordingly and `None` will be returned. If `err` is set, the caller must
free it when no longer needed using `glib::Error::free`. free it when no longer needed using `glib::Error::free`.
<!-- trait DiscovererExt::fn discover_uri --> <!-- impl Discoverer::fn discover_uri -->
Synchronously discovers the given `uri`. Synchronously discovers the given `uri`.
A copy of `uri` will be made internally, so the caller can safely `g_free` A copy of `uri` will be made internally, so the caller can safely `g_free`
...@@ -50,9 +44,9 @@ The URI to run on. ...@@ -50,9 +44,9 @@ The URI to run on.
the result of the scanning. Can be `None` if an the result of the scanning. Can be `None` if an
error occurred. error occurred.
<!-- trait DiscovererExt::fn discover_uri_async --> <!-- impl Discoverer::fn discover_uri_async -->
Appends the given `uri` to the list of URIs to discoverer. The actual Appends the given `uri` to the list of URIs to discoverer. The actual
discovery of the `uri` will only take place if `DiscovererExt::start` has discovery of the `uri` will only take place if `Discoverer::start` has
been called. been called.
A copy of `uri` will be made internally, so the caller can safely `g_free` A copy of `uri` will be made internally, so the caller can safely `g_free`
...@@ -64,11 +58,11 @@ the URI to add. ...@@ -64,11 +58,11 @@ the URI to add.
`true` if the `uri` was successfully appended to the list of pending `true` if the `uri` was successfully appended to the list of pending
uris, else `false` uris, else `false`
<!-- trait DiscovererExt::fn start --> <!-- impl Discoverer::fn start -->
Allow asynchronous discovering of URIs to take place. Allow asynchronous discovering of URIs to take place.
A `glib::MainLoop` must be available for `Discoverer` to properly work in A `glib::MainLoop` must be available for `Discoverer` to properly work in
asynchronous mode. asynchronous mode.
<!-- trait DiscovererExt::fn stop --> <!-- impl Discoverer::fn stop -->
Stop the discovery of any pending URIs and clears the list of Stop the discovery of any pending URIs and clears the list of
pending URIS (if any). pending URIS (if any).
<!-- trait DiscovererExt::fn connect_discovered --> <!-- trait DiscovererExt::fn connect_discovered -->
...@@ -80,9 +74,10 @@ depending on the circumstances of the error. ...@@ -80,9 +74,10 @@ depending on the circumstances of the error.
## `info` ## `info`
the results `DiscovererInfo` the results `DiscovererInfo`
## `error` ## `error`
`glib::Error`, which will be non-NULL if an error `glib::Error`, which will be non-NULL
occurred during discovery. You must not if an error occurred during
free this `glib::Error`, it will be freed by discovery. You must not free
this `glib::Error`, it will be freed by
the discoverer. the discoverer.
<!-- trait DiscovererExt::fn connect_finished --> <!-- trait DiscovererExt::fn connect_finished -->
Will be emitted in async mode when all pending URIs have been processed. Will be emitted in async mode when all pending URIs have been processed.
...@@ -121,6 +116,16 @@ set on the result flags. ...@@ -121,6 +116,16 @@ set on the result flags.
# Returns # Returns
the average or nominal bitrate of the stream in bits/second. the average or nominal bitrate of the stream in bits/second.
<!-- impl DiscovererAudioInfo::fn get_channel_mask -->
Feature: `v1_14`
# Returns
the channel-mask of the stream, refer to
`gst_audio_channel_positions_from_mask` for more
information.
<!-- impl DiscovererAudioInfo::fn get_channels --> <!-- impl DiscovererAudioInfo::fn get_channels -->
# Returns # Returns
...@@ -206,6 +211,14 @@ matching `DiscovererStreamInfo`. The caller should free it with ...@@ -206,6 +211,14 @@ matching `DiscovererStreamInfo`. The caller should free it with
# Returns # Returns
the duration of the URI in `gst::ClockTime` (nanoseconds). the duration of the URI in `gst::ClockTime` (nanoseconds).
<!-- trait DiscovererInfoExt::fn get_live -->
Feature: `v1_14`
# Returns
whether the URI is live.
<!-- trait DiscovererInfoExt::fn get_misc --> <!-- trait DiscovererInfoExt::fn get_misc -->
# Deprecated # Deprecated
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
# Implements # Implements
[`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html) [`gst::ObjectExt`](../gst/trait.ObjectExt.html), [`glib::object::ObjectExt`](../glib/object/trait.ObjectExt.html)
<!-- impl Player::fn new --> <!-- impl Player::fn new -->
Creates a new `Player` instance that uses `signal_dispatcher` to dispatch Creates a new `Player` instance that uses `signal_dispatcher` to dispatch
signals to some event loop system, or emits signals directly if NULL is signals to some event loop system, or emits signals directly if NULL is
...@@ -57,6 +57,20 @@ Since 1.10 ...@@ -57,6 +57,20 @@ Since 1.10
a `Player` configuration a `Player` configuration
## `interval` ## `interval`
interval in ms interval in ms
<!-- impl Player::fn config_set_seek_accurate -->
Enable or disable accurate seeking. When enabled, elements will try harder
to seek as accurately as possible to the requested seek position. Generally
it will be slower especially for formats that don't have any indexes or
timestamp markers in the stream.
If accurate seeking is disabled, elements will seek as close as the request
position without slowing down seeking too much.
Accurate seeking is disabled by default.
## `config`
a `Player` configuration
## `accurate`
accurate seek or not
<!-- impl Player::fn config_set_user_agent --> <!-- impl Player::fn config_set_user_agent -->
Set the user agent to pass to the server if `player` needs to connect 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 to a server during playback. This is typically used when playing HTTP
...@@ -103,18 +117,6 @@ a `None` terminated array of `PlayerVisualization` to free ...@@ -103,18 +117,6 @@ a `None` terminated array of `PlayerVisualization` to free
a `None` terminated array containing all available a `None` terminated array containing all available
visualizations. Use `Player::visualizations_free` after visualizations. Use `Player::visualizations_free` after
usage. usage.
<!-- impl Player::fn config_set_seek_accurate -->
Enable or disable accurate seeking. When enabled, elements will try harder
to seek as accurately as possible to the requested seek position. Generally
it will be slower especially for formats that don't have any indexes or
timestamp markers in the stream.
If accurate seeking is disabled, elements will seek as close as the request
position without slowing down seeking too much.
Accurate seeking is disabled by default.
## `accurate`
accurate seek or not
<!-- impl Player::fn get_audio_video_offset --> <!-- impl Player::fn get_audio_video_offset -->
Retrieve the current value of audio-video-offset property Retrieve the current value of audio-video-offset property
...@@ -349,7 +351,9 @@ Enable or disable the current subtitle track. ...@@ -349,7 +351,9 @@ Enable or disable the current subtitle track.
## `enabled` ## `enabled`
TRUE or FALSE TRUE or FALSE
<!-- impl Player::fn set_subtitle_uri --> <!-- impl Player::fn set_subtitle_uri -->
Sets the external subtitle URI. Sets the external subtitle URI. This should be combined with a call to
gst_player_set_subtitle_track_enabled(`self`, TRUE) so the subtitles are actually
rendered.
## `uri` ## `uri`
subtitle URI subtitle URI
<!-- impl Player::fn set_uri --> <!-- impl Player::fn set_uri -->
......
...@@ -571,6 +571,21 @@ a `RTSPContext` ...@@ -571,6 +571,21 @@ a `RTSPContext`
a `RTSPContext` a `RTSPContext`
<!-- trait RTSPClientExt::fn connect_teardown_request --> <!-- trait RTSPClientExt::fn connect_teardown_request -->
## `ctx` ## `ctx`
a `RTSPContext`
<!-- struct RTSPContext -->
Information passed around containing the context of a request.
<!-- impl RTSPContext::fn pop_current -->
Pops `self` off the context stack (verifying that `self`
is on the top of the stack).
<!-- impl RTSPContext::fn push_current -->
Pushes `self` onto the context stack. The current
context can then be received using `RTSPContext::get_current`.
<!-- impl RTSPContext::fn get_current -->
Get the current `RTSPContext`. This object is retrieved from the
current thread that is handling the request for a client.
# Returns
a `RTSPContext` a `RTSPContext`
<!-- struct RTSPMedia --> <!-- struct RTSPMedia -->
A class that contains the GStreamer element along with a list of A class that contains the GStreamer element along with a list of
...@@ -609,6 +624,15 @@ the list of dynamic elements. ...@@ -609,6 +624,15 @@ the list of dynamic elements.
Find all depayloader elements, they should be named depay\%d in the Find all depayloader elements, they should be named depay\%d in the
element of `self`, and create `GstRTSPStreams` for them. 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.
## `transports`
a list of `gst_rtsp::RTSPTransport`
# Returns
`true` if the media pipeline has been sucessfully updated.
<!-- trait RTSPMediaExt::fn create_stream --> <!-- trait RTSPMediaExt::fn create_stream -->
Create a new stream in `self` that provides RTP data on `pad`. Create a new stream in `self` that provides RTP data on `pad`.
`pad` should be a pad of an element inside `self`->element. `pad` should be a pad of an element inside `self`->element.
...@@ -830,6 +854,17 @@ a `gst_rtsp::RTSPTimeRange` ...@@ -830,6 +854,17 @@ a `gst_rtsp::RTSPTimeRange`
# Returns # Returns
`true` on success.
<!-- trait RTSPMediaExt::fn seek_full -->
Seek the pipeline of `self` to `range`. `self` must be prepared with
`RTSPMediaExt::prepare`.
## `range`
a `gst_rtsp::RTSPTimeRange`
## `flags`
The minimal set of `gst::SeekFlags` to use
# Returns
`true` on success. `true` on success.
<!-- trait RTSPMediaExt::fn set_address_pool --> <!-- trait RTSPMediaExt::fn set_address_pool -->
configure `pool` to be used as the address pool of `self`. configure `pool` to be used as the address pool of `self`.
...@@ -992,6 +1027,13 @@ will be created and the role will be added to it. ...@@ -992,6 +1027,13 @@ will be created and the role will be added to it.
a role a role
## `fieldname` ## `fieldname`
the first field name the first field name
<!-- trait RTSPMediaFactoryExt::fn add_role_from_structure -->
A convenience wrapper around `RTSPPermissions::add_role_from_structure`.
If `self` had no permissions, new permissions will be created and the
role will be added to it.
Feature: `v1_14`
<!-- trait RTSPMediaFactoryExt::fn construct --> <!-- trait RTSPMediaFactoryExt::fn construct -->
Construct the media object and create its streams. Implementations Construct the media object and create its streams. Implementations
should create the needed gstreamer elements and add them to the result should create the needed gstreamer elements and add them to the result
...@@ -1107,7 +1149,7 @@ methods. ...@@ -1107,7 +1149,7 @@ methods.
# Returns # Returns
The supported transport modes. The transport mode.
<!-- trait RTSPMediaFactoryExt::fn is_eos_shutdown --> <!-- trait RTSPMediaFactoryExt::fn is_eos_shutdown -->
Get if media created from this factory will have an EOS event sent to the Get if media created from this factory will have an EOS event sent to the
pipeline before shutdown. pipeline before shutdown.
...@@ -1742,6 +1784,13 @@ the stream index ...@@ -1742,6 +1784,13 @@ the stream index
a `RTSPStreamTransport` that is a `RTSPStreamTransport` that is
valid until the session of `self` is unreffed. valid until the session of `self` is unreffed.
<!-- trait RTSPSessionMediaExt::fn get_transports -->
Get a list of all available `RTSPStreamTransport` in this session.
# Returns
a
list of `RTSPStreamTransport`, g_ptr_array_unref () after usage.
<!-- trait RTSPSessionMediaExt::fn matches --> <!-- trait RTSPSessionMediaExt::fn matches -->
Check if the path of `self` matches `path`. It `path` matches, the amount of Check if the path of `self` matches `path`. It `path` matches, the amount of
matched characters is returned in `matched`. matched characters is returned in `matched`.
...@@ -1918,20 +1967,25 @@ a `RTSPStreamTransport` ...@@ -1918,20 +1967,25 @@ a `RTSPStreamTransport`
`true` if `trans` was added `true` if `trans` was added
<!-- trait RTSPStreamExt::fn allocate_udp_sockets --> <!-- trait RTSPStreamExt::fn allocate_udp_sockets -->
Allocates RTP and RTCP ports. Allocates RTP and RTCP ports.
# Deprecated
This function shouldn't have been made public
## `family` ## `family`
protocol family protocol family
## `transport` ## `transport`
transport method transport method
## `use_client_setttings` ## `use_client_settings`
Whether to use client settings or not Whether to use client settings or not
# Returns # Returns
`true` if the RTP and RTCP sockets have been succeccully allocated. `true` if the RTP and RTCP sockets have been succeccully allocated.
<!-- trait RTSPStreamExt::fn complete_stream -->
Add a receiver and sender part to the pipeline based on the transport from
SETUP.
## `transport`
a `gst_rtsp::RTSPTransport`
# Returns
`true` if the stream has been sucessfully updated.
<!-- trait RTSPStreamExt::fn get_address_pool --> <!-- trait RTSPStreamExt::fn get_address_pool -->
Get the `RTSPAddressPool` used as the address pool of `self`.