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
Doug Nazar
2e96ed13de
rfbsrc: Free various props before being set & during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
c2cb94a421
frei0r: Free various props before being set
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Doug Nazar
afd979c9e4
faceoverlay: Free various props during cleanup
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8648 >
2025-03-27 09:03:18 +00:00
Philippe Normand
1e2b103b20
alphacombine: De-couple flush-start/stop events handling
...
There is no guarantee that any FLUSH_STOP event is preceded by a FLUSH_START.
The element now stops flushing once it has received a FLUSH_STOP on all its sink
pads.
Fixes #4174
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8604 >
2025-03-12 18:34:53 +00:00
Thibault Saunier
ed693c7435
video: Give better names to buffer pools
...
Making debugging simpler
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8617 >
2025-03-12 14:49:22 +00:00
Carlos Bentzen
ee6618d9ba
h266parse: clear cache values with memset
...
Fixes a stack overflow on Windows/MSVC.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8588 >
2025-03-05 10:02:38 +00:00
Benjamin Gaignard
fab7e43fe2
debugutils: videocodectestsink: Add GBR_10LE as supported pixel format
...
Add GBR_10LE in the list of supported format of the element.
GBR_10LE is used as output format in Fluster ARGON tests suite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502 >
2025-02-18 13:01:14 +00:00
Benjamin Gaignard
a50dddeea2
videoparsers: av1: Fix typo in debug log
...
comsumed -> consumed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502 >
2025-02-18 13:01:13 +00:00
Benjamin Gaignard
2f81d53efc
videoparsers: av1: Allow av1parse to parse annexb streams
...
Let's av1 parser do it job event it receives an annexb stream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8502 >
2025-02-18 13:01:13 +00:00
Edward Hervey
96e660e0d9
mpegts: Fix PCR Discontinuity handling for HLS
...
We can only reliably use the adaptation field discontinuity flag if our input is
properly timestamped on a regular basis (ex: UDP, DVB, RTP, etc...).
For HLS and other systems which don't provide that information, we should not
reset the base observations. Otherwise we would potentially end up picking a
reference time from a long time ago.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8480 >
2025-02-14 14:33:45 +00:00
Mart Raudsepp
def2f12d84
mpegtsmux: Fix error message for PID < 0x40 to be in the claimed base 16
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463 >
2025-02-12 12:39:29 +00:00
Mart Raudsepp
395c8cafa6
mpegtsmux: Fix deadlock when requesting pad for PID < 0x40
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8463 >
2025-02-12 12:39:29 +00:00
Alexander Slobodeniuk
15bf924940
cpu-throttling-clock: fix missing GObject vtable chainups
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8452 >
2025-02-11 22:49:06 +01:00