Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
min-latency
The fallback stream will usually have a lower latency than the main
stream, so a too low latency would be configured if the fallback is
activated in the beginning.
This property allows to override this and does not require latency
reconfiguration.
|
|
imagefreeze in live mode can handle only up to 1 frame of buffering
itself.
|
|
considering them too late
This mirrors the processing-deadline property on various elements, but
for now just with a hardcoded value.
|
|
too long
Buffers are still forwarded until the timeout is reached even if they're
too late, but if they were continuously too late for more than the
duration of the timeout setting then switch to the fallback stream
instead.
|
|
EOS might be unexpected and the stream might be supposed to run forever,
in which case it should transparently be restarted on EOS.
|
|
|
|
Instead of the main stream, pretending all to be ok.
|
|
This also fixes the bug that the source wouldn't be restarted another
time if we switched to the fallback stream before and didn't at least
shortly switch to the normal stream. There was no timeout for this.
Based on a patch by Mathieu Duponchelle <mathieu@centricular.com>
|
|
b3138ad0411c68b59a2df8ce8a27511e0fb21916 added the field for
that purpose, let's also use it!
|
|
Workaround for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/553
|
|
|
|
|
|
|
|
Otherwise we would start outputting at running time 0, which is going to
be wrong if the pipeline was already running for a while.
Requires https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653
|
|
of new()
And new video event APIs.
|
|
can't be found
|
|
write/construct-only
It's only used during construction of the internal bin after all.
Keeping it readable would cause e.g. creating a pipeline graph trying to
read it, which is not implemented.
|
|
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/532
|
|
Less unsafe code.
|
|
Only two uses of unsafely setting the pad functions is left:
- fallbacksrc for overriding the chain function of the proxy pad of a
ghost pad
- threadshare for overriding the pad functions after creationg, which
probably needs some fixing at some point
|
|
|
|
|
|
If we switch to the fallback stream but the last buffering activity was
less than $timeout ago, we shouldn't restart the source yet but wait a
bit longer. However for that we actually need to schedule another
timeout, which was not happening before.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/116
|
|
the timeout triggered
It will take a moment for the fallbackswitch to actually switch to the
main stream. So instead take into account the time since the last
buffering update even when we reached 100%, and don't reset that time
when reaching 100%.
|
|
network buffering
|
|
stream collection
It might be a second stream collection that we receive at a later time,
and the previous pads would already be unblocked at that point. So block
all currently unblocked pads again and then adjust the offset
according to the new situation.
This fixes playback of various RTMP streams where usually we first get a
stream collection with only one of the two streams, and shortly
afterwards with both streams.
|
|
Maybe now all pads we're waiting for were already removed or are ready.
|
|
|
|
We don't do any selection ourselves yet so work based on the selection
that uridecodebin does for us.
|
|
source element
This works as an alternative to the "uri" property, which would use an
`uridecodebin3` element.
The provided source element can have static audio/video pads or provide
them as sometimes pad while signalling no-more-pads or a stream
collection message once all pads are available.
|
|
While continuous in time, each recording start will be a discontinuity
in audio/video content.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/336>
|
|
|
|
|
|
time
They were already converted to the running time a few lines above and
updated inside the buffer. Converting another time for the timeout
causes the timeout to happen at the wrong time, usually much later than
it should.
|
|
And not in the source code, it's a build decision.
|
|
|
|
playback of an URI
This is a wrapper around uridecodebin3 and fallbackswitch that allows to
switch to a still frame on errors and automatically retries the source
in the background on errors until a given retry timeout is reached.
|
|
|
|
The proper SPDX name is LGPL-2.1-or-later, see https://spdx.org/licenses/
|
|
master
|
|
|
|
See gstreamer-rs commit b21f5764309f9f65666016a9069e1b938935e6f2
|
|
|
|
This should start making navigating the tree a little easier to start
with, and we can then move to allowing building specific groups of
plugins as well.
The plugins are moved into the following hierarchy:
audio
/ gst-plugin-audiofx
/ gst-plugin-claxon
/ gst-plugin-csound
/ gst-plugin-lewton
generic
/ gst-plugin-file
/ gst-plugin-sodium
/ gst-plugin-threadshare
net
/ gst-plugin-reqwest
/ gst-plugin-rusoto
utils
/ gst-plugin-fallbackswitch
/ gst-plugin-togglerecord
video
/ gst-plugin-cdg
/ gst-plugin-closedcaption
/ gst-plugin-dav1d
/ gst-plugin-flv
/ gst-plugin-gif
/ gst-plugin-rav1e
gst-plugin-tutorial
gst-plugin-version-helper
|