Commit graph

2846 commits

Author SHA1 Message Date
Sanchayan Maity
753425507a Migrate transcriber to aws sdk
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-06-14 08:03:49 +00:00
Sanchayan Maity
768fad2445 Migrate s3src and s3sink to use AWS SDK
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-06-14 08:03:49 +00:00
Sebastian Dröge
dccd4c3306 sodium: Update to no-deprecated clap 3.2 API
See https://github.com/clap-rs/clap/issues/3822
2022-06-14 10:39:31 +03:00
Sebastian Dröge
79bce5ddea deny: Update 2022-06-14 10:35:28 +03:00
Mathieu Duponchelle
ec46b706e9 webrtcsink: don't use framerate halving as mitigation when 0/1
Fixes #65
2022-06-08 01:35:21 +02:00
Sebastian Dröge
b1b3930e2b colordetect: Update to color-thief release 2022-06-07 10:01:01 +03:00
Sebastian Dröge
87f5d0b31c ci: Fix syntax for coverage reports to the new format 2022-06-07 09:36:03 +03:00
Sebastian Dröge
0b8883e3ca deny: Update 2022-06-06 11:58:46 +03:00
Sebastian Dröge
427ebcd759 uriplaylistbin: Update to more-asserts 0.3 2022-06-06 11:55:52 +03:00
Seungha Yang
4072f1df34 fallbacksrc: Add fallback-{audio,video}-caps properties
Add new properties so that user can specify output raw audio and/or
video format of fallback stream (output of testsrc or still image)
2022-06-03 13:18:38 +00:00
Mathieu Duponchelle
d40b804952 webrtcsink: implement per-transceiver navigation support 2022-06-03 00:14:41 +02:00
Mathieu Duponchelle
29ed333b97 input: simplify by calling Stringify in the same place 2022-06-03 00:14:41 +02:00
Mathieu Duponchelle
f2f71024b6 input: simplify processing of keyboard events
Simply let all keyboard events be consumed when the video element
is in focus, and go through otherwise
2022-06-03 00:14:41 +02:00
Mathieu Duponchelle
3beb712e16 input.js: fix button index on mouse events
The buttonMask variable was useless and using it as the button index
in the navigation events was nonsensical.

In addition, the button index must be increased by one to map it to
the X domain.
2022-06-03 00:14:41 +02:00
Mathieu Duponchelle
42f2ae7c2b vpxenc: don't set resize-allowed to true
It wasn't clear what the purpose of setting it was in the first
place, and it was causing libvpx to print warnings at runtime ..
2022-06-02 23:22:24 +02:00
Jan Alexander Steffens (heftig)
a5dd92f479
fallbackswitch: Reset timeout_clock_id on timeout
We shouldn't leave the used clock ID around. Otherwise, we might never
schedule a new timeout from an inactive pad if the active pad doesn't
get a buffer.
2022-06-02 11:07:20 +02:00
Jan Alexander Steffens (heftig)
90ad761d83
fallbackswitch: Use cancel_timeout in schedule_timeout
Dedupe the code and use the function that does the exact same thing.
2022-06-02 11:07:20 +02:00
Sebastian Dröge
f7f65e5bcb audiofx: Update to nnnoiseless 0.5 2022-05-31 13:06:44 +03:00
Guillaume Desmottes
0dd0acd738 uriplaylistbin: disable more tests
Those are not reliable either.
2022-05-30 09:23:52 +02:00
Klaas Jan Russcher
f327053811 cargo_wrapper.py: added python3 version check for right usage of shutil.move(..) 2022-05-27 21:34:35 +02:00
Mathieu Duponchelle
ab01fc6143 onvifaggregator: refactor to support duration-less media buffers
For instance when dealing with a variable framerate media stream,
input media buffers may not hold a duration, in which case we try
to calculate one by waiting for the following buffer.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/765>
2022-05-25 17:35:04 +00:00
Mathieu Duponchelle
77260a8442 onvifaggregator: implement proper EOS support
We could otherwise busy loop in aggregate forever when the meta
sink pad received EOS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/765>
2022-05-25 17:35:04 +00:00
Mathieu Duponchelle
2c855b9cfe signalling: send pings at 30-second intervals
Some routers might otherwise time out websocket connections

Fixes #58
2022-05-25 19:13:23 +03:00
Jan Alexander Steffens (heftig)
68c55ca413
fallbackswitch: Recheck active_sinkpad after schedule_timeout
`schedule_timeout` can synchronously call `handle_timeout` and change the
active pad. We need to update `is_active` afterwards.

After calling `schedule_timeout` with `end_running_time`, we used to
assume there was no pad switch and reset `switched_pad` immediately. If
the pad actually got switched, this would make us miss a sticky events
update.
2022-05-25 17:53:55 +02:00
Sebastian Dröge
d77929252a deny: Update for removed duplicated dependencies 2022-05-24 10:08:57 +03:00
Guillaume Desmottes
351453c132 add snapshotting tracer
Convenient tracer to dump all the existing pipelines when receiving the
SIGUSR1 Unix signal.
2022-05-23 13:52:52 +02:00
Thibault Saunier
f6f079f3a8 Use StreamConsumer from gstreamer itself
Merged in https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1022
2022-05-23 13:52:39 +02:00
Sebastian Dröge
d18270a391 deny: Update 2022-05-22 16:35:09 +03:00
Sebastian Dröge
a0455b5e00 spotifyaudiosrc: Update to librespot 0.4 2022-05-22 16:28:59 +03:00
Sebastian Dröge
d6fa921822 fmp4mux: Use saturing_sub() in more places
On unclean input, PTS/DTS might go backwards a bit and in those cases
calculate a duration of 0 instead of panicking.
2022-05-20 15:03:06 +03:00
Sebastian Dröge
6bca5a9962 fmp4mux: Implement interleaving based on start timestamps instead of accumulated durations
Durations might accumulate rounding errors and streams might not
actually start at the same time. For that reason also start with the
stream that has the lowest timestamp.
2022-05-20 15:03:06 +03:00
Sebastian Dröge
d7bd4c1c93 fmp4mux: Implement handling of GAP events 2022-05-20 15:03:04 +03:00
Sebastian Dröge
987e4efc02 fmp4mux: In live pipelines use the current fragment end time as timeout
This allows muxing even if some streams are sparse or have big gaps.
2022-05-20 15:02:46 +03:00
Sebastian Dröge
ffea0e2d2d fmp4mux: Add support for ONVIF timed XML metadata 2022-05-19 17:55:07 +03:00
Sebastian Dröge
e4634ca2fe fmp4mux: Add ONVIF variant with support for additional codecs
This variant supports H264/5, JPEG, alaw, mulaw and G726.
2022-05-19 17:55:07 +03:00
Sebastian Dröge
0206178279 fmp4mux: Check for force-keyunit events on both pads in the multistream test 2022-05-19 17:55:07 +03:00
Sebastian Dröge
4bc0ae09fa fmp4mux: Use saturing subtraction to calculate sample durations
PTS/DTS might go backwards if the input is borderline broken but that
shouldn't cause a panic.
2022-05-13 10:54:23 +00:00
Sebastian Dröge
dcad6ffe34 rtponvifdepay: Set caps on the source pad
The RTP depayloader base class does not take care of this in any way and
it has to be done manually.
2022-05-13 13:34:30 +03:00
Sebastian Dröge
b9bc331ebc ci: Generate coverage report also for crates with external dependencies 2022-05-12 18:32:04 +03:00
Sebastian Dröge
50980a0b3e fmp4mux: Add to default workspace members 2022-05-12 18:31:22 +03:00
Sebastian Dröge
cfb59100d6 fmp4mux: Add test for muxing of multiple streams 2022-05-12 18:31:02 +03:00
Sebastian Dröge
e06665b92d fmp4mux: Add support for multiple input streams 2022-05-12 18:31:02 +03:00
Sebastian Dröge
31a32a7e2e fmp4mux: Add support for writing out multiple tracks in the serialization code
Not yet exposed from the element.
2022-05-12 18:31:02 +03:00
Sebastian Dröge
c09b7b9e41 fmp4mux: Port to aggregator as base class as preparation for supporting multiple streams 2022-05-12 18:31:02 +03:00
Sebastian Dröge
23cc00ce4b fmp4mux: Write sample flags in tfhd if there's only a single sample
Instead of declaring them to be in the `tfhd` but not writing them into
the `tfhd` but also not the `trun`.
2022-05-12 18:31:02 +03:00
Jan Alexander Steffens (heftig)
d27e279272
fallbackswitch: Move active_sinkpad out of State into its own Mutex
As described in issue #200, we hold the srcpad's stream lock in some
situations where we notify the `active-pad` property.

If there's a handler installed it will most likely attempt to read the
property, which had to take the `state` lock. Another thread could
already be holding this lock and attempting to obtain the srcpad's
stream lock. This resulted in a deadlock.

To avoid this, move the `active_sinkpad` field into its own Mutex, which
we never hold for long.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/200
2022-05-12 16:52:07 +02:00
Arun Raghavan
557917b92a dav1ddec: Write src_query() in match syntax for easier extensibility
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698>
2022-05-11 10:02:27 -04:00
Arun Raghavan
2c3514a5a1 dav1ddec: Deal with the possibilty of 0/1 fps in latency math
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698>
2022-05-11 10:02:10 -04:00
Arun Raghavan
7eb67de34c dav1ddec: Use sink_pad() convenience accessor
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698>
2022-05-11 10:01:51 -04:00
Arun Raghavan
3250675e78 dav1ddec: Move state to Mutex from Arc
This is needed because we may now access state concurrently with and
outside of the streaming thread during a LATENCY query.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/698>
2022-05-11 10:01:51 -04:00