Commit graph

3567 commits

Author SHA1 Message Date
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
Yaakov Selkowitz
6f4a4c392f Add missing copies of license files
This should fix the crates that are missing license files.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2052>
2025-01-28 11:34:15 +00:00
Jochen Henneberg
051bea47df 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.

Orientation tags are also set in TKHD but combined with the global
orientation tag if available.

And switched to GStreamer API for image orientation tag storage and
handling and added the flip transformations.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2033>
2025-01-22 09:01:16 +00:00
Sebastian Dröge
b70ad7895f mpegtslivesrc: Handle zero-byte adaption fields
Simply skip over them instead of handling them as parse error.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2048>
2025-01-21 13:50:46 +00:00
Tim-Philipp Müller
0b0c1cbf50 rtp: ac3: validate depayloaded AC-3 data in unit tests
Check for valid frame header.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2046>
2025-01-20 19:32:48 +00:00
Tim-Philipp Müller
6292916f94 rtp: tests: add run_test_pipeline variants with data validation
So we can actually check the content of depayloaded buffers too.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2046>
2025-01-20 19:32:48 +00:00
Tim-Philipp Müller
82167453b4 rtpac3depay2: fix handling of non-fragmented payloads
The frames of a non-fragmented payload would contain
an extra two bytes before the frame sync and then
missing two bytes at the end which which would cause
decoding errors on the last block and/or frame crc
check failures.

This happened because we didn't take into account
the 2-byte packet payload header when creating output
sub-buffers, as the offsets we were using were in
relation to the payload data after the headers.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/645

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2046>
2025-01-20 19:32:47 +00:00
Sebastian Dröge
148608e1d5 rtp: basepay: Only forward buffers if we have a segment
If there are pending buffers without a segment then they must come from
the caps only and should be forwarded at a later time, if any.

Also reject any incoming buffers if no segment was received.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2042>
2025-01-15 18:10:39 +00:00
Sebastian Dröge
49d6b9b1c2 rtp: basedepay: Only forward buffers if we have a segment
If there are pending buffers without a segment then they must come from
the caps only and should be forwarded at a later time, if any.

Also reject any incoming buffers if no segment was received.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2042>
2025-01-15 18:10:39 +00:00
Jochen Henneberg
207196a033 fmp4mux: Fix state cleanup on flush
State cleanup was incomplete. If a flush happens we do not have any
buffers anymore so all buffer queue related settings must be cleared
on the state. Flush action has been moved into state impl.

The GstAggregatorPad flush() was implemented as well as the pad flush
handler - with different implementations. Unify it.

Fixes #636

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1968>
2025-01-10 09:00:38 +00:00
Guillaume Desmottes
dec6cb5c3a 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/2030>
2025-01-08 09:26:50 +01:00
Robert Mader
1a090b6551 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/2023>
2025-01-04 13:12:06 +00:00
Sebastian Dröge
862aefecd6 Update CHANGELOG.md for 0.13.4 2024-12-24 15:47:19 +02:00
Sebastian Dröge
12a22b98af Update versions to 0.13.4 2024-12-24 15:36:59 +02:00
Sebastian Dröge
36cdb85e77 mpegtslivesrc: Parse PES packets and check for reasonable PTS/DTS
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2011>
2024-12-24 11:30:23 +00:00
Sebastian Dröge
f610a0c9d8 mpegtslivesrc: Refactor section parser
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2011>
2024-12-24 11:30:23 +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
Thibault Saunier
a825428857 tracers: buffers-lateness: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2008>
2024-12-24 09:34:37 +00:00
Thibault Saunier
280f58afe9 tracers: queue-levels: Add a signal to force writing log file
This way applications can write the queue levels info whenever it wants
and does not need to wait for the application to quite.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2008>
2024-12-24 09:34:37 +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
ff547205ea mpegtslivesrc: Reset rate to 1/1 on disconts and flush observations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2010>
2024-12-23 19:59:06 +00:00
Sanchayan Maity
6a5c952f7c Add s3putobjectsink to README
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1928>
2024-12-23 17:26:31 +00:00
Sanchayan Maity
e871e5f74d aws: Add next-file support to putobjectsink
Add `next-file` support to `awss3putobjectsink` on similar lines to
the `next-file` support in `multifilesink`.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1928>
2024-12-23 17:26:31 +00:00
Sebastian Dröge
f5a87faa87 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/2007>
2024-12-23 18:44:07 +02: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
Mathieu Duponchelle
612279f421 gst_plugins_cache.json: generate tracer objects documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:37:55 +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
feb1f45836 raptorqdec: Stop using deprecated API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:31:07 +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
Sebastian Dröge
24ebe1e2af ci: Don't consider no runnable tests an error
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:19:18 +02:00
Sebastian Dröge
c84c6ba4ed deny: Add override for duplicated aws-smithy-json dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:15:31 +02:00
Sebastian Dröge
f0ab59c6bb deny: Add override for duplicated aws-smithy-json dependency
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:14:17 +02:00
Sebastian Dröge
5413e67586 deny: Remove obsolete entries
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:14:04 +02:00
Sebastian Dröge
07d5fa3a09 deny: Update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:13:50 +02:00
Sebastian Dröge
a29780750d deny: Update
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:13:33 +02:00
Sebastian Dröge
2d6b123f6b Update Cargo.lock
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 18:12:04 +02:00
Sanchayan Maity
6e67e7c378 docs: Fix CI failure due to missing GRAY10_LE16 entry
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2007>
2024-12-23 16:42:44 +02:00
Thibault Saunier
e0bef7d179 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/2000>
2024-12-20 10:51:25 +02:00
Thibault Saunier
4764058efa 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/2000>
2024-12-20 10:51:25 +02:00
Mathieu Duponchelle
c2c8423e7f gstwebrtc-api: example: use http by default
That way the webpage connects with ws:/ to the signaller.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/589
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1992>
2024-12-16 15:14:41 +00:00
Mathieu Duponchelle
0ab583c3aa webrtc-api example: do not rely on webpack / npm proxying websocket
Instead simply use the desired address directly from the reference
example, this makes it work out of the box without placing expectations
on the web server.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1991>
2024-12-16 13:59:51 +00: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
Nirbheek Chauhan
f0a4cfebd6 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/1982>
2024-12-11 14:04:58 +00:00
Mathieu Duponchelle
9e848d3b75 webrtcsink: add nvh265enc support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/1981>
2024-12-11 13:13:42 +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