Sebastian Dröge
4b62b011ed
Fix various new Rust 1.85 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2106 >
2025-02-22 10:32:38 +02:00
Sebastian Dröge
ee330f13ae
Fix some new clippy 1.84 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2097 >
2025-02-19 19:45:04 +02:00
Sebastian Dröge
ed8eeed746
cea608tocea708: Fix SMPTE 334-1a field flag usage
...
If the flag is set then this is field 0, otherwise it is field 1. The
code had this inverted. See also cece286fe8
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2076 >
2025-02-14 10:25:35 +00:00
Mathieu Duponchelle
7ec9469ae3
cea608overlay: clear output on field switch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2075 >
2025-02-14 00:04:26 +00:00
Mathieu Duponchelle
805e0f66af
ceax08overlay: fix field lookup for s334-1a
...
As stated in the spec:
> Bit b7 of the LINE value is the field number (0 for field 2;
> 1 for field 1). Bits b6 and b5 are 0. Bits b4-b0 form a 5-bit unsigned
> integer which represents the offset [..]
Here, b7 is the most significant bit, this is what both cccombiner
and ccconverter agree on.
The overlay elements previously looked at the least significant bit,
which led to garbled text when both fields were actually present
in the CC meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2075 >
2025-02-14 00:04:26 +00:00
Carlos Bentzen
72e641abab
cdg: fix typefind error with specific file sizes
...
Currently, the typefind logic for cdg can cause errors on files
with all conditions below:
- size multiple of NB_WINDOWS * CDG_PACKET_SIZE (8 * 24) = 192
- size less than TYPEFIND_SEARCH_WINDOW (28800)
- extension different than .cdg
With those conditions, the cdg typefind function may be the last one to
execute and cause gsttypefindhelper.c::helper_find_peek to return
GST_FLOW_EOS, and if it's the final call will then be turned to
GST_FLOW_ERROR in typefind.
That is because cdg's typefind will perform a last call to
typefind.peek(len, CDG_PACKET_SIZE) which is outside the range of typefind
(from 0 to len - 1).
Reproducer with file from cdg tests:
```
head -n 28608 BrotherJohn.cdg > BrotherJohn_short.bit
gst-play-1.0 BrotherJohn_short.bit
```
Fix this by correcting the loop bounds in the cdg typefind
logic. Perhaps the typefind helper logic should be rewritten to avoid
such cases too.
Then the example above works and unrelated files aren't affected by this
in typefind anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2059 >
2025-02-05 01:05:11 +00:00
Matthew Waters
403462d64e
closedcaption: fix roll up mode not always using the correct base row
...
The row used in roll up mode was inconsistently referenced (row vs base_row)
and could result in incorrect output being produced.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2053 >
2025-01-29 00:36:39 +00:00
Matthew Waters
b36bddb058
closedcaption/608overlay: add some debug loggin when resets occur
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2053 >
2025-01-29 00:36:39 +00:00
Matthew Waters
eacbda5d6e
cea608overlay: ensure tha the list of lines remains sorted by line number
...
Otherwise, when iterating over the lines, they may be written out of order.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2053 >
2025-01-29 00:36:39 +00:00
Edward Hervey
0a7d2406f0
cea708mux: Always pad cea708
...
Instead of pushing gaps, we should send out valid (empty) cea708 buffers
downstream, like we do in most other caption element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2009 >
2024-12-24 10:34:20 +00:00
Matthew Waters
13a860c56c
cea708mux: make sure to empty the stored pending codes
...
Fixes some captions being truncated if multiple of the same service is
received in the same input buffer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2014 >
2024-12-23 22:36:28 +00:00
Matthew Waters
b348f17a07
cea708overlay: clear more things on caption timeout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2013 >
2024-12-23 21:54:59 +00:00
Sebastian Dröge
d79eac417d
cea608tott: Fix expected test output with cea608-types 0.1.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:42:44 +02:00
Matthew Waters
f88da03f11
cea608overlay: fix rendering when roll up base row is at the top
...
We were ensuring that the base row was one too large for the number of roll up
rows and causing the first row to unable to be written to.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:41:54 +02:00
Sebastian Dröge
fa482cbed0
gtk4: Allow unused import for now
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:35:10 +02:00
Sebastian Dröge
230afc11ea
Fix / silence various new Rust 1.83 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007 >
2024-12-23 18:27:38 +02:00
Edward Hervey
cd8d2d6d04
cea708mux: Don't push empty services into packets
...
This is invalid. Only "padding" service 0 can be empty.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1989 >
2024-12-16 08:03:34 +00:00
Matthew Waters
85a84ea854
deps: update cea708-types to 0.3.5
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 23:05:16 +11:00
Matthew Waters
b46a060a74
cea708overlay: fix background/foreground type
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:47 +11:00
Matthew Waters
70c6fb6228
cea708overlay: enable a black background by default
...
It is the recommended colour sceheme in CEA-608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:45 +11:00
Matthew Waters
1e04c11eb6
cea708overlay: produce a slightly more CEA-608 layout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:42 +11:00
Matthew Waters
9a614f68f8
tttocea708: log the bytes and times generated
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:40 +11:00
Matthew Waters
56afb23f75
tttocea708: don't incorrectly recode timestamp to frame conversion on gap events
...
Simply use the already existing generate() which will convert from a timestamp
and duration into frames for processing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:38 +11:00
Matthew Waters
897352fa91
cea708mux: handle different timestamped inputs
...
If different inputs have different framerates, then an input buffer may need
to be combined or split. Account for that in the aggregate loop.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:35 +11:00
Matthew Waters
237460598f
cea708mux: output padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:33 +11:00
Matthew Waters
54d9ffac7c
tttocea708: output CEA-X08 padding by default
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:31 +11:00
Matthew Waters
f22b738c5a
cea708mux: forward CEA-608 data correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1976 >
2024-12-11 22:57:29 +11:00
Edward Hervey
37d5a2495d
tttocea708: Fix off-by-one issue
...
last_frame_no is used to eventually calculate the outgoing pts. We want to
increment it *after* having created the content
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1952 >
2024-11-29 10:49:37 +00:00
Marc Wiblishauser
a736b17d8e
gtk4: add gtk::gdk use declaration for feature dmabuf
...
Fixes gstreamer/gst-plugins-rs#626
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1913 >
2024-11-11 12:58:57 +01:00
Guillaume Desmottes
132d93537c
videofx: update image and image_hasher deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1905 >
2024-11-02 12:39:14 +02:00
Guillaume Desmottes
da2ee5cd1b
cdg: update to image 0.25
...
I just published a new cdg_renderer release depending of image 0.25.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1905 >
2024-11-02 12:30:47 +02:00
Sebastian Dröge
3a098b9d9e
gtk4: Use a correctly typed None value when retrieving the paintable property fails
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/609
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1851 >
2024-10-28 10:12:57 +00:00
Sebastian Dröge
347b5987bd
Fix a couple of type hierarchy bugs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1873 >
2024-10-22 20:21:55 +00:00
Mathieu Duponchelle
5501eacb6c
transcriberbin: fix linking of user-provided transcriber
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1836 >
2024-10-15 15:58:57 +00:00
Mathieu Duponchelle
ed32f96fa3
transcriberbin: support both latency and transcribe-latency properties
...
Also don't set translate-latency property if not present
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1836 >
2024-10-15 15:58:57 +00:00
Mathieu Duponchelle
36f6097e62
transcriberbin: add debug
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1836 >
2024-10-15 15:58:57 +00:00
Sebastian Dröge
dfb871eb5d
gtk4paintablesink: Deprecate wayland feature and add waylandegl feature
...
It's clearer that this is for GL support only.
Also remove the wayland feature dependency from the dmabuf one. While
dmabufs are only supported on wayland, it has no relation to the EGL
support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1839 >
2024-10-03 11:48:37 +03:00
Sebastian Dröge
b6c172c9a2
gtk4paintablesink: Don't check for a GL context when filtering dmabuf caps
...
There's no connection between the two and dmabuf can also not be
supported if GL is also unsupported.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1839 >
2024-10-03 11:41:11 +03:00
Sebastian Dröge
acd0a54b4a
cea708mux: Fix off-by-one in deciding whether a buffer belongs to this or the next frame
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790 >
2024-09-20 06:33:25 +00:00
Sebastian Dröge
585b6b53d4
cea708mux: Stop with EOS if all pads are EOS instead of continuing forever
...
Also don't drop buffers if multiple tries are needed for aggregating
because some pads are not ready yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790 >
2024-09-20 06:33:25 +00:00
Sebastian Dröge
a3c4ad7015
cea708mux: Don't create a separate source pad and actually push gap events downstream
...
The aggregator base class is already creating the source pad and the
source pad that was created here internally was never added to the
element at all. As such all gap events pushed on it never went anywhere.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1790 >
2024-09-20 06:33:25 +00:00
Sebastian Dröge
b532fdbca0
closedcaption: cea608utils: Avoid overflow when deciding which lines to retain
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1778 >
2024-09-19 10:05:14 +02:00
Jerome Colle
18771be680
dav1ddec: add properties for film grain synthesis and in-loop filters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1771 >
2024-09-09 18:29:31 +01:00
Seungha Yang
2ca2a8e0f6
transcriberbin: Fix passthrough state change
...
Sync state of child bin appropriately when passthrough is disabled
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1759 >
2024-08-30 15:10:31 +00:00
Guillaume Desmottes
dad755ece3
gtk4: log paintable size in snapshot
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1712 >
2024-08-13 21:45:16 +00:00
Guillaume Desmottes
88d070f815
gtk4: add custom widget automatically updating the window size
...
Use it in the example and debug window but let's not make it public yet.
Plan is to have a proper bin on top of gtk4paintablesink at some point.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1697 >
2024-08-07 10:37:04 +01:00
Guillaume Desmottes
5f234d734e
gtk4: add window-{width,height} property
...
Allow the application to pass the actual rendering size so overlays can
be rendered accordingly.
Fix #562
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1697 >
2024-08-07 10:37:04 +01:00
Jordan Petridis
d68312989c
video/gtk4: Move the dmabuf cfg to the correct bracket level
...
This was defined one bracket above, which was causing the
gst-gl codepath below to also be disabled when there was
no dmabuf feature enabled.
This was also resulting in the following warning as
we were never creating the MappedFrame::GL vartiant due to this
```
warning: unused variable: `wrapped_context`
--> video/gtk4/src/sink/frame.rs:541:85
|
541 | ...", feature = "gst-gl"))] wrapped_context: Option<
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_wrapped_context`
|
= note: `#[warn(unused_variables)]` on by default
warning: variant `GL` is never constructed
--> video/gtk4/src/sink/frame.rs:80:5
|
74 | enum MappedFrame {
| ----------- variant in this enum
...
```
Move the cfg to the appropriate place where it encaplsulates only
the dmabuf related code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1687 >
2024-08-05 09:41:18 +01:00
Mathieu Duponchelle
27770324c7
transcriberbin: fix inspect with missing elements
...
Relax the dependency on `awstranscriber` by still building the initial
state when it is absent, this also means an alternative transcriber can
be linked even when `awstranscriber` was not available during
construction.
Also fix property getter / setters to avoid unwrapping the pad state,
and bubble up channel bin construction errors instead of unwrapping (eg
when textwrap was not available).
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/584
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1681 >
2024-07-30 12:41:35 +01:00
Sebastian Dröge
0d83350f0e
gtk4: Enable GtkGraphicsOffload::black-background property when building with GTK 4.16
...
This allows offloading in more situations.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/576
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1676 >
2024-07-18 20:49:59 +01:00