Doug Nazar
45eef1a000
alphacombine: fix memory leaks
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115 >
2025-07-07 13:01:34 +00:00
Doug Nazar
8873237131
cpu-throttling-clock: free clock when finished
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9115 >
2025-07-07 13:01:34 +00:00
Nicolas Dufresne
5c6273d663
Revert "vp9parse: Always default to super-frame"
...
This reverts commit fd1428d3ebf937d7656c3788df3ef3ff85fecc31.
As reported in #4524 , this changes cause regressions. The problem is due to a
bug in how vp9parse interact with parsebin, presenting downstream negotiation of
alignment to work. This revert to being stuck using frame alignment always,
which fortunately works with libvpx, though less efficient.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9329 >
2025-07-04 12:53:46 -04:00
Nicolas Dufresne
cf1aa3ecc6
vp9parse: Only show the last frame of a super frame
...
Only the last frame of a super frame should be displayed by default. When
converting from super frame to frame, mark all frames as decode only except the
last one. This fixes vp90-2-22-svc_1280x720_3.ivf conformance test with
stateless decoders such as VA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Nicolas Dufresne
d5d47d211e
vp9parse: Always default to super-frame
...
Sort the list of structure before truncating so that we don't prefer
"frame"" alignment over "super-frame" in some cases.
Fixes vp90-2-22-svc_1280x720_3.ivf conformance test when using libvpx based
decoder.
Fixes #4371
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Nicolas Dufresne
a8f5618d1a
vp9parse: Fix typo Aligment vs Alignment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8944 >
2025-07-03 20:48:12 -04:00
Julian Bouzas
3e4c17633e
h264parse: Forward LCEVC caps
...
This makes sure the parser exposes lcevc=true output caps if the demuxer
attached LCEVC data to video frames.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9321 >
2025-07-03 13:54:39 +00:00
Sebastian Dröge
7c1381cfd6
ssdobjectdetector: Use correct tensor data index for the scores
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9322 >
2025-07-02 21:56:58 +00:00
Edward Hervey
efb22b550c
mpegtsdemux: Add property to disable skew corrections
...
This is for cases where:
* We *do* want to refer to the PCR stream to figure out global positioning, gap
detection, wrapover correction.
* But we do not want to apply any skew correction to the output
This is useful for cases where:
* the input stream has already been clock-corrected (for example with
mpegtslivesrc)
* or where the output doesn't require synchronization against a clock (ex: for
storage)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9301 >
2025-07-02 14:10:55 +00:00
Doug Nazar
27a55d9346
proxysrc: Fix order freeing pads
...
Free pads from bottom of parent tree first else with GST_DEBUG
enabled it would access freed memory printing object info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9273 >
2025-06-30 12:19:19 +00:00
David Monge
d22be5d383
mpegtsmux: fix double free caused by shared PMT descriptor
...
The PMT descriptor was owned by the stream object but also added to
the descriptors array without copying, leading to a double free and
core dump during cleanup
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9285 >
2025-06-27 09:55:33 +00:00
Edward Hervey
bc0324f862
tsdemux: Allow access unit parsing failures
...
* Refactor the various Access Unit extraction calls into a single function
* Allow the access unit parsing to fail, but emit a warning
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9246 >
2025-06-19 13:03:16 +00:00
Ben Butterworth
224da2b947
mpegts: handle MPEG2-TS with KLV metadata safely by preventing out of bounds
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896
@slomo, as requested on https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3896#note_2780065
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8529 >
2025-06-19 00:41:09 +00:00
Jan Schmidt
ffba5837ac
tsdemux: Send new-segment before GAP
...
If adding a sparse stream and sending a gap event to bring it
up to speed, make sure to send the new segment event first
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8143 >
2025-06-17 03:01:39 +00:00
Stefan Andersson
38f5ab75fd
h26xparse: Drop NAL units that can't be parsed using AU alignment
...
Change so that the handling of NAL unit that can't be parsed when using
AU alignment is the same as when using NAL alignment, ie drop the data
if it can't be parsed.
If the AU contains more than one NAL unit any correctly parsed NAL unit
in the AU is kept.
Fixes #4436
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976 >
2025-06-10 13:00:20 +00:00
Stefan Andersson
a58fd15c91
h26xparse: Bail out if ...finish_frame returns an error
...
For NAL alignment bail out if gst_base_parse_finish_frame returns a flow
error.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976 >
2025-06-10 13:00:20 +00:00
Stefan Andersson
9aa1b969cd
h26xparse: Prevent assert hitting when discarding NAL unit
...
If using NAL aligment and only dropping part of the AU, the size
argument given to gst_base_parse_finish_frame was wrong and this assert
in gst_base_parse_finish_frame hit
'gst_adapter_available (parse->priv->adapter) >= size' failed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8976 >
2025-06-10 13:00:20 +00:00
raghu447
4b6c732fdd
analytics: add a convenient API to retrieve tensor
...
use the API in facedetector tensor decoding
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9162 >
2025-06-09 10:06:43 +05:30
Glyn Davies
607d24dfc6
mpegtsmux: Corrections around Teletext handling
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8966 >
2025-06-05 13:43:23 +00:00
raghu447
251d74ca69
tensordecoder: add facedetector tensor decoding support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8600 >
2025-06-03 18:48:36 -04:00
Sebastian Dröge
0855e4b948
rgb2bayer: Use gst_structure_has_name() instead of g_str_equal() for simplicity
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9146 >
2025-05-30 20:06:30 +00:00
Sebastian Dröge
77a486191c
bayer2rgb: Use gst_structure_has_name() instead of strcmp() for clarity
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9146 >
2025-05-30 20:06:30 +00:00
Sebastian Dröge
da892230d8
bayer2rgb: Fix RGB stride calculation
...
This fixes a regression introduced in 4c92d4096e9.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9146 >
2025-05-30 20:06:30 +00:00
Sebastian Dröge
65f9e0e985
dvbsuboverlay: Actually make use of subtitle running time instead of using PTS
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4446
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9123 >
2025-05-29 12:32:15 +00:00
Doug Nazar
7fe08e057c
tsdemux: Ensure AC3 descriptor is long enough before accessing
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9044 >
2025-05-27 10:44:37 +00:00
Doug Nazar
99aba78c88
gstreamer: Ensure we free the template
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9044 >
2025-05-27 10:44:37 +00:00
Nicolas Dufresne
500f9b60af
alphacombine: Fix seeking after EOS
...
The alpha_eos state was not being reset on flush-stop, as a side effect
flushing seek after EOS did not work.
Fixes #4442
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9069 >
2025-05-26 12:13:40 +00:00
L. E. Segovia
7b8d4c0974
orc: Update pregenerated files
...
Fixes -Wtype-limits on gstbayer.orc when emulating convuuslw.
Regenerated Orc files use OrcOnce, which increases the minimum version to 0.4.34.
See https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/212 (ORC_MIN)
See https://gitlab.freedesktop.org/gstreamer/orc/-/merge_requests/238 (AVX2 convussql)
See 8a86d51753
(OrcOnce)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9067 >
2025-05-25 14:36:17 +00:00
Jordan Petridis
d68f472683
bad: Avoid gcc false positive about variable initialization
...
In gstbayer2rgb the dtmp always gets initialized when
we check for bayersrc16.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8979 >
2025-05-15 15:21:20 +00:00
Doug Nazar
17474ebbb2
videoframe-audiolevel: Switch to GST_AUDIO_NE()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8984 >
2025-05-14 14:45:55 -04:00
Doug Nazar
4fb0a06271
uritranscodebin: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:37:59 -04:00
Doug Nazar
38ca8ae156
transcodebin: Free various props before being set
...
Also disable setting filters more than once.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8978 >
2025-05-13 19:35:58 -04:00
Olivier Crête
f13c757696
h264parse: Require codec_data when receiving stream-format=avc or avc3
...
It's not really possible to safely interpret the content afterwards if
it's missing.
Even for AVC3, the codec_data doesn't need to contain a SPS/PPS, but
it still needs to be present to tell downstream elements about the size
of the nal unit length field.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8955 >
2025-05-12 18:31:46 -04:00
Olivier Crête
ffed473992
h264parse: Never output stream-format=avc/avc3 caps without codec_data
...
It's not possible to interpret further buffers without knowing the nal_length_size
field, so avc1/avc3 caps without the codec_data aren't valid, don't push them out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8955 >
2025-05-12 18:31:46 -04:00
Daniel Morin
57e8dbfeb4
analytics: change tensor-id and use new API
...
- tensor-id changed to match tensor-id-registry at https://github.com/collabora/tensor-id-registry
- Use new GstTensorMeta API to get tensor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:41 +00:00
Daniel Morin
ec60daa66d
tensordecoder: add general classifier tensor-decoder
...
- Classification output is more standard compare to other tensor-decoder.
- This tensor-decoder implement a standard classification tensor-decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8548 >
2025-05-10 19:18:40 +00:00
Alexander Slobodeniuk
7f4282481e
removesilence: canonicalize property names
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915 >
2025-05-10 12:09:38 +00:00
Alexander Slobodeniuk
d437e92049
properties: add G_PARAM_STATIC_STRINGS where missing
...
"Hold on, I know you need to generate the registry, but let me just
create copies of all those strings first", Framework whispered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8915 >
2025-05-10 12:09:38 +00:00
Xavier Claessens
352a8a8b12
unifxfdsink: Add an property to allow copying
...
By design, unixfd is meant to be used for zero-copy and failing when the data is
not FD based memory is wanted to help debug pipelines. Though, there exists
cases, notably with RTP payloader and demuxers, where its not possible
to get all the data into FD memory through allocation queries.
To allow using unixfd for these cases, introduce a property on the unixfdsink
that enable copying the non FD data into freshly allocated memfd.
Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8861 >
2025-05-05 19:15:56 +00:00
Víctor Manuel Jáquez Leal
16d34468fb
y4m: move y4mdec to good to have a single y4m plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8719 >
2025-05-05 11:53:46 +00:00
Zhao, Gang
4fa01d5e4c
midiparse: Quit parsing if error occurred
...
Invalid midi files will crash gstreamer or let it enter infinite
loop. Fixed it by quit parsing if error is encountered.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8396 >
2025-05-01 07:42:39 +00:00
Zhao, Gang
43e3796d7d
midiparse: Consider tempo change when calculating duration
...
Midi meta event set tempo would change tempo. Should consider tempo
change when calculating buffer PTS / duration.
Save tempo change to a list and calculate duration according to the
list.
Fixed #4158
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8396 >
2025-05-01 07:42:39 +00:00
Alexander Slobodeniuk
a03c4de48f
elements: use set_static_metadata when it's allowed
...
Those strings are nice but CPU doesn't want to copy them
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8905 >
2025-04-26 19:30:15 +02:00
Nicolas Dufresne
239c0eb5f8
video: Add 10bit 422 NV16_10LE40 format
...
Similar to NV12_10LE40, this is a 422 variant. This format is also named
NV20 (20bit per pixels) in other stack and is produced by rkvdec
decoder.
Co-authored-by: Sebastian Fricke <sebastian.fricke@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5612 >
2025-04-17 15:36:06 +00:00
Jan Alexander Steffens (heftig)
24bcff5650
mpegtsmux: Read prog-map[PMT_ORDER_<PID>] for PMT order key
...
Right now the prog-map's meaning of `PMT_%d` is overloaded:
- PMT_<PGM> is used to look up the PID for the PMT.
- PMT_<PID> is used to look up ordering keys for streams in the PMT.
This is not a problem in practice because program numbers and PES PIDs
shouldn't overlap. Still, it's quite the wart in the API.
Provide "PMT_ORDER_%d" as an unambiguous way of specifying ordering
keys.
See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1510#note_2790022
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8584 >
2025-04-16 13:39:15 +00:00
Daniel Morin
55e9e3cb13
tensordecoders: updating element classification
...
- `TensorDecoder` is clashing with media decoder which cause decodebin use it.
Replacing with `Tensordecoder` to avoid clash
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8819 >
2025-04-15 00:30:06 +00:00
Guillaume Desmottes
9b19c10f39
alphacombine: unblock when alpha sink is eos
...
If the alpha sink receives EOS while the other thread was waiting for a
alpha buffer it was stuck waiting forever.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Guillaume Desmottes
d2086675a4
alphadecodebin: use a multiqueue instead of a couple of queues
...
Fix gapless playback as queues are no longer stopped after the first
eos.
Co-authored-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Fix #4165
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8775 >
2025-04-07 23:45:33 +00:00
Jakub Adam
75517d0faf
unixfdsrc: fix allocating FD memory with nonzero offsets
...
The element should allocate GstFdMemory large enough to fit incoming
memory's size plus its potential offset.
Fixes "gst_memory_resize: assertion 'size + mem->offset + offset <=
mem->maxsize' failed".
Fixes an issue reproducible on Raspberry Pi 4 that results in a garbled
image on the receiver's end:
gst-launch-1.0 libcamerasrc ! unixfdsink socket-path=/tmp/socket
gst-launch-1.0 unixfdsrc socket-path=/tmp/socket ! autovideosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8025 >
2025-04-07 14:51:47 +00:00
Guillaume Desmottes
e8038d2994
codecalpha: name both queues
...
Make it easier to debug from logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8744 >
2025-03-31 15:15:28 +00:00