Mathieu Duponchelle
dce50d3320
docs: remove unused index.md file
...
It is a bit hard to track its origin as `git log --follow` leads all the
way to a 2001 Wim commit of a TODO file, but it was not used in the
documentation and the contained information appears in other places.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8312 >
2025-01-17 20:22:33 +01:00
Thibault Saunier
e77a16b2e6
gst: utils: Add a multiply_int64 variant
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8262 >
2025-01-17 15:13:14 +00:00
Tim-Philipp Müller
a059536b58
Back to development after 1.25.1
2025-01-14 15:00:43 +00:00
Tim-Philipp Müller
ca9d85c3b7
Release 1.25.1
2025-01-14 14:57:58 +00: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
9f4f500543
filesrc: Properly handle lseek return value
...
On windows we use _lseeki64 which returns a guint64.
The only error code lseek and _lseeki64 return is a casted -1, therefore just do
that to handle all platforms
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
77ad891e68
test: Remove always-true assertion
...
The offset is not deterministic
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
72df7ab3bd
test: Avoid type-limit issue
...
```
../subprojects/gstreamer/tests/check/elements/filesink.c: In function ‘test_seeking’:
../subprojects/gstreamer/tests/check/elements/filesink.c:92:23: warning: comparison of unsigned expression in ‘< 0’ is
always false [-Wtype-limits]
92 | for (i = 0; i < num_bytes; ++i) \
| ^
../subprojects/gstreamer/tests/check/elements/filesink.c:266:3: note: in expansion of macro ‘PUSH_BYTES’
266 | PUSH_BYTES (0);
| ^~~~~~~~~~
```
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:45 +00:00
Edward Hervey
0e8f8dfe15
gstreamer: Add more warning flags
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4123
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:44 +00:00
Edward Hervey
316722d7c9
gstptpclock: Fix GST_STIME_ARGS usage
...
It requires a signed value
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:44 +00:00
Edward Hervey
39a1b61469
gstreamer: Make switch passthrough as such
...
vasnprintf requires special handling since the following 'case' is #ifdef'ed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8229 >
2025-01-13 12:51:44 +00:00
Andrew Yooeun Chun
26e769589a
basetransform: fix incorrect logging inside gst_base_transform_query_caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7381 >
2025-01-12 03:41:02 +00:00
Mathieu Duponchelle
c276f5daca
doc: store path to dynamic library in plugin configuration
...
This can then be used by the pre-commit hook to avoid rebuilding
complete plugin caches to check a change, thus minimizing the potential
diff and making analysis of completely-unrelated cache diffs much less
likely.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231 >
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
7b4e6e67d3
docs: start using custom_target instead of run_command for sitemap
...
Intead of passing around the output of the config generator program,
which consists of paths joined by a separator we can have the generator
simply produce an extra file containing those paths.
This commit only implements the new approach for the core plugins, as
this was needed to avoid spurious meson rebuilds when the pre-commit
hook regenerates the core plugins_cache.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231 >
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
506680c86c
docs: list doc sources explicitly for GStreamer core
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231 >
2025-01-09 16:19:39 +00:00
Mathieu Duponchelle
8fa87f45f9
docs: start listing sources explicitly in hotdoc configuration files
...
A JSON configuration file is generated for core plugins, which maps
plugin names with sources to parse for docstrings.
The file is then opened by the configuration generator script, which
will now favor explicitly listed files to (usually wildcarded) paths
passed on its command line.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8231 >
2025-01-09 16:19:39 +00:00
Ruben Gonzalez
47c29127b6
tracers: Fix issue in the BC layer added in refactor to simplify params handling
...
Issue added in refactor done in commit 5e18499372, which includes a
logic to not break the backward compatibility. Issue found with Rust
pcap-writer tracer, fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/issues/644
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8248 >
2025-01-06 20:29:00 +01:00
Sebastian Dröge
2f3deb4009
message: Remove nullable annotation from gst_message_writable_details()
...
This function can never return NULL as the details are created for the message
if there are none yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8235 >
2025-01-03 13:21:28 +00:00
Sebastian Dröge
f39812dc8f
pad: Reset not-linked last flow return on reconfigure events
...
The pad might actually be linked now and we'd only find out by actually pushing
a buffer downstream again.
The last flow return is used by GstFlowCombiner to detect if all pads are not
linked, and not resetting this when re-linking creates a race condition when
switching between pads where all pads are temporarily considered not linked.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3836
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8224 >
2025-01-02 16:23:19 +00:00
Sebastian Dröge
d08fb9c241
baseparse: Add bitrate tags to empty taglists too
...
It's unclear why empty taglists should be handled in a special way. If the
subclass or upstream did not provide any tags at all then we can still provide
bitrate tags at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8157 >
2024-12-21 13:07:44 +00:00
Thibault Saunier
2c9a642b66
meson: Give the same name for api_version in all modules
...
There were 2 version of it, apiversion and api_version, I chose the one
with most occurencies: `api_version`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8178 >
2024-12-20 20:19:28 +00:00
Sebastian Dröge
88a36b53c5
pad: Only remove TAG events on STREAM_START if the stream-id actually changes
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4097
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8135 >
2024-12-17 12:05:54 +00:00
Sebastian Dröge
8e0f0c5ae3
info: Use an RW lock to protect the log functions and their list
...
Previously the code tried to be thread-safe by only locking when modifying the
list and leaking the old list, but this was not sufficient. When removing a log
function, its user_data would be freed but this log function and its user_data
might afterwards still be used during logging which then could lead to memory
corruption.
To avoid that, use an RW lock: get a write lock whenever modifying the list and
get a read lock whenever only using the list of log functions for logging.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3660
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7151 >
2024-12-16 13:28:13 +00:00
Tim-Philipp Müller
7d793d8836
meson: unset GST_TRACERS for g-ir-scanner to avoid warnings
...
People might have GST_TRACERS=leaks set in their environment
by default, which will now trigger criticals during the build
when calling g-ir-scanner, because we unset GST_PLUGIN_SYSTEM_PATH
so that the scanner doesn't load any plugins.
Fixes #4093
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8121 >
2024-12-10 23:07:06 +00:00
Thibault Saunier
b08b49d548
doc: Add some missing doc strings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Thibault Saunier
10f31c1f10
tracers: leak: Fix some docstrings
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Thibault Saunier
9d9d5a6c5b
doc: Add tracer objects information
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Thibault Saunier
00eac85e58
tracers: latency: Port to using property based configuration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Thibault Saunier
1dbd8353cd
gst-inspect: Document tracer properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:36 +00:00
Thibault Saunier
7ab58c8586
tracers: rusage: Mark as set_use_structure_params
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:35 +00:00
Thibault Saunier
619b1df389
gst-plugin-scanner: Do not create tracers when inspecting plugins
...
Ensuring that GST_TRACERS is not set in that process
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:35 +00:00
Thibault Saunier
d929df61dd
leaks: Port to using object property based parameters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:35 +00:00
Thibault Saunier
5e18499372
tracers: Simplify params handling using GstStructure and object properties
...
Instead of having each tracer implement its own parameter parsing,
centralize the handling in the tracer subsystem using GstStructure.
This simplifies tracer implementations and provides a consistent way
to handle properties.
It also allows for much better documentation by forcing tracer object
to expose properties
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8086 >
2024-12-10 09:35:35 +00:00
Seungha Yang
ebd4ec93b1
vecdeque: Fix documentation of push_tail_struct()
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8111 >
2024-12-09 14:00:33 +00:00
Qian Hu (胡骞)
66e21d1e70
gstvalue: fix crash in transform allocation params to string
...
when gst_buffer_pool_config_set_allocator (config, alloc, NULL);
gst_structure_to_string or GST_DEBUG (pool, "config %" GST_PTR_FORMAT,
config) will crash. this patch fix that
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7943 >
2024-12-06 12:38:53 +00:00
Sebastian Dröge
f1cdc6f243
allocator: Avoid integer overflow when allocating sysmem
...
Thanks to Antonio Morales for finding and reporting the issue.
Fixes GHSL-2024-166
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3851
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/8032 >
2024-12-03 02:24:16 +00:00
Sebastian Dröge
1ee349f986
systemclock: Don't keep the clock entry locked while getting the time from the clock
...
gst_clock_get_time() will take the clock mutex, which would then result in a lock
order violation and possible deadlocks. If both mutexes are to be locked, the
clock must always be locked first.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994 >
2024-12-02 08:21:59 +00:00
Sebastian Dröge
ec698179a9
systemclock: Get rid of conditional unlocking of the clock entries
...
At every point it is known whether the entry needs to be unlocked or not.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994 >
2024-12-02 08:21:59 +00:00
Sebastian Dröge
4447114713
systemclock: Remove confusing conditional unlock
...
At this point the entry is always locked and needs to be unlocked.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994 >
2024-12-02 08:21:59 +00:00
Sebastian Dröge
37b9bfdd2e
systemclock: Use a flag while waiting for the async thread to start
...
Otherwise there can be spurious wakeups.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7994 >
2024-12-02 08:21:59 +00:00
wbartel
de41680f78
gstreamer: prefix debug dot node names to prevent splitting
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7979 >
2024-11-28 15:38:56 +00:00
wbartel
6f20cd69fe
tracers: unlock leaks tracer if already tracking
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7954 >
2024-11-25 17:58:47 +00:00
He Junyan
df7a0d0fec
utils: Add gst_util_floor_log2 helper function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5003 >
2024-11-24 16:49:24 +00:00
L. E. Segovia
51c6aa9e2f
cmake: Add Android libvulkan to the ignored system libraries
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7861 >
2024-11-20 16:45:44 +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
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
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
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
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