Sebastian Dröge
b4f6e7186a
deny: Update configuration
2020-08-10 09:51:52 +03:00
Sebastian Dröge
89346fa945
threadshare/udpsink: Don't hold settings lock while calling into the sink pad handler to clear the clients
...
Otherwise we can deadlock because of a lock order issue:
- render() is called with the sink pad handler lock and takes the
settings lock
- clearing clients takes the sink pad handler lock
2020-08-10 09:39:07 +03:00
Sebastian Dröge
98b618cc9d
utils/togglerecord: Fix timestamp tracking logic for partially overlapping timestamps
...
And various other cases. Also adjust one of the tests accordingly and
improve assertions to print more information about internal
inconsistencies.
2020-08-06 11:56:59 +00:00
Vivia Nikolaidou
a91e8aadb2
fallbackswitch: Consistently store running time in last_sinkpad_time
...
It was using buffer timestamps mixed with running time
2020-08-05 18:49:44 +00:00
Sebastian Dröge
4b171ec7ff
utils/fallbacksrc: Remove pad probes before restarting the source
...
Otherwise the source might be blocked downstream in the pad probe on the
queue. Previously this was not a problem because the probes were
directly on the srcpads of the source but due to a workaround for
uridecodebin3 buffering bugs this is not the case anymore.
2020-08-04 10:37:08 +03:00
Sebastian Dröge
a2c0d70930
utils/fallbacksrc: Don't schedule a source restart timeout if the source is already pending restart
2020-08-04 10:36:45 +03:00
Sebastian Dröge
9ebcfbf333
utils/fallbacksrc: Improve debug output related to pad probes
2020-08-04 10:36:28 +03:00
Sebastian Dröge
0ce36c0f76
utils/fallbacksrc: Forward the state change return of custom sources
...
Without this, custom sources that are live are not actually considered
live.
2020-08-03 17:56:15 +03:00
Sebastian Dröge
42a3cf8bb2
utils/fallbacksrc: Fix debug output in pad probe callback
...
Let's print the name of the source's srcpad that is going to be blocked
instead of the "src" pad of the following queue. Without this it's hard
to distinguish the different streams from the logs.
2020-08-03 17:55:35 +03:00
Sebastian Dröge
30c711886e
utils/fallbacksrc: Add a 1s queue between uridecodebin and clocksync and do buffering after the queue
...
This adds 1s more buffering (of uncompressed data), but works around
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/800
2020-07-30 14:53:18 +03:00
Sebastian Dröge
34fab8786f
utils/fallbacksrc: Fix fallback stream detection if only audio or video is enabled
2020-07-30 14:35:34 +03:00
Jan Alexander Steffens (heftig)
7a2c8768ad
meson: Install plugins
2020-07-29 15:48:31 +02:00
Sebastian Dröge
a022bbe260
Fix some new clippy warnings
2020-07-28 18:52:11 +03:00
Sebastian Dröge
7255c1d204
ci: set -e
in all shell scripts
...
Otherwise errors are silently ignored.
2020-07-28 09:47:44 +03:00
Sebastian Dröge
4d19fbb58d
deny: Update by removing unneeded overrides and adding tungstenite for old sha-1 version
2020-07-28 09:47:03 +03:00
Sebastian Dröge
04e98f9306
ci: Update CI image for dav1d 0.7.1
2020-07-28 09:47:00 +03:00
Sebastian Dröge
3189ab6e81
deny: Remove unused git dependencies
2020-07-27 10:41:43 +03:00
Sebastian Dröge
786ee001b3
rusoto: Update async-tungstenite dependency to 0.8
2020-07-27 07:28:11 +00:00
Sebastian Dröge
c556c1f164
rusoto: Update to rusoto 0.45
2020-07-26 18:46:50 +03:00
Sebastian Dröge
0eb777cf5a
Update for removal of ObjectImpl::get_type_data()
2020-07-26 18:46:32 +03:00
Sebastian Dröge
1730de6cea
video/gif: Add description to Cargo.toml
2020-07-10 13:07:17 +03:00
Sebastian Dröge
ad34160083
video/gif: Don't set NON_DROPPABLE flag on buffers
...
It doesn't make sense in this context and the flag only exists since
1.12.
2020-07-10 13:07:17 +03:00
Sebastian Dröge
6061d22fad
video/dav1d/rav1e: Depend on gstreamer-video 1.12 for the 12 bit formats
...
Can be made conditional if someone needs that.
2020-07-10 13:07:07 +03:00
Sebastian Dröge
54c5612ac8
utils/fallbackswitch: Enable the v1_18 feature now that it exists
2020-07-10 13:06:28 +03:00
Sebastian Dröge
e9b61b733d
Add LICENSE files to each individual crate
2020-07-10 13:06:28 +03:00
Sebastian Dröge
5e1ce7f9a7
utils/fallbacksrc: Proxy the uridecodebin3 buffer-duration property
2020-07-10 11:14:33 +03:00
Sebastian Dröge
2b892ec01a
utils/fallbacksrc: Proxy the aggregator min-upstream-latency property as 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.
2020-07-08 13:43:06 +03:00
Sebastian Dröge
45f547c4be
fallbacksrc: Configure up to 5s of buffering on the fallback stream
...
imagefreeze in live mode can handle only up to 1 frame of buffering
itself.
2020-07-07 14:29:07 +03:00
Sebastian Dröge
879767599e
utils/fallbackswitch: Allow buffers to be up to 40ms too late before considering them too late
...
This mirrors the processing-deadline property on various elements, but
for now just with a hardcoded value.
2020-07-07 10:21:24 +03:00
Sebastian Dröge
55f3349b39
utils/fallbackswitch: Timeout the main stream if buffers were too late for 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.
2020-07-06 07:59:52 +00:00
Sebastian Dröge
daa6cfbb6a
utils/fallbacksrc: Add property to optionally restart the source on EOS
...
EOS might be unexpected and the stream might be supposed to run forever,
in which case it should transparently be restarted on EOS.
2020-07-03 15:37:36 +03:00
Sebastian Dröge
2903d4a66c
fallbacksrc: Refactor some code to reduce code duplication
2020-07-03 09:53:55 +03:00
Sebastian Dröge
7945de32eb
fallbackswitch: Report None as active-pad if we had no output yet
...
Instead of the main stream, pretending all to be ok.
2020-07-02 14:46:59 +03:00
Sebastian Dröge
44ad0a2f52
fallbacksrc: Differentiate between fallback and restart timeout
...
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>
2020-07-02 14:46:59 +03:00
Mathieu Duponchelle
f7fc5bb0a3
fallbacksrc: add missing assignment to source_pending_timeout
...
b3138ad041
added the field for
that purpose, let's also use it!
2020-07-02 11:51:16 +03:00
Sebastian Dröge
2192c9d3b4
fallbacksrc: Unset ghost pad targets before removing from the element
...
Workaround for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/553
2020-07-02 11:38:01 +03:00
Sebastian Dröge
bde998ce50
video/cdgdec: Box CdgInterpreter state to prevent GObject private size to become too big
...
Only 64k are allowed for the sum of all private instance structs in the
class hierarchy, as well as for the public instance structs.
The CdgInterpreter itself is huge and adding just another two integers
to GstVideoDecoderPrivate in libgstvideo is causing the limit to be
reached, so let's allocate it in a separate memory area.
2020-07-01 01:51:23 +03:00
Sebastian Dröge
a28455f0ce
Update for Element::post_message() signature change
2020-06-30 21:28:02 +00:00
François Laignel
e2f27e77ce
threadshare: use tokio tag
2020-06-30 09:25:20 +00:00
Sebastian Dröge
48c20471d5
Fix compilation after flags cleanup
2020-06-30 12:04:50 +03:00
Sebastian Dröge
11d17b8de9
deny: Update for latest version of dependencies
2020-06-30 11:02:23 +03:00
Sebastian Dröge
d03c6cb26a
Update various dependencies
2020-06-30 10:49:27 +03:00
Sebastian Dröge
86e983ef11
fallbacksrc: Try setting imagefreeze to live mode
...
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
2020-06-29 12:03:57 +03:00
Sebastian Dröge
f62c11f851
Update for functions returning a Builder being renamed to builder() instead of new()
...
And new video event APIs.
2020-06-25 19:49:07 +03:00
Sebastian Dröge
392bfc0b1e
fallbacksrc: Create an identity sync=true
if the new clocksync
element can't be found
2020-06-25 13:58:22 +03:00
Sebastian Dröge
2e13e4ce73
fallbacksrc: Mark internal source property for custom sources as 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.
2020-06-25 13:47:45 +03:00
François Laignel
e40267e95d
event,message,query: update instantiation
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/532
2020-06-25 11:26:32 +02:00
Sebastian Dröge
fe274ac6e7
fallbacksrc: Use new proxy_pad_chain_function() support when building pads
...
Less unsafe code.
2020-06-23 10:01:27 +03:00
Sebastian Dröge
fc20df294e
Remove a few unused dependencies
2020-06-22 16:29:13 +03:00
Sebastian Dröge
9bb3e75fb9
Update to use the new pad builders for safely setting pad functions
...
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
2020-06-22 11:28:19 +03:00