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