Sebastian Dröge
ccb40ca7d0
discoverer: Fix formatting of a debug log string
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7969 >
2024-11-27 16:48:55 +00:00
Sebastian Dröge
27a2fa73bc
discoverer: Move cache file tracking from GstDiscovererInfo into GstDiscoverer
...
It's only used temporarily during discovery and makes no sense as part of the
resulting info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7969 >
2024-11-27 16:48:55 +00:00
Sebastian Dröge
9e4c173c3c
discoverer: Move stream counter from GstDiscovererInfo into GstDiscoverer
...
It's only used temporarily during discovery and makes no sense as part of the
resulting info.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7969 >
2024-11-27 16:48:55 +00:00
Sebastian Dröge
dc3f2c6721
discoverer: Also copy missing element details when copying a GstDiscovererInfo
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7969 >
2024-11-27 16:48:55 +00:00
Sebastian Dröge
d553448b95
discoverer: Make sure the missing elements details array is NULL-terminated in a thread-safe way
...
And also avoid a possible out-of-bounds read if the array contains no elements.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7969 >
2024-11-27 16:48:55 +00:00
Tomáš Polomský
fa1ed5d210
appsink: fix timeout logic for gst_app_sink_try_pull_sample
...
In case of gst_app_sink_try_pull_object returns an object instead of a sample,
the whole process must be restarted with the reduced timeout, otherwise requested
timeout could be easily exceeded.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7962 >
2024-11-27 11:09:47 +00:00
Edward Hervey
18b941dfd5
decodebin3: Unify collection switching checks
...
We only want to switch to a selection of an output collection if all streams are
present.
This was previously only done in one place (when triggering by new incoming
streams) but not when triggered by user/application.
Avoid this by moving the check to handle_stream_switch()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7941 >
2024-11-25 08:03:38 +00:00
Andoni Morales Alastruey
7b408bae69
discoverer: fix segfault in race condition adding a new uri's
...
There is a race condition adding new uri's right after receiving
the `discovered` event. We must wait until we have cleaned-up
the last discovery to start processing the new one
Fix #3758
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7930 >
2024-11-20 21:36:30 +00:00
Nirbheek Chauhan
c1a8ee9655
meson: Don't use libdrm_dep in cc.has_header()
...
It can't handle subproject dependencies. Pointed out in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4033#note_2665974
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7927 >
2024-11-20 17:47:01 +00:00
Nicolas Dufresne
9f707f6c64
glupload: dmabuf: Only pass padded size for indirect tiled handling
...
We only require out_info to hold on padded width/height when
using our internal detiling shaders. Doing so for direct upload
leads to the image being scaled down in a way that the padding
is displayed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Benjamin Gaignard
0847f7fbe1
video: dma-drm: Add DRM vendor modifiers list
...
Copy DRM vendor modifier IDs from drm_fourcc.h
Add Vivante modifier definition and map GST_VIDEO_FORMAT_NV12_4L4 and
GST_VIDEO_FORMAT_NV12_10LE40_4L4 accordingly. Also add Samsung 64Z32 tiled
format mapping.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Benjamin Gaignard
18a90f9180
video: dma-drm: Add NV15, NV20 and NV30 DRM formats definitions
...
Cherry pick DRM NV15, NV20 and NV30 formats definitions from drm_fourcc.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Nicolas Dufresne
80a4d36522
video: dma drm: Fix modifier definition on 32bit
...
The modifiers are 64bit, add missing ULL suffix so that the compiler does
not complain on 32bit platforms.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Benjamin Gaignard
afd8bf807d
video: dma-drm: Add modifier field to FormatMap
...
A GST_VIDEO_FORMAT_* could be mapped to only one pair of DRM_FORMAT_*
and DRM_FORMAT_MOD_*. Until now only DRM_FORMAT_MOD_LINEAR was used.
To be able to add other modifiers add a modidier field in struct FormatMap.
Create a helper functions the allow turning a GstVideoFormat into a pair
of DRM fourcc and modifier and vis-versa.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7849 >
2024-11-19 21:22:38 +00:00
Philippe Normand
b6c7280868
sdp: Add debug categories for message and mikey modules
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7924 >
2024-11-19 18:54:32 +00:00
Qian Hu (胡骞)
53007b5d83
docs: update fields about gst video aligment
...
1) add stride align fields in allocation.md
2) add stride align fields in gstvideometa.h
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Qian Hu (胡骞)
6335c5d005
meta: add aggregation function for allocation meta api params
...
since tee do allocation query for each downstream element, and
get allocation query params from them. this function will aggregate
all params, and propose it for upstream element of tee
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Nicolas Dufresne
be95be4b31
video: pool: Make structure const when getting video alignment
...
Downgrade to const, this is backward compatible make makes the API compatible
wit more usages.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7201 >
2024-11-19 15:27:38 +00:00
Thibault Saunier
45806c4d66
gl: colorconvert: Add support for I422_10XX and I422_12XX
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7919 >
2024-11-19 12:39:01 +00: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
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
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
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
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
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
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
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
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
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
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
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
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
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 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
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
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
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
Diego Nieto
fe61bc3cee
video-format: reduce the number of memcpy if possible
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7694 >
2024-10-26 07:02:50 +00:00
Edward Hervey
38c07a2d01
all: Fix closure annotations
...
This was misused almost everywhere.
See
https://gi.readthedocs.io/en/latest/annotations/giannotations.html#support-for-gobject-closures
and: https://www.bassi.io/articles/2023/02/20/bindable-api-2023/
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7725 >
2024-10-25 08:58:29 +00:00
Carlos Falgueras García
561ca94916
video: Add GRAY10_LE16 support
...
This adds a 10-bit variant of grayscale packed into 16 bits little-endian
words. The MSB 6 bits are padding and should be ignored. This format is
used by Fraunhofer VVC encoder and decoder libraries.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7706 >
2024-10-25 05:53:22 +00:00