Piotr Brzeziński
5b41d11f0c
fallbacksrc: Add multi-stream support with the stream API
...
Brings support for multiple streams of each kind to fallbacksrc.
Usage past 1video/1audio stream now requires using the stream selection
API.
fallbacksrc will expose its own collection of streams, which will be
mapped to streams from the main and fallback source automatically.
This mapping can be changed via the map-streams signal.
The amount of streams being exposed by fallbacksrc is dictated by the
main source.
CustomSource has been updated to also support multi-stream scenarios,
both for stream-aware elements and for simple bins without such
functionality.
Co-authored-by: Sebastian Dröge <sebastian@centricular.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1832 >
2025-01-14 13:04:25 +00:00
Sebastian Dröge
3a03310dbc
mccparse: Switch away from deprecated winnow API
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:43:40 +02:00
Sebastian Dröge
3501912547
outdated: Ignore outdated etherparse dependency
...
It requires Rust 1.81 or newer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:05:24 +02:00
Sebastian Dröge
8b11363bdc
deny: Update
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:04:35 +02:00
Sebastian Dröge
aa85a1d8a9
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:04:35 +02:00
Sebastian Dröge
ba70293d2b
fmp4: Update to dash-mpd 0.18
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:04:35 +02:00
Sebastian Dröge
9056c733c5
tracers: Update to dirs 6
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2040 >
2025-01-14 10:04:27 +02:00
Thibault Saunier
aafebc6a97
pcap_writer: Move to using USE_STRUCTURE_PARAMS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2031 >
2025-01-10 08:17:30 -03:00
Jochen Henneberg
0d42ed9a57
fmp4mux: Only set TKHD transformation, precedence for stream scope
...
Instead of trying to figure out which global tag is meant to go into
the MVHD or such the solution now is to set the MVHD matrix to
identity and only set the TKHD matrix to either stream scope matrix if
available or global matrix (which is always available, maybe as
identity).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
58ee9e2b9f
fmp4mux: Fixed logging for unsupported orientation tags
...
Fmp4mux State and Stream structs now store matrix references instead
of orientation enum.
The TransformMatrix is wrapped into a struct for Default trait which
is needed by struct State.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
aeb37c5ab1
fmp4mux: Added mut_ prefix for stream_from_pad()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
57f24efc62
fmp4mux: Log on unsupported orientation enums
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Jochen Henneberg
7dea11f626
fmp4mux: Language and orientation are stream tags
...
The language tag is purely a stream specific tag and the orientation
tag can be both, stream or global scope at the same time.
Language tags in global scope are considered to be stream scope and
orientation tags set either the mvhd box transformation matrix if
global scope or tkhd if stream scope.
And switched to GStreamer API for image orientation tag storage and
handling and added the flip transformations.
Fixes #631
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1975 >
2025-01-10 09:04:41 +00:00
Sebastian Dröge
7b4665c793
Fix some new clippy 1.84 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2032 >
2025-01-10 10:08:38 +02:00
Mathieu Duponchelle
69f927cc24
transcriberbin: expose subtitle-languages property
...
Similar to synthesis-languages, except that transcriberbin will not
place a textwrap element before the synthesizer, instead letting the
application do that itself if needed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2015 >
2025-01-08 12:26:22 +00:00
Guillaume Desmottes
1b761f27ef
uriplaylistbin: add caching
...
Add optional caching feature preventing to re-download playlist items
for each iteration.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2028 >
2025-01-07 20:29:38 +00:00
Mathieu Duponchelle
70ed528c7a
transcriberbin: fix casing of translation languages
...
The language should only be lowercased in order to compare it to cc1 /
cc3, but should be passed as is to the transcriber.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2027 >
2025-01-06 16:59:11 +01:00
Robert Mader
cb88843a5a
meson: Set gtk_v4_16 feature
...
So builds using Meson use GtkGraphicsOffload::black-background as well.
Fixes: 38044858
("gtk4: Enable GtkGraphicsOffload::black-background property when building with GTK 4.16")
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2021 >
2025-01-03 20:55:27 +01:00
Tim-Philipp Müller
95d0563b80
closedcaption: add some docs for the new SMPTE-2038 elements
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2019 >
2025-01-03 10:40:40 +00:00
Sebastian Dröge
81ff664666
rtp: Add AMR NB/WB RTP payloader/depayloader
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2016 >
2025-01-02 16:42:14 +00:00
Sebastian Dröge
e6921da4cb
deny: Add itertools 0.13 override
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2018 >
2025-01-01 12:46:54 +02:00
Sebastian Dröge
38e8134edd
Update to itertools 0.14
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2018 >
2025-01-01 12:46:07 +02:00
Sebastian Dröge
65457213b9
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2018 >
2025-01-01 12:45:25 +02:00
Sanchayan Maity
3aa1fa81b5
net/quinn: Update QUIC multiplexing examples for WebTransport
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Sanchayan Maity
59cc4af3ba
net/quinn: Support stream multiplexing in quinnwtclientsrc
...
While at it, drop the use-datagram property since the data handler
thread receives data for both streams and datagram irrespective of
the property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Sanchayan Maity
a02296eb95
net/quinn: Support stream multiplexing in quinnwtserversink
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1966 >
2024-12-30 09:40:43 +05:30
Sebastian Dröge
53160cb6ab
Update CHANGELOG.md for 0.13.4
2024-12-24 15:59:23 +02:00
Sebastian Dröge
aa31640e8b
ci: Move cargo invocations to shell scripts
...
And pass RUST_VERSION to the scripts too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2006 >
2024-12-23 13:59:54 +02:00
Mathieu Duponchelle
35a621a53b
transcriberbin: fix deadlock on taking settings lock
...
This fixes both a double lock in a case, and in all cases an
out-of-order lock (element settings must always be locked before
pad settings).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2004 >
2024-12-20 17:13:08 +00:00
Ruben Gonzalez
ebfa0fb890
deps: update itertools to 0.13
...
same used in gstreamer-rs
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2002 >
2024-12-20 16:23:52 +00:00
Sebastian Dröge
0d8dc1c156
cea608tott: Fix expected test output with cea608-types 0.1.4
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2001 >
2024-12-20 16:57:07 +02:00
Sebastian Dröge
1b1a7d2c96
Update Cargo.lock
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2001 >
2024-12-20 16:15:11 +02:00
Sanchayan Maity
e21e07c46a
net/quinn: Fix ChildProxy implementation for muxer & demuxer
...
The demuxer did not need the ChildProxy implementation while
the muxer was missing the call to child_added, child_removed
and the interface entry in ObjectSubclass.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1998 >
2024-12-20 17:45:50 +05:30
Thibault Saunier
82b98f7a9f
docs: Allow updating the plugins_cache.json files without generating documentation
...
There is no dependencies between the 2 things, and it is often useful to be able
to update the cache even if we are not generating the documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1996 >
2024-12-19 14:32:16 +00:00
Thibault Saunier
1e3eef253b
webrtcsrc: Add a 'connect-to-first-producer' property
...
This is an helper property which allows to avoid requiring to know
peer IDs, which is very useful during development.
Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/386
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1996 >
2024-12-19 14:32:16 +00:00
Mathieu Duponchelle
026a2a11eb
transcriberbin: improve usage of framerate field
...
Use the framerate from our video caps as early as possible in the
pipeline, that is just downstream of the tttoceax08 elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1997 >
2024-12-19 13:55:20 +01:00
Mathieu Duponchelle
666aba0a58
transcriberbin: query latency of synthesis elements ..
...
instead of expecting that they expose a "latency" property.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1993 >
2024-12-18 18:04:53 +00:00
Matthew Waters
497b1e58bd
cea708overlay: support changing the safe title area
...
By default it is 80% of the output size as recommended by CEA-708/608.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1985 >
2024-12-18 12:57:49 +00:00
Matthew Waters
b367b38633
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/1985 >
2024-12-18 12:57:48 +00:00
Sebastian Dröge
7d4ddc7eb9
webrtc: Specify to use playbin3 instead of playbin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1995 >
2024-12-18 07:31:17 +00:00
Sebastian Dröge
248b7ac059
webrtcsink: Configure custom host/port on the signaller when running signalling server internally
...
Otherwise it just tries connecting to the default URL, which doesn't
work if either the host or the port are changed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1994 >
2024-12-17 16:22:41 +02:00
Edward Hervey
73663d7352
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/1987 >
2024-12-16 05:00:30 +01:00
Sebastian Dröge
6a8f1bdc61
mpegtslivesrc: Parse PES packets and check for reasonable PTS/DTS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1977 >
2024-12-13 13:11:16 +00:00
Sebastian Dröge
44978159a3
mpegtslivesrc: Refactor section parser
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1977 >
2024-12-13 13:11:16 +00:00
Matthew Waters
a2279bc253
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/1984 >
2024-12-13 00:06:11 +00:00
Matthew Waters
db8e1da65d
cea708overlay: clear more things on caption timeout
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1983 >
2024-12-12 23:11:00 +00:00
Mathieu Duponchelle
ae90dd4afe
transcriberbin: expose language-filters property
...
When set, the bin will lookup the structure for either a bin description
or an element to link in when linking the transcriber to a language
tee.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1979 >
2024-12-12 14:19:41 +01:00
Nirbheek Chauhan
5e4d5a3dc6
meson: Enable crate features based on available gstreamer version
...
We shouldn't only enable the gstreamer features based on the available
gstreamer version (such as gst-base/v1_26), but also the plugin
features (such as v1_26).
This should help with situations like
https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/634
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1943 >
2024-12-11 11:56:08 +00:00
Mathieu Duponchelle
8886cceaf0
webrtcsink: add nvh265enc support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1980 >
2024-12-11 08:07:15 +00:00
Sebastian Dröge
b44174b180
deny: Add override for duplicated aws-smithy-json dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1978 >
2024-12-10 15:59:24 +00:00