Commit graph

1438 commits

Author SHA1 Message Date
Sebastian Dröge b9887e1057 Update versions to 0.8.3 2022-03-08 19:49:16 +02:00
Sebastian Dröge 3da3c2591c Update Cargo.lock 2022-03-08 19:23:26 +02:00
Seungha Yang ce24ca965e transcriberbin: Fix deadlock
Fix race between latency query handler and setup_transcription()
method.

Locking order of setup_transcription() is
state lock -> setup_transcription() -> settings lock
So taking state lock inside of setting lock in src_query()
can cause deadlock.
2022-03-08 19:23:26 +02:00
Sebastian Dröge 1c2d4d4350 rusoto: Update async-tungstenite dependency to 0.17 2022-03-08 19:23:26 +02:00
Sebastian Dröge 8747b569b7 audiofx: Update nnoiseless dependency to 0.4 2022-03-08 19:23:26 +02:00
Sebastian Dröge cb0a67fc31 textwrap: Update for textwrap 0.15 API changes 2022-03-08 19:23:26 +02:00
Seungha Yang 88262e596d fallbacksrc: Disconnect signals on ReadyToNull
Otherwise multiple signal handlers will be connected to the source
2022-03-08 19:23:26 +02:00
Sebastian Dröge 29006999a4 fallbacksrc: Changing the URI of the video fallback is supported in NULL state
And not just during construction.

This fixes switching from a failing video fallback to a dummy fallback,
which was added in c7fe08bf6.
2022-03-08 19:23:26 +02:00
Arun Raghavan 249b0ac4c1 rusoto: s3sink: Implement timeout/retry for part uploads
Rusoto does not implement timeouts or retries for any of its HTTP
requests. This is particularly problematic for the part upload stage of
multipart uploads, as a blip in the network could cause part uploads to
freeze for a long duration and eventually bail.

To avoid this, for part uploads, we add (a) (configurable) timeouts for
each request, and (b) retries with exponential backoff, upto a
configurable duration.

It is not clear if/how we want to do this for other types of requests.
The creation of a multipart upload should be relatively quick, but the
completion of an upload might take several minutes, so there is no
one-size-fits-all configuration, necessarily.

It would likely make more sense to implement some sensible hard-coded
defaults for these other sorts of requests.
2022-03-08 19:23:26 +02:00
Guillaume Desmottes 930bfce629 ci: run tests with RUST_BACKTRACE
Handy to debug failing tests.
2022-03-08 18:58:34 +02:00
Guillaume Desmottes 94fce11b25 uriplaylistbin: display invalid state when panicing
Will help debugging failing tests such as #184
2022-03-08 18:58:25 +02:00
François Laignel 92ca54f0ba generic/threadshare: fix for nightly build 2022-03-08 18:58:09 +02:00
François Laignel 91ead3da7a ci: cargo test --all-features too...
... and replace the deprecated --all argument with --workspace.

Also use --all-targets so that code, unit tests, integration tests
and examples can all be compiled or tested in one go.
2022-03-08 18:57:56 +02:00
Guillaume Desmottes 54ebb1c254 fallbackswitch: properly handle GAP events
Handle GAP events from the active pad as activity and forward
downstream.
2022-03-03 15:10:20 +01:00
Guillaume Desmottes 4e7141f0e3 fallbackswitch: factor out handle_main_timed_item()
No semantic change, I'll re-use this to handle GAP events.
2022-03-03 15:09:18 +01:00
Guillaume Desmottes e097feea1f fallbackswitch: add support for buffers without pts
Re-use the previously seen PTS.

Fix #186
2022-03-03 15:07:08 +01:00
Guillaume Desmottes ac1c6e513e fallbackswitch: export GEnum used in properties
Rust applications will be able to use those directly.
2022-03-02 11:08:30 +01:00
Guillaume Desmottes 8c738b7a2e uriplaylistbin: disable test deadlocking 2022-03-02 11:08:30 +01:00
Sebastian Dröge 7d093ffcc6 Update Cargo.lock 2022-02-21 12:51:52 +02:00
Sebastian Dröge 4ef0fcd22e Update versions to 0.8.2 2022-02-21 12:51:40 +02:00
Sebastian Dröge 0a8f2164a3 ci: Use correct gstreamer-rs images template 2022-02-21 09:29:58 +02:00
Sebastian Dröge b80ed2cc19 Update Cargo.lock 2022-02-20 23:02:48 +02:00
Sebastian Dröge 488b1fc5f5 deny: Remove num-rational override 2022-02-20 20:50:44 +02:00
Sebastian Dröge 171e6409c6 deny: Update 2022-02-20 20:50:34 +02:00
Sebastian Dröge df16fdf1bc deny: Update 2022-02-20 20:50:34 +02:00
Sebastian Dröge 51ba558b21 dav1ddec: Use AtomicRefCell instead of Mutex for the state
It's only accessed from the streaming thread.
2022-02-20 20:50:02 +02:00
Sebastian Dröge c25966ef6e dav1ddec: Fix compilation after some API changes 2022-02-20 20:49:42 +02:00
Sebastian Dröge 730d0832ae dav1ddec: Release input frames that immediately caused a decoding error
We're not going to get any output for them.
2022-02-20 20:49:33 +02:00
Sebastian Dröge 556b39332d dav1ddec: Update for fixed dav1d-rs API
As a side effect this allows us also to handle errors more gracefully
and to reduce memory load by outputting decoded frames immediately.

Also the code was changed a bit to reduce the number of redundant mutex
lock/unlocks.
2022-02-20 20:49:22 +02:00
Sebastian Dröge 5740d06db2 rav1eenc: Use AtomicRefCell instead of Mutex for the state
It's only accessed from the streaming thread.
2022-02-20 20:47:34 +02:00
Sebastian Dröge af703d3da2 rav1enc: Put container sequence header into the caps 2022-02-20 20:47:24 +02:00
Sebastian Dröge 2e9418603a dav1ddec: Switch to dav1d 0.7 2022-02-20 20:47:15 +02:00
Sebastian Dröge fa59fb016e rav1enc: Don't handle NeedMoreData as "soft" error 2022-02-20 20:46:44 +02:00
Sebastian Dröge b90a670de0 rav1enc: Simplify code
Sending a `None` frame is equivalent to calling `flush()` so no need to
do both.
2022-02-20 20:46:38 +02:00
Sebastian Dröge 1019374324 rav1enc: Set mastering display info, content light level and HDR related colorimetry
Configurable behind the "hdr" cargo feature that is enabled by default
but requires GStreamer 1.18.
2022-02-20 20:46:32 +02:00
Sebastian Dröge 78897820a1 rav1enc: Expose various new settings 2022-02-20 20:46:32 +02:00
Sebastian Dröge 34cf38cc5e rav1enc: Switch from speed preset 5 to 6 as default
This is the default of rav1e nowadays.
2022-02-20 20:46:32 +02:00
Rafael Caricio fb1cbe1a4c rusoto: Export AwsTranscriberResultStability enum 2022-02-20 20:46:32 +02:00
Sebastian Dröge 9824c23ee5 Update Cargo.lock 2022-02-04 18:48:43 +02:00
Sebastian Dröge f0add79b7d Update versions to 0.8.1 2022-02-04 18:46:12 +02:00
Sebastian Dröge 1a9b5c6eab Update Cargo.lock 2022-02-04 18:10:29 +02:00
Guillaume Desmottes d8c4293d6a cdg: update image and cdg_renderer
I pushed a cdg_renderer release using latest image.
2022-02-04 18:09:08 +02:00
Sebastian Dröge 34f8c4beac gtk4: Attach main context receiver from the main context's thread
Otherwise it will fail if the sink's state is changed from a different
thread.

See https://gitlab.freedesktop.org/dabrain34/GstPipelineStudio/-/issues/2
2022-02-04 18:09:02 +02:00
Sebastian Dröge 7bb42f3f5e dav1ddec: Add 8/16 bit grayscale support 2022-02-04 18:08:54 +02:00
Sebastian Dröge 9570fcaddd rav1enc: Support 8 bit grayscale input 2022-02-04 18:08:48 +02:00
Sebastian Dröge c194fb05f4 dav1ddec: Require correct alignment and stream format when running with GStreamer 1.20 2022-02-04 18:08:31 +02:00
Sebastian Dröge e024eb331d rav1enc: Include stream-format and alignment in the caps 2022-02-04 18:08:25 +02:00
Sebastian Dröge ed7b6e8c19 dav1ddec: Clean up state tracking a bit
And especially don't keep a decoder instance around while in Null state.
2022-02-04 18:08:16 +02:00
Sebastian Dröge 1a5473264e dav1ddec: Don't consider decoding errors as fatal
Instead use the `gst_video::video_decoder_error!` macro for allowing a
certain number of consecutive errors before actually failing.
2022-02-04 18:08:16 +02:00
Sebastian Dröge 12a718cd88 dav1ddec: Pass element instance to debug logs 2022-02-04 18:08:16 +02:00