Commit graph

2228 commits

Author SHA1 Message Date
Sebastian Dröge e52d1fa317 fmp4mux: Ensure that DTS (or PTS for intra-only streams) are monotonically increasing 2022-06-30 16:51:03 +03:00
Sebastian Dröge 402500f79c fmp4mux: Dequeue as many buffers as are available in each aggregate call 2022-06-30 16:51:03 +03:00
Sebastian Dröge 7e2cf613b4 fmp4mux: Add debug output for each fragment's start PTS 2022-06-30 16:51:03 +03:00
Sebastian Dröge 3d7a38f7d4 fmp4mux: Fix draining if there are no GOPs for a stream 2022-06-30 16:51:03 +03:00
Sebastian Dröge a1553a8411 fmp4mux: Fix some clippy warnings 2022-06-30 16:51:03 +03:00
Sebastian Dröge 191a48ca41 fmp4mux: Write header as late as possible
Especially do it only after the initial fragment's information are all
known.
2022-06-30 16:51:03 +03:00
Sebastian Dröge 4ef0e26762 fmp4mux: Refactor timestamp handling for writing out data
Pass less data around and calculate the values we need to work with
earlier.
2022-06-30 16:50:59 +03:00
Sebastian Dröge 0a02d8c096 fmp4mux: Write tref box for ONVIF timed metadata tracks to reference the first video track 2022-06-30 16:35:56 +03:00
Sebastian Dröge 6edb188899 fmp4mux: Fix usage of first_sample_flags/default_sample_flags
Previously first_sample_flags was never used so if the first sample was
a keyframe and all others not then each sample got its own flags.
2022-06-30 16:35:56 +03:00
Sebastian Dröge 51c7d0652e Fix/silence a couple new clippy warnings 2022-06-30 16:07:32 +03:00
François Laignel a45f944edd ts/async_wrapper: remove fd from reactor before dropping its handle
The I/O handle was dropped prior to removing it from the reactor,
which caused `Poller::delete` to fail due to an invalid file
descriptor. This used to happen silently unless the same fd was
added again, e.g. by changing states in the pipeline as follow:

    Null -> Playing -> Null -> Playing.

In which case `Poller::add` failed due to an already existing file.

This commit makes sure the fd is removed from the reactor prior to
dropping the handle. In order to achieve this, a new task is spawned
on the `Context` on which the I/O was originally registered, allowing
it to access the proper `Reactor`. The I/O can then safely be dropped.

Because the I/O handle is moved to the spawned future, this solution
requires adding the `Send + 'static` bounds to the I/O handle used
within the `Async` wrapper. This appears not too restrictive for
existing implementations though. Other attempts were considered,
but they would cause deadlocks.

This new approach also solves a potential race condition where a
fd could be re-registered in a `Reactor` before it was removed.
2022-06-30 11:13:39 +00:00
François Laignel 06273ed628 ts: add test pipeline::socket_play_null_play 2022-06-30 11:13:39 +00:00
Sanchayan Maity a85a647794 net/aws: Add support for S3 HLS sink
This is a helper bin allowing the output of HLS sink to be uploaded
to S3.
2022-06-29 17:35:37 +00:00
Sanchayan Maity e0594ef349 net/aws/aws_transcriber: Fix clippy warning 2022-06-29 17:35:37 +00:00
Sanchayan Maity 7bc785fba3 net/aws: Clean up pending rusoto references 2022-06-29 17:35:37 +00:00
Sebastian Dröge cb84206457 Fix a couple of new 1.62 clippy warnings 2022-06-28 14:52:20 +03:00
Sebastian Dröge 5c00db62b7 aws: Update to aws 0.14/0.44 2022-06-27 10:11:16 +03:00
Rajneesh Soni b3e558bec0 aws: s3sink,s3src,transcriber: Add property to set temporary credentials.
STS provide temporary credentials to access AWS resource. Temporary
credentials include, AccessKeyId, SecretAccessKey and SessionToken.
With session-token property, element will be able to use temporary
credentials. When session-token is not set, element can use long
term credentials.
2022-06-22 18:45:41 +00:00
Sebastian Dröge a041943287 deny: Update 2022-06-21 06:45:24 +00:00
Sebastian Dröge d902ecca4f aws: Update to aws 0.13/0.43 2022-06-21 06:45:24 +00:00
Seungha Yang 263ccbc64a audioloudnorm: Drain on segment event
Otherwise output buffer and segment would not be serialized as expected
2022-06-20 21:57:04 +09:00
Tim-Philipp Müller 1ca75c31ae README: mention cargo update to resolve dep issues after git updates 2022-06-20 11:48:32 +01:00
Mathieu Duponchelle 806d101d87 transcriberbin: remove print statement
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/784>
2022-06-17 16:14:54 +02:00
Mathieu Duponchelle 20d2a7d05b onvifoverlay: render polygons when present 2022-06-15 14:32:48 +00:00
Sebastian Dröge 5dac064a49 fallbackswitch: Remove unused libc dependency/feature 2022-06-15 09:48:19 +03:00
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
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