Commit graph

1781 commits

Author SHA1 Message Date
Mathieu Duponchelle abf872130a fallbackswitch: fix gap processing regression
This was broken by the rewrite, receiving gaps on the main pad
should let the position progress, reset timeouts and keep the main
pad active.

This picks the simplest solution, transforming gap events into GAP
buffers and letting them go through chain(), this achieves the desired
effect.
2022-06-15 06:21:04 +00:00
Sebastian Dröge dfa5b9d8bb onvifaggregator: Add support for UNIX reference timestamp metadata
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/780>
2022-06-14 23:44:00 +02:00
Sebastian Dröge 939f37dec5 onvif: Disable default features for the chrono dependency
We don't need all those.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/780>
2022-06-14 23:43:47 +02:00
Sanchayan Maity 19f69614a2 aws: s3sink: Add a deprecation warning for retry duration properties
Keeping the upload-part-retry-duration & complete-upload-retry-duration
properties changes the semantics in comparison to their usage in
rusotos3sink. Deprecate these two properties and add a warning while
making them noop.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-06-14 08:03:49 +00:00
Sanchayan Maity 511ee766df Rename rusoto to aws
Now that migration to AWS SDK is complete, rename directory and
references to aws/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 81437bb1c9 net/rusoto: Rename to aws
Rename all the elements to use aws prefix now but still register a
backwards compat element factory.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-06-14 08:03:49 +00:00
Sanchayan Maity 2b0bf218b1 net/rusoto: Drop rusoto crates
Now that all elements are migrated to AWS SDK drop the rusoto
dependencies.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/759>
2022-06-14 08:03:49 +00:00
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
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
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
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
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
Arun Raghavan 5d01bfcb79 dav1ddec: Move decoder init from start() to set_format()
We need a successful LATENCY query to be able to correctly initialise
max frame delay, so let's defer decoder init until we know upstream is
readier for it.

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