Guillaume Desmottes
ac04d9b7b1
libav: avviddec: log the old resolution when updating the pool
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913 >
2024-11-19 08:04:00 +00:00
Guillaume Desmottes
7d49740269
libav: viddec: provide details if meta has the wrong resolution
...
Will produce a more useful assert error message.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7913 >
2024-11-19 08:04:00 +00:00
Nicolas Dufresne
0e2efb2de4
waylandsink: Properly handle unrecoverable errors
...
Allocation failures cannot be recovered and should lead to an error
being posted on the bus. Otherwise the pipeline will just stall.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903 >
2024-11-18 16:02:13 -05:00
Nicolas Dufresne
f9c01f6479
waylandsink: Do not offer SHM pool when DMABuf is negotiated
...
Pools are expected to produce DMABuf when the caps are negotiated with
the associated caps feature. For that reason, avoid sharing the SHM pool
in this case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7903 >
2024-11-18 16:02:12 -05:00
Stéphane Cerveau
c67ac844ed
zbar: fix documentation
...
Fix some typos and markdown cleanup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914 >
2024-11-18 14:25:34 +00:00
Stéphane Cerveau
6d8cd9cf92
zxing: update documentation
...
Fix some typos and markdown cleanup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7914 >
2024-11-18 14:25:34 +00:00
Albert Sjolund
f068b3bf5c
gstpad: specialize gst_pad_chain_list_default
...
In the case where the bufferlist is writable, send the
buffers immediately without adding to the refcount. This
allows writable buffers to maintain their writability, even
without implementing a chain_list function on the element.
Adds a test to verify this property, where a writable list
maintains refcount 1, but a readonly list increases it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7894 >
2024-11-18 10:59:34 +00:00
Robert Rosengren
6fff1ef971
gstdeviceprovider: fix leaking hidden providers
...
Free list of hidden providers upon stop and dispose.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7912 >
2024-11-18 09:20:34 +01:00
Matthew Waters
c3d4d500e0
vaapi/display_wayland: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
26d581041a
vaapi/display_drm: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
e993e0e981
vaapi/encoder: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
1814d7ae11
rtph26xpay: silence some maybe-unitialized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
c7ee7c65ae
validate/gapplication: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
995dcb04e0
tests/onvif: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:58 +11:00
Matthew Waters
c0f4a855cc
ges/clip: silence some maybe-unitiailized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
a566dfd339
uvcgadget: silence a maybe-uninitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
6eee4a513b
fdkaacenc: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
bf22f282eb
encodebin: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
741f935bbf
ristrtxsend: silence a maybe-uninitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
382ed4630e
av12json: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
e2d143f65d
oggdemux: silence a maybe-unitialized warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
3743f69c85
souphttpsrc: silence some maybe-uninitialized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
d98c83b297
v4l2videodec: silennce some maybe-uninitialized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
7b526775b4
rtsp-server-media-factory: silence some maybe-unused warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
605cff0642
vulkan/videoutils: silence some maybe-unitialized warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Matthew Waters
8e758c715b
value: silence a maybe-unitialized warning
...
gstvalue.c:376:8: error: ‘s_val’ may be used uninitialized [-Werror=maybe-uninitialized]
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7875 >
2024-11-18 12:10:57 +11:00
Albert Sjolund
72edd65710
rtpmanager: don't map READWRITE in twcc header ext
...
There is no need to map the buffer as writable, as there is
only a read performed on the mapped buffer. This is in line
with other header extensions, as no other extensions maps
it as readwrite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7895 >
2024-11-17 10:00:12 +00:00
Philippe Normand
827caa662c
playbackutils: Fix caps leak in get_n_common_capsfeatures()
...
The gst_static_caps_get() return value is transfer-full.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7908 >
2024-11-16 18:24:23 +00:00
Nicolas Dufresne
000a7650fc
glupload: Upgrade uploader selection message to INFO
...
This allow using INFO log to quickly see what uploader we
picked. This is very useful as the DEBUG category has became
very noisy.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7891 >
2024-11-16 12:30:34 +00:00
Nicolas Dufresne
3c8b1427ca
glupload: dmabuf: Fix emulated tiled import
...
The added check for LINEAR modifier broke dmabuf import for
NV12 emulation (R8/RG88) of all sort (linear and tiled).
Fixes !5461
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7891 >
2024-11-16 12:30:34 +00:00
He Junyan
347393be36
Doc: Update the kmssink caps after adding DMA support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:20:16 +08:00
Jakub Adam
34a400cc0e
kmsbufferpool: Accept DMA_DRM caps in the config
...
Only linear modifier is supported due to the dumb allocator's
limitation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
Jakub Adam
9e81a6517b
kmssink: ensure we have a valid vinfo_drm after set_caps
...
Consequently drop the check in import_dmabuf
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
Jakub Adam
d04a03d176
kmssink: enumerate drm formats when IN_FORMATS not present
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
6ad6b765ab
kmssink: Do not provide DMA buffer pool for non-linear caps
...
The dumb allocator does not support modifiers, so we can not allocate
non-linear buffers by ourself.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
e4d7ac5989
kmssink: Handle the DMA buffer importing correctly
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
a925630d87
kmssink: Add DMA kind caps into sink caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
6f78e1c3e0
kmssink: Add helper functions to create DMA and raw caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
3f510d1296
kmssink: Add a helper function to collect formats and modifiers
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
He Junyan
9df377efc1
kmssink: Add modifier to gst_kms_allocator_dmabuf_import
...
Use the new drmModeAddFB2WithModifiers() API for binding the
non-linear BO.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5174 >
2024-11-16 13:19:13 +08:00
Thibault Saunier
7010efc8ed
meson: Bump minimum version to 1.3
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4025
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7899 >
2024-11-16 03:02:27 +00:00
Sebastian Dröge
dce0cdf548
audiostreamalign: Don't report disconts for every buffer if alignment-threshold is too small
...
If it is too small, the maximum allowed diff becomes 0 samples which would then
trigger if there is no discontinuity at all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7888 >
2024-11-16 00:10:51 +00:00
Benjamin Gaignard
da02191411
v4l2codecs: Test ioctl return value and errno
...
Fix error testing when using V4L2_FMTDESC_FLAG_ENUM_ALL by using
both errno and the return value.
Fixes !7686 (merged)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7873 >
2024-11-15 23:22:30 +00:00
Sebastian Dröge
2bbf095e5b
matroskamux: Simplify timestamp comparison logic in find_best_pad()
...
If a buffer has no timestamp it is immediately muxed so we can directly break
the loop and simplify comparisons in the other cases.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7872 >
2024-11-15 22:33:53 +00:00
Sebastian Dröge
a391728ad4
matroskamux: Don't time out in live mode if no timestamped next buffer is available
...
The muxer can only advance the time if it has a timestamped buffer that can be
output, otherwise it will just busy-wait and use up a lot of CPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7872 >
2024-11-15 22:33:53 +00:00
Philippe Normand
701f563996
matroskamux: Delay stream-header until all sink pads have caps
...
If we don't wait, an incomplete header might be generated due to a race between
the _aggregate thread and the sink pad setcaps.
Fixes #3929
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7872 >
2024-11-15 22:33:53 +00:00
Marianna Smidth Buschle
2766e4816a
v4l2object: Fixed framerate negotiation
...
We had a problem with negotiation of the framerate.
Gstreamer was querying the FRAMEINTERVALS based on the max frame size
instead of the desired frame size.
This was resulting in non-negotiated errors when trying to run with a
smaller frame size and fps higher than the max for the max image size.
Fx the max framerate for 1024x1024 RGB on CMOSIS4000 is 28.292
While for 1024x100 RGB it is 280.867
But Gstreamer would allow any framerates bigger than 28.292 no matter
the frame size used...
I have fixed it by 1st changing the CAPS query to use the minimum frame
size instead of maximum.
This however has the downside of allowing gstreamer to negotiate
framerates that are too high if the image size is bigger than the
minimum.
This is not a huge problem since our driver just CLAMPS the fps value to
the max then.
However gstreamer was not being properly notified of this change, and
would therefore report a wrong fps in the CAPS structure.
Note that the fps would be correct inside the buffer info.
Since gstreamer was reading the fps back after setting it.
It was just not being "propagated" to the CAPS structure.
I have also added a WARNING to this point so we can see if the fps that
gstreamer tries to apply was accepted or not.
And the next part of the fix was to add a framerate check after the
frame size has been established.
I did this inside the fixate_caps function of the v4l2src, which was
calling the TRY_FMT in order to check if the format was correct.
So I just added a check for the ENUM_FRAMEINTERVALS in there.
And now we get the non-negotiated again if the fps is too high for the
selected frame size.
Also added a couple of warnings so it is easy to see that this was the
cause.
See:
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3037
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7850 >
2024-11-15 22:29:56 +00:00
Stéphane Cerveau
0dd706a420
vkutils: add gst_vulkan_ensure_element_device
...
In order to keep the same device across
the elements in the pipeline, use either the device id
to create the device or get the device from the context
set by the peer elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843 >
2024-11-15 20:32:24 +00:00
Stéphane Cerveau
9a771b6909
vkinstance: add gst_vulkan_instance_create_device_with_index
...
This method will allow to create a device with its device_index
preparing the support of multiple device.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7843 >
2024-11-15 20:32:24 +00:00
Víctor Manuel Jáquez Leal
46f4dbe57b
codecparser: remove unused headers
...
Mainly <string.h> but also <stdlib.h> in jpegparse
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869 >
2024-11-15 19:33:10 +00:00
Víctor Manuel Jáquez Leal
e60efa4b9a
codecparsers: avoid libc math library
...
Instead of the libc ceil() and pow() machinery for double types, since the
library uses it for unsigned integers use a simple math function for for ceil
division and bit left shift for integer power of two.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7869 >
2024-11-15 19:33:10 +00:00
Stéphane Cerveau
ff9100eb4d
h265parser/bitwriter: add some comments for ceil_log2 use
...
Validate that the length of field must be calculate with
ceil_logs2 and not bit storage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Stéphane Cerveau
8f9ed667cd
h264parse: use of ceil_log2 instead of bit_storage
...
According to the specification:
The length of the slice_group_id[ i ] syntax element is Ceil( Log2(
num_slice_groups_minus1 + 1 ) ) bits
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Stéphane Cerveau
a6f82ba590
utils: improve gst_util_ceil_log2
...
According to the following comparison of algorithms, the value
for 0 and 1 was giving an incorrect result.
https://gist.github.com/ceyusa/6061b33ac109a68bcd222f6919968c9a
More information here:
https://github.com/rofrol/codeforces/blob/master/ceil_log2.c
Use a different algorithm which offers better result and keep the
performance.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7429 >
2024-11-15 16:52:29 +00:00
Jan Alexander Steffens (heftig)
65e071c1c8
flvmux: Mux timestampless buffers immediately
...
Instead of leaving them queued indefinitely, or until we're timing out
and it's the only buffer queued.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7871 >
2024-11-15 15:58:07 +00:00
Sebastian Dröge
969b51acb6
flvmux: Don't time out in live mode if no timestamped next buffer is available
...
But also don't wait for a buffer on both pads, which might take forever in case
of gaps in one of the streams.
The muxer can only advance the time if it has a timestamped buffer that can be
output, otherwise it will just busy-wait and use up a lot of CPU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7871 >
2024-11-15 15:58:07 +00:00
Jan Alexander Steffens (heftig)
d0543444d8
mpegtsmux: Mux timestampless buffers immediately
...
Instead of leaving them queued indefinitely, or until we're timing out
and it's the only buffer queued.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870 >
2024-11-15 13:07:06 +00:00
Sebastian Dröge
3971f8b86c
mpegtsmux: Don't time out in live mode if no timestamped next buffer is available
...
The muxer can only advance the time if it has a timestamped buffer that can be
output, otherwise it will just busy-wait and use up a lot of CPU.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3912
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7870 >
2024-11-15 13:07:06 +00:00
Robert Rosengren
ff14e1a9e3
udpsrc: protect cancellable from unlock/unlock_stop race
...
Protect cancellable from simultaneous unlock and unlock_stop calls from
basesrc class.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7885 >
2024-11-15 10:33:44 +00:00
Stéphane Cerveau
ab8b2883a1
gst_plugins-cache: add zxing plugin
...
update documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7887 >
2024-11-14 19:14:48 +00:00
Sebastian Dröge
bc63d85f19
idstr: Fix docs of set_static_str_with_len()
...
The passed string must be NUL-terminated because otherwise a copy would be
necessary to make it NUL-terminated, which defeats the whole purpose of the
set_static() functions.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7863 >
2024-11-14 17:12:27 +00:00
Thibault Saunier
c0c9a31fc9
tests: ges: Update known issue links as they were moved to the monorepo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7884 >
2024-11-13 19:22:17 -03:00
Thibault Saunier
f4f473650f
ges: pipeline: Add missing API guard
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7882 >
2024-11-13 21:23:43 +00:00
Thibault Saunier
c00429a917
ges: launch: Fix usage of save-only after loading a project
...
We need to wait for the project to be loaded before saving the file
and quit
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4003
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7882 >
2024-11-13 21:23:43 +00:00
Edward Hervey
6ba70f5da8
mpegtsmux: Post error on the bus if no mapping is found
...
This is more useful/visible
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707 >
2024-11-13 08:29:25 +01:00
Edward Hervey
244b00ac08
mpegts: Add custom mapping for vp9
...
This is a custom mapping. There isn't much needed apart from that to store vp9
in mpeg-ts since the bitstream is self contained.
Since there are no official specification we don't want people to be mistaken in
believing that. Therefore that mapping is only used in the muxer if the (new)
property `enable-custom-mappings` is set to TRUE.
* The MPEG-TS Stream Type is Private Data (0x6) with the registration descriptor
set to `VP09`.
* The Access Unit are VP9 frames stored in PES packets
* As there is no emulation prevention byte in VP9 elementary stream, the can be
misdetection of PES start code. To avoid this, the start of a PES packet must
be signalled using the Payload Unit Start Indicator in the transport packet
header
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7707 >
2024-11-13 08:28:36 +01:00
Thibault Saunier
23ce0d2901
meson: gst: Make GST_FULL_STATIC_COMPILATION
a static only arg
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7874 >
2024-11-12 16:28:39 +00:00
Thibault Saunier
650ff6c5d0
nvcodec: gl now supports Y444_16LE
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858 >
2024-11-12 11:31:37 -03:00
Thibault Saunier
6ed0d547a7
gl: colorconvert: Add support for Y444_10XX and Y444_16XX
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7858 >
2024-11-12 11:31:37 -03:00
Seungha Yang
43fc9525ca
d3d12swapchainsink: Fix error when the sink is reused
...
Release backbuffer just before releasing swapchain
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7867 >
2024-11-12 12:03:18 +00:00
Théo Maillart
a1c92c0cb1
mpegvideoparse: do not set delta unit flag on unknown frame type
...
When encoding an image to mpeg2 video, with something like:
gst-launch-1.0 encodebin name=e profile=mpegpsmux:video/mpeg,mpegversion=2,systemstream=false ! \
filesink location=sample.mpg filesrc num-buffers=1 blocksize=$(stat -c%s sample.png) \
location=sample/dts.png ! pngdec ! e.
The only frame's type is set to an invalid value 0
The consequence is that mpegvideoparse sets the delta unit flag on the buffer because
it is not an I frame, then decodebin3 drops this only frame because the delta
unit flag is set and the decoder receives eos before it was able to receive any
encoded data
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7832 >
2024-11-12 09:13:10 +00:00
Víctor Manuel Jáquez Leal
986b91fbe9
h26Xbitwriter: use quote form directive for internal header
...
Since nalutils.h is not installed it should be included for the local path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7868 >
2024-11-12 06:29:22 +00:00
Alicia Boya García
2080aff70c
adapter: Improve documentation for gst_adapter_available()
...
When I first read the documentation of gst_adapter_available() and
gst_adapter_available_fast() I got quite confused as it seemed that
both performed the same purpose but one was slower than the other.
I shared it with other people and found they also arrived at the same
wrong conclusion.
Hopefully this patch will make the actual purpose clearer.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/12
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Niklas Jang
3dcdea9e80
docs: tutorials: improve Linux compile instruction for newbies
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Tom Schuring
1a9ecaeec9
docs: plugin development: add example for enum property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Zeno Endemann
7112f1b874
docs: application-development: Clarify usage of static elements
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/41
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Tim-Philipp Müller
96d762c6eb
docs: installing-on-windows: %HOMEFOLDER% does not exist
...
%HOMEPATH% does, however.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/52
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Tim-Philipp Müller
4702cae7ff
tutorials: gstreamer tools: fix broken webm to ogg transcode pipeline
...
The pipeline would error out with not-negotiated. Reason is that
the webm file doesn't have an average frame duration set in the
headers, so matroskademux outputs framerate=0/1, but theora in
Ogg really requires a fixed framerate, so that errors out.
Change example to H.264/AAC in MP4, which is more useful.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/108
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Tim-Philipp Müller
74d75e481c
docs: fix up some old 0.10-style raw video caps
...
See https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/108
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:18 +00:00
Tim-Philipp Müller
6e4a3ad69b
docs: tools: sync gst-launch page with man page
...
This still had the content from 0.10 time.
See https://gitlab.freedesktop.org/gstreamer/gst-docs/-/issues/108
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:17 +00:00
Tim-Philipp Müller
566e377272
gst-launch-1.0: update man page a little
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7859 >
2024-11-11 17:25:17 +00:00
Víctor Manuel Jáquez Leal
d9aa8a78ea
h264bitwriter: implement gst_h264_bit_writer_filler()
...
This is required for vulkan encoder since it can only write slides after aligned
offsets.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7785 >
2024-11-11 16:05:38 +00:00
Sid Sethupathi
8be9693b1e
gs: update building README
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7860 >
2024-11-11 13:39:50 +00:00
Dean Zhang (张安迪)
a7f35d4f3c
qtdemux: Add support for m1v fourcc when subtype is vide
...
Some special videos with mlv fourcc can't be recognized by
qtdemux when the subtype of the video is vide instead of
m1v, and will cause negotiation error in subsequent plugin.
So make the handle in qtdemux_video_caps. It might be better
than nothing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7855 >
2024-11-11 12:04:04 +00:00
Taruntej Kanakamalla
36d8243397
ptp: use ip_mreq instead of ip_mreqn for macOS
...
To join a multicast the macOS still uses the interface address
from the ip_mreq instead of the ip_mreqn unlike other Linux systems.
So add a new conditional block for macOS to use ip_mreq for IP_ADD_MEMBERSHIP
and ip_mreqn for IP_MULTICAST_IF
This is similar to the fix in the glib for multicast join/leave
operation on macOS
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/4333
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7851 >
2024-11-11 10:26:43 +00:00
Sebastian Dröge
e57bd3b0dc
riff: Add support for M101 Matrox uncompressed SD video codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7823 >
2024-11-11 08:47:41 +00:00
Sebastian Dröge
c6a6b75358
avcodecmap: Add support for M101 Matrox uncompressed SD video codec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7823 >
2024-11-11 08:47:41 +00:00
Diego Nieto
0d85cdafd5
exiftag: handle GST_TAG_CAPTURING_LIGHT_SOURCE tag
...
This exif tag allows to specify the different light conditions
when taking a picture. This tag is defined in:
https://exiftool.org/TagNames/EXIF.html#LightSource
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5571 >
2024-11-10 12:57:36 +00:00
Sebastian Dröge
b5e119bbcc
ccconverter: Don't override in_fps_entry when trying to take output
...
This allows to handle CDP streams where the framerate is not provided by the
caps and generally gives preference to the framerate inside the CDP packets over
the one in the caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7532 >
2024-11-10 08:37:36 +00:00
Tim-Philipp Müller
7e9866844f
audioresample: skip pointless loop in broken test_fft unit test
...
Variable f1 is never used, so just skip that loop for now.
The test has never actually tested actual resampling because of
that bug it seems, and the test fails if fixed to actually resample.
For now we just avoid the pointless 126*12 pipelines that were just
testing the same thing (nothing) over and over again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7827 >
2024-11-09 02:54:35 +00:00
Olivier Crête
65549da07e
tensormeta: Add Python unit tests for the tensor meta APIs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
d934ea3f7a
tensormeta: Add APIs to create and access GstTensorMeta contents
...
Also document those APIs better.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
5e73e8e1b3
tensor: Add APIs to create and access GstTensor contents
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
4295386804
tensors: Use full GstTensorDataType type name in type members
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
e01a3b1d79
analytics: Add APIs to add or get a GstTensorMeta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
6a5a63f051
analytics: Adding abstraction on tensor dims
...
Tensor can be row or col major, but it's also possible that the order by we need
to read the tensor with more than two dimension need to be described. The
reserved field in GstTensorDim is there for this purpose. If we need this we
can add GST_TENSOR_DIM_ORDER_INDEXED, and follow an index defining order for
each dimension.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
8169863f01
analytics: Make GstTensor more suitable for inline allocation
...
GstTensor contained two fields (data, dims) that were dynamicallay allocated. For
data it's for a GstBuffer and we have pool for efficient memory management. For
dims it's a small array to store the dimension of the tensor. The dims field
can be allocated inplace by moving it at the end of the structure. This will
allow a better memory management when GstTensor is stored in an analytics meta
which will take advantage of the _clear interface for re-use.
- New api to allocate and free GstTensor
To continue to support use-cases where GstTensor is not stored in an
analytics-meta we provide gst_tensor_alloc, gst_tensor_alloc_n and
gst_tensor_free that will facilitate memory management.
- Make GstTensor a boxed type
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
7c925eae61
analytics: Move batch to GstTensor
...
- batch_size is required to interpret the tensor depending on the tensor format
the batch are not necessarily memory plane therefore it's preferable to keep it
inside GstTensor.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Daniel Morin
43c7e524ce
analytics: Decouple GstTensor from GstTensorMeta
...
- To support transporting tensor as GstMeta, Analytics-Meta and Media we need to
decouple GstTensor from GstTensorMeta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
8fa4c8f2f0
tensordecoders: Move decoder out of the ONNX plugin
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Olivier Crête
03fd6fadbc
analytics: Move tensor meta to the analytics library
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6000 >
2024-11-08 14:58:49 +00:00
Edward Hervey
09be1ab863
urisourcebin: Also use event probe for HLS use-cases
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3957
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7822 >
2024-11-08 09:14:21 +00:00
Thibault Saunier
932f0a6175
validate: flow: Fix logging upstream events
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:46 +00:00
Thibault Saunier
56000b91b7
validate: Add a way to force monitoring all pipelines in a .validatetest file
...
See documentation for more details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
302797a965
validate: Add a deep-property-path
parameter to the wait
signal
...
Allowing wait actions to wait on any property of any element in the pipeline,
even for elements that might be added later in the pipeline. This also
works for pads which can be pretty useful
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
2c88bbf07f
validate: Allow overriding features rank early in testfiles meta
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
f5b0f91d33
validate: launcher: Remove log files for passing tests by default
...
Adding an option to keep them no matter what.
Log files are often pretty large and keeping them around can be annoying,
usually people won't look at logs files for passing tests, and we do not
even print them out.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
0cdd22f176
validate: Remove some regex related python 3.12 warnings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
dfd5357214
validate: scenario: Add a way to make the select-streams run several times
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Thibault Saunier
19060b2ce0
validate: Add a way to retrieve HTTP server port in .validatetest files
...
By setting a `$(http_server_port)s` variable in a dedicated config file
and making sure that file can always be imported in `.validatetest`
files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7700 >
2024-11-07 20:52:45 +00:00
Tim-Philipp Müller
ea99a670e3
subprojects: add fallback_urls for json-glib and pygobject wraps
...
download.gnome.org seems a bit flaky and that causes problems
for the fedora/debian image rebuilds.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7852 >
2024-11-07 13:43:29 +00:00
Sebastian Dröge
1a412969f1
subprojects: Update ffmpeg to 7.1
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7781 >
2024-11-07 10:38:08 +00:00
L. E. Segovia
a4de777982
android: Stop including ca-certificates as compulsory
...
See gstreamer/cerbero#402
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7838 >
2024-11-06 23:02:26 +00:00
wbartel
37ce358952
webrtcbin: fix malformed docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7847 >
2024-11-06 22:47:39 +00:00
L. E. Segovia
dd1da457a6
cairo.wrap: Update to 1.18.2 and fix MSYS2 build
...
See 33173d9f1a
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7848 >
2024-11-06 17:20:37 +00:00
Adrien De Coninck
abd9fc5635
tsdemux: validate frat before setting framerate in caps
...
From JPEG-XS part3 : "If the frame rate is unknown, the frat parameter is 0."
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836 >
2024-11-06 14:48:51 +00:00
Adrien De Coninck
b3e2ad498a
tsdemux: use JXS_video_descriptor "frat" to set caps "framerate"
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7836 >
2024-11-06 14:48:51 +00:00
Sebastian Dröge
d2d2a12aac
timecodestamper: Don't fail the latency query in LTC mode if we have no framerate
...
Only in LTC mode we introduce additional latency that is depending on only on a
property and not on the framerate, so waiting for the framerate is not necessary.
In all other modes no latency is introduced at all and the latency query can
simply be proxied.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7831 >
2024-11-06 12:52:22 +00:00
Stefan Riedmüller
39b2dd1dd1
v4l2object: Remove little endian marker on 8 bit bayer format names
...
There is no point in having an endian marker on 8 bit bayer format names since
it is just one byte. Thus remove it.
This also fixes an incompatibility with plugins bad where there is no endian
marker on 8 bit bayer format names as well.
Fixes : #3729
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7826 >
2024-11-06 12:06:28 +00:00
Mart Raudsepp
790b12cf13
mpegtsmux: Add support for SMPTE 302M (audio/x-smpte-302m)
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6530 >
2024-11-06 11:16:14 +00:00
Jonas K Danielsson
20e3454c26
udpsrc: Disable allocated port reuse for unicast
...
The `reuse` property end up setting the SO_REUSEADDR socket option for
the UDP socket. This setting have surprising effects.
On Linux systems the man page (`socket(7)`) states:
```
SO_REUSEADDR
Indicates that the rules used in validating addresses supplied
in a bind(2) call should allow reuse of local addresses. For
AF_INET sockets this means that a socket may bind, except when
there is an active listening socket bound to the address.
```
But since UDP does not listen this ends up meaning that when an
ephemeral port is allocated (setting the `port` to `0`) the kernel is
free to reuse any other UDP port that has `SO_REUSEADDR` set.
Tests checking the likelyhood of port conflict when using multiple
`udpsrc` shows port conflicts starting to occur after ~100-300 udpsrc
with port allocation enabled. See issue #3411 for more details.
Changing the default value of a property is not a small thing we risk
breaking application that rely on the current default value. But since
the effects of having `reuse` default `TRUE` on can also have damaging
and hard-to-debug consequences, it might be worth to consider.
Having `SO_REUSEADDR` enabled for multicast, might have some use cases
but for unicast, with dynamic port allocation, it does not make sense.
When not using an multicast address we will disable port reuse if the
`port` property is set to 0 (=allocate) and warn the user that we did
so.
Closes #3411
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7841 >
2024-11-06 10:21:14 +00:00
Jan Schmidt
75fcfdb12d
video-converter: Set TIME segment format on appsrc
...
Combine the appsrc and appsink settings into one place and ensure that
the appsrc will output a TIME segment, to avoid incorrect segment format
criticals in some situations.
The D3D11 path was already setting the segment format correctly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7839 >
2024-11-06 19:30:11 +11:00
Philippe Normand
1e2d488e97
rtpfunnel: Ensure segment events are forwarded after flushs
...
gst_rtp_funnel_forward_segment() returns early when the current_pad is set.
Without clearing current_pad a critical warning would be emitted when
attempting to chain a buffer following a flush.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7830 >
2024-11-05 14:31:03 +00:00
Andoni Morales Alastruey
5a3dd943fe
cocoa: fix rendering artefacts in retina displays
...
Set the correct contentsScale in the CALayer instead of using
the default (1.0) which causes rendering artefacts in retina
displays due to using a smaller bitamp than the display size.
See: https://developer.apple.com/documentation/quartzcore/calayer/1410746-contentsscale?language=objc
Fix : #3942
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7828 >
2024-11-05 13:40:23 +00:00
Sebastian Dröge
78b5b798d0
avcodecmap: Use avcodec_get_supported_config() instead of struct fields
...
The struct fields are deprecated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7824 >
2024-11-05 11:34:33 +00:00
Sebastian Dröge
b501022ab8
avdemux: Combine upstream and local tags
...
Otherwise whatever caps appear last are going to override the others instead of
extending them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366 >
2024-11-05 07:33:25 +00:00
Sebastian Dröge
b86bf6d9c0
avdemux: Set correct taglist scope for global vs. stream tags
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7366 >
2024-11-05 07:33:25 +00:00
L. E. Segovia
ce35c07639
mpg123audiodec: Fix dependence on off_t breaking Meson wrap-based builds
...
Using the mpg123_*_64 functions requires API level 48 i.e. mpg123 >= 1.32.
The mpg123_*64 functions are available before then, but still depend on
off_t (and as such introduce the bug in builds against distro provided
mpg123).
See https://gitlab.freedesktop.org/gstreamer/cerbero/-/merge_requests/1568#note_2624024
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7732 >
2024-11-04 21:57:25 +00:00
Tim-Philipp Müller
95eca6d919
meson: bail out earlier in docs subdir if docs are disabled
...
The gst_dep.get_variable('libexecdir') may fail in some scenarios
(e.g. building a module alone inside an uninstalled devenv) and
it shouldn't really be reached in the first place if docs are
disabled via options.
Also to avoid confusing meson messages when cross-compiling or
doing a static build.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7818 >
2024-11-04 19:14:10 +00:00
Seungha Yang
80831f77f3
d3d12swapchainsink: Add support for GstColorBalance interface
...
... and adding hue, saturation, brightness, and contrast properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817 >
2024-11-03 21:33:37 +00:00
Seungha Yang
c051070121
d3d12convert: Add support for GstColorBalance interface
...
... and adding hue, saturation, brightness, and contrast properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817 >
2024-11-03 21:33:37 +00:00
Seungha Yang
dc414415a5
d3d12videosink: Add support for GstColorBalance interface
...
... and adding hue, saturation, brightness, and contrast properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817 >
2024-11-03 21:33:37 +00:00
Seungha Yang
f94c84c828
d3d12converter: Add support for colorbalance
...
Adding support for hue, saturation, brightness, and contrast adjustment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7817 >
2024-11-03 21:33:37 +00:00
Tim-Philipp Müller
8b8caa0c87
gst-plugins-ugly: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819 >
2024-11-03 17:45:29 +00:00
Tim-Philipp Müller
c9ef35d3a6
gst-plugins-bad: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819 >
2024-11-03 17:45:29 +00:00
Tim-Philipp Müller
e931a004ee
gst-plugins-good: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819 >
2024-11-03 17:45:29 +00:00
Tim-Philipp Müller
620410a7a2
gst-plugins-base: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819 >
2024-11-03 17:45:29 +00:00
Tim-Philipp Müller
5debf58615
gstreamer: update translations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7819 >
2024-11-03 17:45:28 +00:00
Seungha Yang
0c6e7e7f1a
d3d11converter: Fix constant buffer update
...
Fixing regression of
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6434
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7814 >
2024-11-02 16:36:27 +00:00
Sebastian Dröge
2cc32434ad
rtph264depay, rtph265depay: various parameter-set string handling fixes
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7804 >
2024-11-01 15:44:20 +00:00
L. E. Segovia
126a9cec06
android: Port over to the CMake Cerbero SDK module
...
Also ensure the library's exports are properly declared, instead of
relying on `-fvisibility=default` implicitly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7794 >
2024-11-01 14:44:53 +00:00
L. E. Segovia
410e77be6c
cmake: Add Find Module to support Android and iOS consumers
...
This commit adds a Find Module implementing the necessary logic to link
against GStreamer, while implementing some extra bits to enhance the
compatibility.
The first addition is the `mobile` target, which implements the
monolithic `gstreamer_android` library, and which here gains
compatibility with Apple's operating systems.
The second addition is the handling of the basic GStreamer libraries as
`--whole-archive` when statically linked, which was ported from the
ndk-build project in Cerbero. This is not easy to do, as CMake suffers
from several issues that impede its proper usage of pkg-config:
- It cannot differentiate between system/compiler specific libraries
e.g. `-lm`, `-ldl`, but especially `-framework Cocoa`.
- It does not support `--whole-archive` natively until 3.27
- It attempts to reorder flags blindly by separating them with spaces,
thus requiring the use of `-Wl,` wrapping or (in the case of Apple
frameworks) manual framework lookup
The third addition is the port of the Fontconfig and ca-certificates
bundling logic.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6881 >
2024-11-01 10:44:43 +00:00
Andreas Wittmann
41ad50fb48
qmlgloverlay: make depth buffer optional
...
allow dropping depth/stencil buffer for
qmlgloverlay element. Shows considerable
drop in memory bandwidth consumption of
the element on windows platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7677 >
2024-11-01 02:37:57 +00:00
Albert Sjolund
ae6ac2a659
appsrc: Fix use-after-free when making buffer / buffer-lists writable
...
make_writable can cause a reallocation of the buffer, meaning that obj
would point to an invalid object, both for buffer and for bufferlist.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7803 >
2024-11-01 00:03:48 +00:00
Jan Alexander Steffens (heftig)
6ddd51c239
h264parse: Fix pic_timing SEI replacement
...
The calculated position was off. I'm not sure of the exact cause;
possibly because we're in AU-aligned byte-stream mode, which means
`transform` is true.
Replacing the math that calculates the NALU positions with code more
similar to what is already in use for `idr_pos` seems to have fixed it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7318 >
2024-10-31 20:29:37 +00:00
Jan Alexander Steffens (heftig)
04238d3b3c
h264parse, h265parse: Support drop frame codes with counting_type 6
...
Tested with an Ateme Kyrion CM5000, which uses 6 when it drops 4 frames
from the code for 1080p@59.94 .
Apply the same change to h265parse, with reference to the spec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7316 >
2024-10-31 19:34:53 +00:00
Sebastian Dröge
4ea16ff146
flvmux: Consider timestamps before segment start to map to segment start
...
Instead of mapping them to running time 0, which is wrong if e.g. the segment
base is not equal to 0.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7780 >
2024-10-31 18:08:05 +00:00
Sebastian Dröge
356aca593d
flvmux: Use first running time on the initial header instead of 0
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7780 >
2024-10-31 18:08:05 +00:00
Seungha Yang
d33f5a1de9
d3d12videosink: Add support for mouse scroll events
...
Handle WM_MOUSEHWHEEL and WM_MOUSEWHEEL events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7774 >
2024-10-31 15:57:43 +00:00
Víctor Manuel Jáquez Leal
cb73cb57ab
gstreamer-vaapi: warn about project deprecation
...
Both at configuration for compilation and gst-inspect-1.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7771 >
2024-10-31 14:09:55 +00:00
Thibault Saunier
cbf204e4ae
multiqueue: Do not unref the query we get in pad->query
...
We do not own any ref to queries when running them.
If we end up processing the query from the streaming thread, it means that it was
a serialized query, and the query is being waited to be processed on the sinkpad
streaming thread, thread which owns the reference.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7767 >
2024-10-31 11:04:00 +00:00
Edward Hervey
0942dc57dd
mpegts: Fix bit-depth storage for jpeg-xs
...
As per ISO/IEC 21122-3 2019:
> Sample_Bitdepth code shall specify directly the bitdepth of the components
minus 1
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775 >
2024-10-31 10:02:01 +00:00
Edward Hervey
fb16abcd73
mpegts: Fix JPEG-XS Extension Descriptor handling
...
The initial specification for the descriptor (from H.222.0 06/21) was wrong and
introduced duplicate descriptor_tag/descriptor_length field.
This was later corrected in H.222.0 (2021) Amendment 1 (12/22)
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3945
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7775 >
2024-10-31 10:02:01 +00:00
Edward Hervey
35e19134d1
srt: Don't attempt to reconnect on authentication failures
...
This is a fatal issue which can't be recovered
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1550
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7776 >
2024-10-31 09:11:55 +00:00
Tim-Philipp Müller
bf00524c41
rtppassthrough: fix rtp-stats message compatibility with GstRTPBasePayload
...
"clock-rate" and "pt" are G_TYPE_UINT in the base class, so let's
keep them like that here too, since the entire purposes of the
passthrough element is to fake being a payloader. The types in the
message don't have to be consistent with the types in the caps.
Reverts part of commit a6fa53b7
of !7526
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7552#note_2576653
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7783 >
2024-10-31 03:03:56 +00:00
Edward Hervey
36b32de831
validate: Fix leaks in ssim components
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7782 >
2024-10-31 01:39:19 +00:00
Tim-Philipp Müller
4767e069fb
Revert "gst-examples: update to gradle 8.3"
...
This reverts commit 06f5d15549
.
Seems to break cerbero android examples ci.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7799 >
2024-10-31 04:03:55 +05:30
Jan Schmidt
06f5d15549
gst-examples: update to gradle 8.3
...
Update the gradle for the Android player example
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743 >
2024-10-30 14:05:25 +00:00
Jan Schmidt
70f628c117
androidmedia: Add more pixel format mappings
...
Add missing pixel format constants, and mappings for
P010, packed variants of 420 and RGBA layouts to GStreamer
buffer formats. This fixes problems with android decoders
refusing to output raw video frames with decoders that
announce support for these common pixel formats and
only allowing the 'hardware surfaces output' path.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743 >
2024-10-30 14:05:24 +00:00
Jan Schmidt
13c3d397a2
androidmedia: Add extra H.26[45] profile mappings
...
Update the android headers and add missing mappings for H.264/H.265
profiles that have been added in newer android releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7743 >
2024-10-30 14:05:24 +00:00
Johan Sternerup
c830f87a32
twcc: Handle wrapping of reference time
...
Previously the wrapping of the 24-bit reference time was not handled
correctly when transforming it into GstClockTime. Given the unit of 64ms
the span that could be represented by 24 bits is 12 days and depending
on the start value we could get a wrapping problem anytime within this
time frame. This turned out to be particularly problematic for the GCC
algorithm in gst-plugins-rs which tried to evict old packages based on
the "oldest" timestamp, which due to wrapping problems could be in the
future. Thus, the container managing the packets could grow without
limits for a long time thereby creating both CPU and memory problems.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7527 >
2024-10-30 12:35:48 +00:00
Mathieu Duponchelle
99441e14f3
cea608mux: expose force-live property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7765 >
2024-10-30 10:40:45 +00:00
Jan Schmidt
c02d41c259
subtitleoverlay: Check for memory capsfeature on video/x-raw
...
Don't assume that video/x-raw caps means buffers are mappable
or can be processed by videoconvert and friends. Only plug
those converters for real system memory, and treat other
memory capsfeatures as hardware surfaces
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7741 >
2024-10-30 06:13:23 +00:00
Matthew Waters
9046e60aa7
decklink: reinstate some hardcoded colorimetry handling
...
Needed when we don't yet have an open device and are doing negotiation.
colorimetry=bt601 is only actually supported by decklink for PAL and NTSC
formats. All other formats use bt709 or above.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:14 +00:00
Matthew Waters
2832aab78a
decklink: only expose HDR colorimetry if 2020 colorspace is supported
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
19a60f341c
decklinkvideosrc: ignore HDR metadata consisting of all zeros
...
In some cases decklinkvideosink may produce such stream when the
information is unknown.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
06c344d43a
decklinkvideosink: provide default values when HDR metadata is not available
...
Some file format standards don't require mastering-display-info
and content-light-level values to be provided.
Decklink however requires the static HDR metdata for the PQ transfer
function which we may not have.
CTA-861-G mentions that in this case, 0 may provided as an 'unknown'
value which is what we use here.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Matthew Waters
a509a1fd40
decklinkvideosink: fix incorrect EOTF value
...
Checking for mastering-display-info twice is incorrect. One of the
checks should be for the content-light-level.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7742 >
2024-10-30 03:47:13 +00:00
Nicolas Dufresne
30c6f2c163
wayland: Add NV15 support
...
This format, which maps to NV12_10LE40 in GStreamer is produced by Rockchip
video decoders when decoding 4:2:0 10 bit content.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7569 >
2024-10-30 02:27:12 +00:00
Seungha Yang
7f9be72e72
vp8decoder: Fix resolution change handling
...
Do not store resolution in set_format() so that resolution change
can be detected on keyframe as intended.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3928
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7710 >
2024-10-29 20:19:15 +00:00
Sebastian Dröge
8f5dca9611
rtmp2sink: Initialize base_ts / last_ts with the actual first observed timestamp
...
Initializing it with zero can falsely trigger the overflow / underflow detection
code if the first observed timestamp is a big integer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7745 >
2024-10-29 17:27:42 +00:00
Víctor Manuel Jáquez Leal
899792a5ef
va{av1,vp9}enc: fix return value
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7773 >
2024-10-29 15:29:51 +00:00
Thibault Saunier
a1081d08c1
meson: Remove c_std=gnu99 in validate and python
...
This is not needed and causes warning with latest meson
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7766 >
2024-10-29 13:58:09 +00:00
Xavier Claessens
468dcbe9b7
Revert "unixfd: disable flaky test_unixfd_segment for now"
...
This reverts commit 06cd4e2457
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765 >
2024-10-29 12:12:26 +00:00
Xavier Claessens
9b946098df
unixfd: Fix racy unit test by adding wait-for-connection property
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6765 >
2024-10-29 12:12:26 +00:00
Sebastian Dröge
5da635c2da
play: Improve play message API inconsistencies
...
* Consistently name parse functions according to their message type and
deprecate the misnamed ones,
* Add missing parse functions,
* Check for the correct message type when parsing
* Use correct field name for warning message details
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7754 >
2024-10-29 10:14:56 +00:00
Mathieu Duponchelle
eb825574f4
aggregator: fix start time selection first with force-live
...
When force-live is true, we don't want to wait for a first buffer
to select a start time.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1783
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7752 >
2024-10-29 08:52:40 +00:00
Víctor Manuel Jáquez Leal
ff16221df5
ges-structured-interface: fix double free
...
This was introduced in commit 6233eb0f
2024-10-29 05:22:25 +00:00
Julian Bouzas
04af62b70f
lcevch264enc: Set 'byte-stream' format and 'au' alignment in output caps
...
This is because the LCEVC EIL SDK from V-Nova always outputs encoded video in
that format. This also avoids using the parser in some scenarios.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7750 >
2024-10-29 03:00:11 +00:00
Ognyan Tonchev
03b6226772
rtpmanager: skip RTPSources which are not ready in the RTCP generation
...
If a stream has an 'irregular' frame rate (e.g. metadata) RTCP SR
may be generated way too early, before the RTPSource has received
the first packet after Latency was configured in the pipeline.
We skip such RTPSources in the RTCP generation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7740 >
2024-10-29 02:10:47 +00:00
Thibault Saunier
ec2b3cb200
discoverer: Fix typos
...
discovererd / discoverered -> discovered
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7733 >
2024-10-29 00:17:58 +00:00
Thibault Saunier
5ed2af5083
discoverer: Fix serializing tags StreamInfo on disc
...
When `use-cache` is used, we were serializing the StreamInfo **before**
_ensure_info_tags was called, meaning we were always missing that information.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7733 >
2024-10-29 00:17:58 +00:00
Pablo García
6bbddc683d
d3d11: implement mouse wheel events
...
Adittion of d3d11 support for WM_MOUSEWHEEL and WM_MOUSEHWHEEL events,
which are triggered when the mouse is scrolled vertically or horizontally
respectively.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7705 >
2024-10-28 22:23:41 +00:00
Thibault Saunier
ba94af0285
queue: Send the notify
signals on queue level changes
...
This is documented as:
> you can query how many buffers are queued by reading the
> #gstqueue:current-level-buffers property. you can track changes
> by connecting to the notify::current-level-buffers signal (which
> like all signals will be emitted from the streaming thread). the same
> applies to the #gstqueue:current-level-time and
> #gstqueue:current-level-bytes properties.
... but was not implemented.
This also respects the `notify::silent` property for the notify signals
to be less intrusive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7486 >
2024-10-28 20:45:37 +00:00
Thibault Saunier
319439a1c0
queue: Cleanup properties are installed caching the pspecs in an array
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7486 >
2024-10-28 20:45:36 +00:00
Víctor Manuel Jáquez Leal
9a71fa1f4b
vaapipostproc: remove dmabuf from sink caps template
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7708 >
2024-10-28 17:30:36 +01:00
Víctor Manuel Jáquez Leal
9108aeb34c
vaapiencode: don't register dmabuf sink caps template
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7708 >
2024-10-28 17:30:36 +01:00
Víctor Manuel Jáquez Leal
544829382c
vaapipluginutil: use a static map format-chroma
...
Instead of registering the whole list of formats associated to a chroma, our
experience with GstVA tells that entry points only handles one color format per
supported chroma, and they are reflected in the static table.
This avoids exposing unsupported color formats for negotiation.
Fixes : #3914
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7708 >
2024-10-28 17:30:36 +01:00
Víctor Manuel Jáquez Leal
d993b8636f
vaapipluginutil: ignore dmabuf type when building caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7708 >
2024-10-28 17:30:36 +01:00
Víctor Manuel Jáquez Leal
16d4624058
vaapi: demote encoders ranks to none
...
Now that we have va encoders and these aren't actively maintained.
Fixes #3917
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7708 >
2024-10-28 17:30:36 +01:00
Sebastian Dröge
128dd3d82c
buffer: Don't copy reference timestamp meta if the destination buffer already has the same
...
GstRtpBaseDepayload and other places already had such de-duplication code, so
it's probably better to solve this at the root.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7747 >
2024-10-28 12:35:57 +00:00
Edward Hervey
39c770af90
playback: Improve stream list search
...
There is the possibility than an element/code/helper creates an identical
`GstStream` (same type and stream-id) instance instead of re-using a previous
one.
For those cases, when detecting whether a `GstStream` is already present in a
collection, we need to do more checks than just comparing the pointer.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716 >
2024-10-28 10:09:47 +00:00
Edward Hervey
0fda426656
urisourcebin: Aggregate collections from multiple parsebin
...
In the case where multiple parsebin are present (ex: from rtsp sources), we want
to aggregate the collections provided by the different parsebin and expose a
single "unified" collection.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716 >
2024-10-28 10:09:47 +00:00
Edward Hervey
a26984a72b
parsebin: Store caps on parsepad as early as possible
...
When analyzing a new pad, we can store the updated caps on the GstStream if they
are fixed.
If they are not fixed, this function will be called again once the element will
provide them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716 >
2024-10-28 10:09:47 +00:00
Edward Hervey
3fdfef15a1
parsebin: Don't store bogus caps on GstStream
...
If we can't get the current caps when receiving a stream-start, that's fine,
they can/will be provided by other means at a later time.
What we definitely should not do is provide the starting caps of the chain,
which are potentially completely different from the end ones (like for example
`application/x-rtp`)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716 >
2024-10-28 10:09:47 +00:00
Edward Hervey
1814aec0d5
parsebin: Minor debug statement updates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7716 >
2024-10-28 10:09:47 +00:00
Tim-Philipp Müller
4c19c9243a
subprojects: update glib wrap to 2.82.2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7434 >
2024-10-26 14:33:11 +03:00
Philippe Normand
cec3c15fc5
encodebasebin: Fix parser selection
...
If an encoder supports multiple codecs (a bin wrapping/auto-plugging encoders)
then its src pad template caps might list the supported codecs. Without this
patch the selected parser would be the one corresponding to the first codec,
leading to caps negotiation error later on. The proposed fix is to check the
media type on the parser candidates sink pad templates according to the
requested encoded format.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7670 >
2024-10-26 09:50:42 +00:00
Philippe Normand
080b94b5e6
encodebasebin: Fix parser cleanup
...
When removing the parser from the stream group, it might not be linked to a
combiner so this needs to be checked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7670 >
2024-10-26 09:50:42 +00:00
Guillermo E. Martinez
1c58b34345
udp: Update documentation for `timeout' property
...
This patch is meant to update the time units description of `timeout' property
for the `udpsrc` element from milliseconds to nanoseconds according to the
implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7748 >
2024-10-26 08:48:23 +00:00