Albert Sjolund
06edb672d6
streamproducer: don't 'leak' hashmap objects
...
Release is called at the end and replaced with a pending object.
However, this object does not get released from the map and lives on.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2077 >
2025-02-14 11:24:40 +00: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
Guillaume Desmottes
7fa1422f9a
uriplaylistbin: tests: fix eos races
...
Wait for each stream to EOS rather than rely on the EOS message.
Prevent races as our test files are really short, see https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4204
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2070 >
2025-02-12 11:35:28 +00:00
Guillaume Desmottes
c5b37ca0bb
togglerecord: drop locks before sending queries
...
Sending a serialized query may potentially block so best to release
locks before doing so.
Hopefully fix a dead lock I analyzed from a post mortem report.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/2067 >
2025-02-10 10:17:21 +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
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