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
Carlos Bentzen
b848c91dec
mpegtsmux: add support for VVC/H.266 video
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8435 >
2025-02-10 20:57:40 +00:00
Edward Hervey
63a03b167a
mpegts: Take into account adaptation field discont
...
If the flag is set, there is an *expected* discontinuity:
* For CC, we ignore the fact it's not contiguous
* For PCR, we acknowledge the values aren't contiguous
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8420 >
2025-02-10 19:41:21 +00:00
Alexander Slobodeniuk
b22c1da0d3
basetsmux: fix chaining up GObject's constructed virtual method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416 >
2025-02-10 17:49:29 +00:00
Alexander Slobodeniuk
9f5c08931d
rtpsrc: fix chaining up GObject's constructed virtual method
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8416 >
2025-02-10 17:49:29 +00:00
Glyn Davies
f32402e9b4
h264parse: Force full timestamp on all timecode updates. Was invalid between midnight and 1am
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8401 >
2025-02-10 11:50:23 +00:00
He Junyan
f63a70966e
av1parse: Handle the padding OBU correctly
...
The current av1parse can not find the edge of frame correctly if there
is padding OBUs inside the stream. We now use a flag seen_non_padding to
check whether we see some valid data after a data push. Then the padding
OBUs will be the part of the new frame.
We also refine the code logic to make the code more readable.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4044
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8269 >
2025-02-07 16:56:53 +00:00
Carlos Bentzen
bb74aceb5d
h266parse: clean up unused APS fields
...
Since APS is always carried in-band, we don't need to keep the APS
NALs around in the parser anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
5fad23d26b
h266parse: enable vvc1 and vvi1 stream formats
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
05d4a2022e
h266parse: handle packetized frames
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
551782b32b
h266parse: don't prepend APS NALs on IDR frames
...
Instead, APS NALs can just be pushed an in-band NALs like PH and SEI.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
c7e9aba025
h266parse: negotiate before handling codec_data NALs
...
If we find VPS/SPS/PPS in codec_data and call gst_h266_parse_process_nal
with them, we need to have negotiated before in order to correctly
process them with flags like h266parse->transform set or not depending
on the negotiation. This is important because in certain vvc1/vvi1 streams we
may have correct codec_data but faulty parameter sets in the stream and
we would want to push the parameter sets from codec_data first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
f4f7e99e05
h266parse: parse codec_data
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
8607ccdf2c
h266parse: update IDR position in more cases
...
The IDR position should be updated if we're processing an
IDR frame or pushing codec NALs. Not only when picture_header_in_slice_header_flag
is set.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
7c29249ca5
h266parse: fix typos
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Carlos Bentzen
fe61b43814
h266parse: implement make_codec_data
...
implement serialization of codec_data containing VvcDecoderConfigurationRecord
as defined in ISO/IEC 14996-15.
The VPS/SPS/PPS NALs are added to the codec_data. APS NALs could be
optionally included as well but will be pushed in-band instead, because:
1. Logic is easier that way. We'd have to filter out for PREFIX_APS only
(SUFFIX_APS aren't allowed in codec_data).
2. APS NALs can also be sent for every non-keyframe slice, and often are, so just pushing
them in-band makes more sense to have less to keep track and avoid possible
duplicates.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8359 >
2025-02-07 08:25:17 +00:00
Brad Hards
9b578abe15
h264parse: add conditional values to AVCConfigurationRecord
...
This adds the data required in AVCDecoderConfigurationRecord for
higher profile (High variants) configurations - everything in the if(...) {...} part
of ISO/IEC 14496-15:2024 Section 5.3.2.1.2. (or 5.3.3.1.2 in the 2019 version).
Resolves an error flagged by ComplianceWarden when muxing this into ISOBMFF.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8308 >
2025-01-22 15:58:21 +11:00
Sebastian Dröge
03942ff5b4
tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8326 >
2025-01-20 17:57:31 +00:00
Carlos Bentzen
7405866c84
tsdemux: add support for VVC/H.266
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4940 >
2025-01-15 13:55:25 +01:00
Ruben Gonzalez
c6ed0c33a0
h264parse: drop duplicated call
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8299 >
2025-01-13 22:09:10 +01:00
Mathieu Duponchelle
3de86b2b97
docs: port plugins to explicit sources
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8273 >
2025-01-13 19:17:13 +01:00
Edward Hervey
eef680b441
bad: Add extra warning flags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
64e9142d75
uritranscodebin: Fix definition usage
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
1bbd586e9e
timecode: Fix definition
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
6f9f951e83
rtmp2: Explicitly define scheme error enum
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
45df33196f
mxfdemux: Fix segments iteration
...
`i >= 0` is always true since it's an unsigned integer ...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:46 +00:00
Edward Hervey
37a8d49eaa
siren: Cast shift mask to unsigned value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
7a2aef9fa2
basetsmux: Add explicit macro for GstClockTimeDiff handling
...
The checks in the other macro were useless for unsigned values
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
67c4c35fb7
mxfdemux: Remove useless check
...
values will always be positive
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
5bc4ebfe61
speed: Refactor event handler
...
To avoid fallthrough issues which were tricky to fix
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
21d81d25ec
bad: Clearly specify fallthrough in switch/case
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
2f1f44cdc7
ristsink: Add missing break
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8286 >
2025-01-13 08:08:01 +00:00
Ruben Gonzalez
da5a4f7820
videoparsers: Fix indentation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8281 >
2025-01-12 22:51:44 +00:00
Tim-Philipp Müller
ef57213426
mpegtsmux: add support for interlaced JPEG XS
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8219 >
2025-01-08 19:48:31 +00:00