Sebastian Dröge
d69d0f8738
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/1774 >
2024-09-19 12:05:42 +00:00
Sebastian Dröge
29b54ed2fc
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/1774 >
2024-09-19 12:05:42 +00:00
Sebastian Dröge
aae9d5c0e9
closedcaption: cea608utils: Avoid overflow when deciding which lines to retain
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1776 >
2024-09-17 12:00:56 +03:00
Jerome Colle
fef6601094
dav1ddec: add properties for film grain synthesis and in-loop filters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1763 >
2024-09-09 14:23:15 +00:00
Seungha Yang
0135c4251c
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/1758 >
2024-08-28 05:51:26 +00:00
Sebastian Dröge
7e912b0dde
video/gtk4: Clean up imports a bit
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Sebastian Dröge
3fd3a32b6f
video/gtk4: Clean up GStreamer GL context initialization
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
4f01421cc4
video/gtk4: Make feature "v4_6" the default assumption
...
It's our minimum gtk4 version we target anyway so we
can remove some of the extra features in the toml and require
it by default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
ff5032934d
video/gtk4: Remove some indentation in frame.rs
...
We have less cfg features now and don't need the extra
brackets to guard the codepaths.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Jordan Petridis
602760d0d8
video/gtk4: Remove cfg flag for gst-gl
...
GTK 4 hard depends on GL on all platforms, and now both
windows and macos have codepaths for the paintable sink to
produce GLTextures.
This we can now drop the cfg build flag we have making it optional.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1708 >
2024-08-23 08:11:15 +00:00
Guillaume Desmottes
72e53b9f16
videofx: update image and image_hasher deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1707 >
2024-08-13 07:21:59 +00:00
Guillaume Desmottes
ea29052c39
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/1707 >
2024-08-13 07:21:59 +00:00
Guillaume Desmottes
cfe9968a77
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/1680 >
2024-08-06 10:29:41 +00:00
Guillaume Desmottes
17910dd532
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/1680 >
2024-08-06 10:29:41 +00:00
Guillaume Desmottes
2333b241f0
gtk4: log paintable size in snapshot
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1689 >
2024-08-05 15:53:19 +02:00
Jordan Petridis
1316b821c4
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/1682 >
2024-08-01 15:44:58 +03:00
Mathieu Duponchelle
79657e5671
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/1679 >
2024-07-29 08:38:36 +00:00
Sebastian Dröge
380448587b
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/1673 >
2024-07-18 12:28:20 +03:00
François Laignel
000c486568
rav1enc: document bitrate property unit
...
See:
e34e772e47/src/rate.rs (L365)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1667 >
2024-07-12 18:59:17 +02:00
Robert Mader
c7ef8e8185
gtk4: Use scale instead of rotate where possible
...
In order to make it easier for GTK4 to figure out that the resulting
operation is 2D and - crucially - can get offloaded to Wayland.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1662 >
2024-07-10 10:58:20 +02:00
Robert Mader
2238db2005
gtk4: Support RGBx formats in SW paths
...
GTK4 has matching enums and thus should handle them fine. Further more
it should allow renderers to reduce memory bandwidth by applying
occlusion culling.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1660 >
2024-07-09 16:53:01 +02:00
Sebastian Dröge
3609411801
gtk4: Invalidate paintable size if changing because of orientation changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1659 >
2024-07-08 14:49:43 +03:00
Sebastian Dröge
98b28d69ce
Update for new debug log macro syntax
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1658 >
2024-07-08 11:25:23 +03:00
Sebastian Dröge
8522c8a445
gtk4: Add support for rotations / flipping
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/284
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1590 >
2024-07-07 07:43:49 +00:00
Sebastian Dröge
6e974cf4b9
gtk4: Document paintable properties correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1655 >
2024-07-06 11:36:55 +00:00
Sebastian Dröge
195c089f18
gtk4: Declare correct default value for force-aspect-ratio
property
...
It's defaulting to false as generally keeping the aspect ratio is the
job of the widget layout and not the paintable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1654 >
2024-07-06 13:41:44 +03:00
Mathieu Duponchelle
0ef886ea16
transcriberbin: fix internal ghost pad name regression
...
As part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1593
source pad names on inner transcription bins were appended a suffix, but
other pieces of the code were not updated to account for that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1645 >
2024-07-01 11:47:39 +02:00
Jordan Petridіs
718e757669
video/gtk4: Dehardcode module name in the Flatpak example in the readme
2024-06-29 15:56:06 +00:00
Mathieu Duponchelle
f0df6874d8
transcriberbin: fix property proxying
...
As part of https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1546
the element started implementing the GstChildProxy interface in order to
expose properties on its sink pads, but the implementation was
incorrect and broke proxying to children elements.
In addition, an intermediary bin was introduced with no name, making it
hard to set the properties of the inner elements through the child
proxy interface, it is now named according to the name of the pad it
corresponds to.
Finally, the default transcriber is back to being named "transcriber".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1642 >
2024-06-28 14:24:08 +00:00
Sebastian Dröge
9b323a6519
Use Option::is_some_and(...)
instead of Option::map_or(false, ...)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1630 >
2024-06-19 13:03:37 +00:00
Sebastian Dröge
69c3c2ae46
Fix various new clippy 1.79 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1620 >
2024-06-14 08:33:49 +03:00
Jordan Petridis
f30cb2b56c
video/gtk4: Add --features to the flatpak example
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1608 >
2024-06-07 10:54:05 +00:00
Mathieu Duponchelle
7cec628c43
transcriberbin: make sure to always record pad property changes
...
When the pad isn't parented yet we should still record user choices,
either in our settings or in our state.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1593 >
2024-06-06 15:42:21 +00:00
Mathieu Duponchelle
0e85973e94
transcriberbin: fix regression with > 1 translation languages
...
By making sure to expose uniquely named pads on the inner transcription
bins.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/552
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1593 >
2024-06-06 15:42:21 +00:00
Angelo Verlain
c9ac553cfe
gtk4: update flatpak integration code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1600 >
2024-06-06 13:08:19 +00:00
Seungha Yang
ebdcc403cf
transcriberbin: Fix mux-method=cea708
...
* Update "translation-languages" property to include G_PARAM_CONSTRUCT
so that it can be applied to initial state.
* Change default "translation-languages" value to be None instead of
cea608 specific one. Transcriberbin will be able to configure initia
state depending on selected mux method if "translation-languages" is
unspecified.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1589 >
2024-05-30 04:40:09 +09:00
Matthew Waters
45800d7636
tttocea708: ensure periodic sync points in roll up mode
...
Otherwise, without the relevant DefineWindow, then a receiver cannot
begin to display the captions from the middle of a stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1591 >
2024-05-29 11:15:10 +00:00
Sebastian Dröge
b1ad123595
gtk4: Fix Python example in the non-GL code path
2024-05-23 16:15:52 +03:00
Sebastian Dröge
49d3dd17a2
gtk4: Clean up Python example
...
It's not more or less equivalent to the Rust example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1573 >
2024-05-13 10:06:32 +03:00
Sebastian Dröge
b4576a0074
gtk4: Fix description of the plugin
...
A paintable is not a widget and that aspect does not belong in the short
description anyway.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1563 >
2024-05-07 20:21:03 +03:00
Sebastian Dröge
be3ae583bc
Fix new Rust 1.78 clippy warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1559 >
2024-05-02 18:36:23 +03:00
Robert Mader
8e675de690
gtk4paintablesink: Add some documentation
...
And sync with `README.md` in order to make the environment variables
`GST_GTK4_WINDOW` and `GST_GTK4_WINDOW_FULLSCREEN` discoverable - and
because it's generally useful.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-30 09:59:49 +03:00
Robert Mader
4326c3bfce
gtk4paintablesink: Also create window for gst-play
...
So it can be easily tested with
```
gst-play-1.0 --videosink=gtk4paintablesink ...
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-29 22:44:56 +02:00
Robert Mader
47b788d44b
gtk4paintablesink: Add env var to fullscreen window
...
For testing purposes with e.g. gst-launch.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1555 >
2024-04-29 20:44:05 +00:00
Philippe Normand
88cbc93338
dav1ddec: Negotiate bt709 colorimetry when values from seq header are unspecified
...
With unknown range colorimetry validation would fail in video-info. As our
decoder outputs only YUV formats Bt709 should be a reasonable default.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1548 >
2024-04-26 19:35:41 +00:00
Sebastian Dröge
927c3fcdb6
gtk4paintablesink: Update README.md with all the new features
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
c95e07a897
gtk4paintablesink: Improve scaling logic
...
If force-aspect-ratio=false then make sure to fully fill the given
width/height with the video frame and avoid rounding errors. This makes
sure that the video is rendered in the exact position selected by the
caller and that graphics offloading is going to work more likely.
In other cases and for all overlays, make sure that the calculated
positions are staying inside (0, 0, width, height) as rendering outside
is not allowed by GTK.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
b42bd3d026
gtk4paintablesink: Add force-aspect-ratio property like in other video sinks
...
Unlike in other sinks this defaults to false as generally every user of
GDK paintables already ensures that the aspect ratio is kept and the
paintable is layed out in the most optimal way based on the context.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
3dd800ac77
gtk4paintablesink: Implement child proxy interface
...
This allows setting properties on the paintable from gst-launch-1.0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Sebastian Dröge
c92462b240
gtk4: Implement support for directly importing dmabufs
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/441
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1547 >
2024-04-26 12:29:10 +03:00
Mathieu Duponchelle
17d7997137
transcriberbin: add support for consuming secondary audio streams
...
In some situations, a translated alternate audio stream for a content
might be available.
Instead of going through transcription and translation of the original
audio stream, it may be preferrable for accuracy purposes to simply
transcribe the secondary audio stream.
This MR adds support for doing just that:
* Secondary audio sink pads can be requested as "sink_audio_%u"
* Sometimes audio source pads are added at that point to pass through
the audio, as "src_audio_%u"
* The main transcription bin now contains per-input stream transcription
bins. Those can be individually controlled through properties on the
sink pads, for instance translation-languages can be dynamically set
per audio stream
* Some properties that originally existed on the main element still
remain, but are now simply mapped to the always audio sink pad
* Releasing of secondary sink pads is nominally implemented, but not
tested in states other than NULL
An example launch line for this would be:
```
$ gst-launch-1.0 transcriberbin name=transcriberbin latency=8000 accumulate-time=0 \
cc-caps="closedcaption/x-cea-708, format=cc_data" sink_audio_0::language-code="es-US" \
sink_audio_0::translation-languages="languages, transcript=cc3"
uridecodebin uri=file:///home/meh/Music/chaplin.mkv name=d
d. ! videoconvert ! transcriberbin.sink_video
d. ! clocksync ! audioconvert ! transcriberbin.sink_audio
transcriberbin.src_video ! cea608overlay field=1 ! videoconvert ! autovideosink \
transcriberbin.src_audio ! audioconvert ! fakesink \
uridecodebin uri=file:///home/meh/Music/chaplin-spanish.webm name=d2 \
d2. ! audioconvert ! transcriberbin.sink_audio_0 \
transcriberbin.src_audio_0 ! fakesink
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1546 >
2024-04-25 11:56:01 +02:00
Seungha Yang
b3d3895ae7
cea608overlay: Fix black-background setting
...
Apply the property to newly created renderer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1542 >
2024-04-15 15:38:31 +00:00
Philippe Normand
2341ee6935
dav1d: Set colorimetry parameters on src pad caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1514 >
2024-04-12 09:14:34 +00:00
Matthew Waters
4dcc44687a
cea608overlay: move Send impl lower in the stack
...
Try to avoid hiding another non-Send object in the State struct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1519 >
2024-04-10 06:55:34 +00:00
Matthew Waters
fbce73f6fc
closedcaption: implement cea708overlay element
...
Can overlay any single CEA-708 service or any single CEA-608 channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1519 >
2024-04-10 06:55:34 +00:00
Matthew Waters
f0c38621c1
cea608overlay: also print bytes that failed to decode
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1519 >
2024-04-10 06:55:34 +00:00
Matthew Waters
7f6929b98d
closedcaption: remove libcaption code entirely
...
It is now unused.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1517 >
2024-04-05 19:29:24 +11:00
Matthew Waters
2575013faa
cea608tott: use our own CEA-608 frame handling instead of libcaption
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1517 >
2024-04-05 19:29:24 +11:00
Matthew Waters
d8fe1c64f1
cea608overlay: use or own CEA-608 caption frame handling instead of libcaption
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1517 >
2024-04-05 19:29:24 +11:00
Matthew Waters
fea85ff9c8
closedcaption: use cea608-types for parsing 608 captions instead of libcaption
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1517 >
2024-04-05 19:29:24 +11:00
Matthew Waters
e1cd52178e
transcriberbin: also support 608 inside 708
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Matthew Waters
55b4de779c
tttocea708: add support for writing 608 compatibility bytes
...
608 compatibility bytes are generated using the same functionality as
tttocea608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Matthew Waters
9db4290d2d
tttocea608: move functionality to a separate object
...
Will be used by tttocea708 later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Matthew Waters
df30d2fbd3
transcriberbin: add support for generating cea708 captions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Matthew Waters
b0cf7e5c81
cea708mux: add element muxing multiple 708 caption services together
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Matthew Waters
756abbf807
tttocea708: add element converting from text to cea708 captions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1406 >
2024-03-28 13:46:28 +11:00
Philippe Normand
7e1ab086de
dav1d: Require dav1d-rs 0.10
...
This version depends on libdav1d >= 1.3.0. Older versions are no longer
supported, due to an ABI/API break introduced in 1.3.0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1512 >
2024-03-21 17:33:32 +00:00
Philippe Normand
be12c0a5f7
Fix clippy warnings after upgrade to Rust 1.77
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1512 >
2024-03-21 17:33:32 +00:00
Guillaume Desmottes
523a46b4f5
gtk4: scale texture position
...
Fix regression in 0.12 introduced by 3423d05f77
Code from Ivan Molodetskikh suggested on Matrix.
Fix #519
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1499 >
2024-03-15 13:43:32 +01:00
Seungha Yang
237f22d131
sccparse: Ignore invalid timecode during seek as well
...
sccparse holds last timecode in order to ignore invalid timecode
and fallback to the previous timecode. That should happen
when sccparse is handling seek event too. Otherwise single invalid
timecode before the target seek position will cause flow error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1485 >
2024-03-06 11:12:04 +00:00
Sebastian Dröge
5df7c01cb5
closedcaption: Port from nom to winnow
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1475 >
2024-02-26 14:00:08 +02:00
Sebastian Dröge
7274c725a6
gtk4: Create a window if running from gst-launch-1.0 or GST_GTK4_WINDOW=1 is set
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/482
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1454 >
2024-02-09 15:05:45 +02:00
Ivan Molodetskikh
d8a61edca0
gtk4: Add scaling-filter and use-scaling-filter properties
...
The property is added under the gtk_v4_10 feature because it requires
GTK 4.10.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1309 >
2024-02-08 15:02:36 +02:00
Ivan Molodetskikh
3423d05f77
gtk4: Do scaling with append_texture()
...
This is equivalent, but will be needed for the scaling filter support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1309 >
2024-02-08 15:02:36 +02:00
Sebastian Dröge
0fe4e0bf0b
gtk4: Add property to the paintable for selecting the background color
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Sebastian Dröge
9971f71e94
gtk4: Always draw a black background behind the video frame
...
This makes sure that there is the same background behind the frame, no
matter if black borders have to be added or not. Without this a frame
that has transparency would change rendering depending on the layout.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Sebastian Dröge
803550111a
gtk4: Improve handling of RGBA GL textures in GTK
...
GTK 4.14 comes with a new GL renderer that does not support GL shader
nodes anymore, so the conversion from non-premultiplied alpha to
premultiplied alpha has to happen differently.
For GTK 4.14 or newer we use the correct format directly when building the
texture, but only if a GLES3+ context is used. In that case the NGL renderer is
used by GTK, which supports non-premultiplied formats correctly and fast.
For GTK 4.10-4.12, or 4.14 and newer if a GLES2 context is used, we use a
self-mask to pre-multiply the alpha.
For GTK before 4.10, we use a GL shader and hope that it works.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/488
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1452 >
2024-02-08 12:35:26 +02:00
Ruben Gonzalez
09e9c047df
gtk4: Fix segfault running gst-inspect -a
when GTK4 and GTK3 is installed
...
Segmentation fault when getting default value of paintable property
from gtk4paintablesink element when libgtk-4.so.1 from libgstgtk4.so
and libgtk-3.so.0 from libgstgtk.so are installed:
> cannot register existing type 'GdkDisplayManager'
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/490
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1453 >
2024-02-08 08:32:14 +00:00
Bilal Elmoussaoui
d25a222bf9
Drop direct muldiv dependency
...
It is re-exproted in gstreamer's prelude
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1446 >
2024-02-05 15:34:31 +01:00
Bilal Elmoussaoui
0615a16124
Use workspace features for crates metadata/deps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1446 >
2024-02-05 15:34:31 +01:00
Sebastian Dröge
1a55c70114
Switch git dependencies to explicitly name branch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1445 >
2024-02-05 12:51:36 +02:00
Sebastian Dröge
4ad101b53b
Use once_cell crate directly again
...
The glib crate does not depend on it anymore and also does not re-export
it anymore.
Also switch some usages of OnceCell to OnceLock from std.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1441 >
2024-01-31 18:07:57 +02:00
Sebastian Dröge
08af298d11
gif: Update to gif 0.13
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1441 >
2024-01-31 18:07:57 +02:00
Sebastian Dröge
d36c91d10f
rav1e: Update to rav1e 0.7
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1421 >
2024-01-04 12:59:50 +02:00
Guillaume Desmottes
d9397ef174
gtk4: fix build on Windows using winegl
...
from_glib_full() was not in scope.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1417 >
2023-12-26 23:22:35 +01:00
Sebastian Dröge
1ef47cb48e
Fix a few new clippy 1.75 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1415 >
2023-12-22 16:40:18 +02:00
Sebastian Dröge
763739e3ae
Update for Buffer
/ Memory
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1409 >
2023-12-17 14:07:12 +02:00
Guillaume Desmottes
6dfd1c1496
use new debug and parse API
...
Changes from https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/1355
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1403 >
2023-12-04 15:58:21 +01:00
Matthew Waters
d644bcd79a
closedcaption: update to cea708-types 0.3
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1398 >
2023-11-22 10:07:45 +11:00
Matthew Waters
5739a3d86f
cea608tocea708: create service's as requested
...
Allows the ability to push multiple Service blocks of the same service
into the same packet if necessary (unlikely but possible).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1398 >
2023-11-22 00:12:50 +11:00
Matthew Waters
ded4261971
closedcaption: move some textstyle helpers to shared files
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1398 >
2023-11-21 23:33:09 +11:00
Matthew Waters
fb9b511e15
closedcaption: move 708 service writing to shared file
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1398 >
2023-11-21 23:33:09 +11:00
Matthew Waters
4333e90220
tttocea608: use crate defined is_* functions instead of reeimplementing them
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1398 >
2023-11-21 23:33:09 +11:00
Sebastian Dröge
dd67dc87e3
gtk4: Update to windows-sys 0.52
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1395 >
2023-11-17 11:00:55 +02:00
Sebastian Dröge
a33f29365a
sccparse: Fix leading spaces between the tab and caption data
...
CCExtractor is creating files like this.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1378 >
2023-11-02 21:59:02 +02:00
Sebastian Dröge
16b917abb1
Update for gst::Rank
API changes
2023-11-02 14:10:59 +02:00
Sebastian Dröge
855b03a9ea
Use let-else instead of match for weak reference upgrades
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1375 >
2023-10-30 11:34:35 +02:00
Sebastian Dröge
74c04d79c9
gtk4: Use async-channel instead of the glib MainContext channel
...
The latter will be removed in favour of using async code in the future,
and async code generally allows for more flexible message handling than the
callback based MainContext channel.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1375 >
2023-10-30 11:21:25 +02:00
Sebastian Dröge
d468e1e4a6
Clean up usage of pad probes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1361 >
2023-10-17 08:44:06 +03:00
Sebastian Dröge
450ffbe452
Update for VideoFrame
/ GLVideoFrame
API changes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1345 >
2023-10-02 13:25:25 +03:00