Commit graph

234 commits

Author SHA1 Message Date
Mathieu Duponchelle 71877934b5 tttocea608: expose roll-up timeout property
In roll-up mode, when no more timed text comes in, the closed
captions may remain displayed on screen indefinitely (unless the
decoder implements a timeout, but that is not mandatory).

Expose a property to erase the display memory after a configurable
amount of time has elapsed instead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/754>
2022-06-07 20:41:40 +03:00
Mathieu Duponchelle a3fad9e028 cea608overlay: handle CLEAR status
+ log errors

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/754>
2022-06-07 20:41:40 +03:00
Sebastian Dröge 5c426a3649 mccparse/sccparse: Don't log gst::FlowError::Flushing or Eos as error to the debug logs 2022-06-07 20:41:40 +03:00
Sebastian Dröge 18c9bd0355 Update versions to 0.8.4 2022-04-26 14:20:02 +03:00
Sebastian Dröge 05f395eef1 closedcaption: Update to uuid 1.0 2022-04-26 14:07:32 +03:00
Seungha Yang df941aa0a0 transcriberbin: Protect runtime "passthrough=false" change
There can be small race where transcription-bin is linked with
tee but state change of the transcription-bin is not finished.
And at the same time, upstream pushes event/buffer to the
transcription-bin. Do state change first then link to avoid
the condition

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/716>
2022-04-22 15:43:23 +02:00
Sebastian Dröge 6744497cf6 cea608tott: Don't zero-pad SRT indices but zero-pad hours to at least two digits
Zero-padding is not specified for the indices but all time components
need to be zero-padded (3 digits for fractional seconds, 2 digits for
everything else).
2022-03-28 12:50:57 +03:00
Ray Tiley 602dbc7a02 [transcriberbin] - make audioqueue leaky
If transcription runs slow or has issues the queue can fill up and block
all audio processing. This gives the queue a sufficent buffer and allows
it to drop audio if it eventually fills up. This was most noticable with
bad internet connections using the `awstrnascriber` where it would take
quite a while for the websocket to eventually timeout and the bin to
enter `passthrough=true`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/688>
2022-03-21 13:50:07 +05:30
Sebastian Dröge b01b9711dc Use SPDX license format in Cargo.toml 2022-03-21 13:50:07 +05:30
Seungha Yang 801d928aac transcriberbin: Don't notify signal inside lock
That can potentially cause deadlock
2022-03-21 13:50:07 +05:30
Seungha Yang 76f09860b1 transcriberbin: Add caption-source property
By using this new property, application can select exclusive caption
source. There are three source types
- Both: Inband and transcription captions are combined if exist.
  This is default behavior.
- Inband: Transcription buffers will be dropped
- Transcription: Caption meta of each video buffer will be dropped

In this version, transcriberbin doesn't provide any hint
for application to help caption source decision. That can be done
by application's strategy, passthrough status or probing inband
caption meta for example.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/684>
2022-03-21 13:50:07 +05:30
Sebastian Dröge b9887e1057 Update versions to 0.8.3 2022-03-08 19:49:16 +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 4ef0fcd22e Update versions to 0.8.2 2022-02-21 12:51:40 +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
Sebastian Dröge f0add79b7d Update versions to 0.8.1 2022-02-04 18:46:12 +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
Julian Sparber 78291ccae0 gtk4: Implement Default for PaintableSink 2022-02-04 18:07:54 +02:00
Sebastian Dröge 2ea91e053b Update to parking_lot 0.12 and hrtf 0.8 2022-02-04 18:07:40 +02:00
Sebastian Dröge 07a7420561 Rename self_ variables to imp for consistency 2022-01-18 15:48:34 +02:00
Sebastian Dröge 81a571bd8b Replace Foo::from_instance(foo) with foo.imp() 2022-01-18 15:48:28 +02:00
Sebastian Dröge 574e4f6b64 Add SPDX-License-Identifier to all file headers 2022-01-15 21:44:40 +02:00
Sebastian Dröge 818a508ac5 Re-license LGPL-2.1 plugins to MPL-2
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/168
2022-01-15 21:44:39 +02:00
Sebastian Dröge 8ffb6c1584 Switch to 0.15 branches of gtk-rs, and 0.18 of gstreamer-rs and provide a version 2022-01-15 20:31:40 +02:00
Sebastian Dröge ab14c50d1c Ignore clippy::non_send_fields_in_send_ty lint
It's useless in its current shape and wrongly triggering on all types.

See https://github.com/rust-lang/rust-clippy/issues/8045
2022-01-14 12:09:57 +02:00
Sebastian Dröge 81f5f0f60c Fix various clippy warnings 2022-01-12 19:51:08 +02:00
Mathieu Duponchelle 0bc7697600 sccenc: add output-padding property
When set to False, sccenc will only output non-padding byte pairs.

I cannot find reference documentation for the format, but the closest
thing I find to it is
http://www.theneitherworld.com/mcpoodle/SCC_TOOLS/DOCS/SCC_FORMAT.HTML,
which doesn't have padding in the examples.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/635>
2022-01-12 16:49:24 +00:00
Sanchayan Maity a43e21a414 videofx: roundedcorners: Fix missing copyright attribution 2021-12-29 16:15:43 +00:00
Sebastian Dröge 3ed9e291c2 Update for decide/propose_allocation() API changes 2021-12-06 19:11:24 +02:00
Sebastian Dröge 66e987c174 Fix a couple of new clippy warnings 2021-12-02 22:31:52 +02:00
Sebastian Dröge c46901d150 Fix or silence various new 1.57 clippy warnings 2021-11-30 16:31:50 +02:00