Matthew Waters
fdf6a793dc
gst: don't use volatile to mean atomic
...
volatile is not sufficient to provide atomic guarantees and real atomics
should be used instead. GCC 11 has started warning about using volatile
with atomic operations.
https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719
Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/793 >
2021-04-13 01:58:54 +01:00
Sebastian Dröge
934e6bb114
aggregator: Release pads' peeked buffer when removing the pad or finalizing it
...
The peeked buffer was always reset after calling ::aggregate() but under
no other circumstances. If a pad was removed after peeking and before
::aggregate() returned then the peeked buffer would be leaked.
This can easily happen if pads are removed from the aggregator from a
pad probe downstream of the source pad but still in the source pad's
streaming thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/785 >
2021-04-06 20:02:43 +01:00
Tim-Philipp Müller
102232fa62
Back to development
2021-03-15 19:48:45 +00:00
Tim-Philipp Müller
eacb7aa8d1
Release 1.18.4
2021-03-15 17:47:25 +00:00
Guillaume Desmottes
5700308701
clock: define AUTO_CLEANUP_FREE_FUNC for GstClockID
...
GstClockID is secretly a gpointer so we can't use g_autoptr(),
instead user can do:
g_auto (GstClockID) clock_id = 0;
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/770 >
2021-03-11 17:48:40 +00:00
Sebastian Dröge
f90e9a71dd
info: Don't leak log function user_data if the debug system is compiled out
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/743 >
2021-01-31 13:41:41 +00:00
Seungha Yang
d5150b7c54
task: Use SetThreadDescription Win32 API for setting thread name
...
Since Windows 10 1607, we can make use of SetThreadDescription() API
for setting thread name. Unlike previously used exception based
method, this API will preserve configured thread name on dump file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/741 >
2021-01-30 15:10:16 +00:00
Marijn Suijten
41999d974e
gstmemory: Mark memory_map @info as caller-allocates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740 >
2021-01-28 17:55:51 +00:00
Marijn Suijten
50214723d7
gstbuffer: Mark buffer_map* @info as caller-allocates
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740 >
2021-01-28 17:55:50 +00:00
Marijn Suijten
8922fc6436
gst,base: Take GstAllocationParams parameter by const ptr
...
This parameter is only informational and should not be modified. Enforce
this at compile-time and to get the right signature in G-IR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/740 >
2021-01-28 17:55:50 +00:00
Tim-Philipp Müller
615d4b511a
Back to development
2021-01-14 02:16:45 +00:00
Tim-Philipp Müller
a42fe476d3
Release 1.18.3
2021-01-13 21:05:14 +00:00
Seungha Yang
968f261fe2
uri: Remove leftover documentation
...
Follow-up from https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/728
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731 >
2021-01-13 03:47:34 +09:00
Seungha Yang
9aa009ab45
gst: Add non-inline methods for bindings to able to use core APIs
...
Provide non-inline version of refcounting APIs so that it can be
consumed by bindings
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer-sharp/-/issues/46
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/731 >
2021-01-12 15:26:08 +00:00
Jakub Adam
16178d46c8
harness: don't use GST_DEBUG_OBJECT with GstHarness
...
GstHarness is not a GObject. Fixes assert on recently added check in
gst_debug_log_valist() if GST_ENABLE_EXTRA_CHECKS is enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/721 >
2020-12-11 16:03:10 +00:00
Tim-Philipp Müller
eb4c1ffb96
Back to development
2020-12-06 23:56:34 +00:00
Tim-Philipp Müller
6a62351b8a
Release 1.18.2
2020-12-06 13:21:20 +00:00
Marijn Suijten
865cfb8ea2
check: gst_test_clock_process_next_clock_id returns nullable
...
It is possible there are no more pending clocks in the chain, in which
case this function returns null.
See also tests like test_single_shot_async_future that validate NULL
returns.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/716 >
2020-12-04 16:13:26 +00:00
Sebastian Dröge
877f2b6800
streams: gst_stream_type_get_name() is not nullable
...
It takes an enum and only the defined values are valid to pass in here
as it's not extensible from the outside.
Add a g_return_val_if_reached() for the unreachable case and return
"invalid".
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/713 >
2020-12-02 16:41:43 +00:00
Khem Raj
12937488ae
gst_private.h: increse padding in struct _GstClockEntryImpl
...
When compiling for 32bit architectures with 64bit time_t e.g. riscv32,
the static assert that the GstClockEntryImpl smaller or
equal to the struct _GstClockEntryImpl triggered.
(they were 12bytes off).
To fix this, the padding is increased by 8 bytes (on 32bit).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/695 >
2020-11-20 14:59:43 +00:00
Bing Song
b39a06065a
identity/clocksync: Also provide system clock if sync=false
...
identity should provide when sync=true. Don't provide when sync=false.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/630
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/697 >
2020-11-20 14:00:16 +00:00
Jonathan Matthew
d1fb776782
typefind: copy seqnum to new segment event
...
Fixes : #635
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/701 >
2020-11-16 10:47:28 +00:00
Sebastian Dröge
2334f5451f
Add some missing nullable annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/699 >
2020-11-05 15:48:50 +00:00
Jonathan Matthew
39df723ba5
queue2: Fix modes in scheduling query handling
...
Create a new query to send upstream and copy the flags across from it,
rather than reusing the same query, as this allows us to prevent use
of pull mode when we don't have a download file.
Fixes : #629
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/696 >
2020-11-04 10:00:18 +00:00
Chris White
e231f1d3af
gstinfo: colorize PIDs in log messages
...
The PIDs on log lines were supposed to be colorized before, but the
escape sequence was incorrect. With this change, the code uses the
correct sequence to colorize those PIDs. E.g., instead of `\033[334m`
(incorrect), use `\033[34m` (correct).
This makes the log messages easier to read. It also reduces the chance
that a buggy terminal will choke on the invalid escape sequence.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/624
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/691 >
2020-11-02 11:55:30 +00:00
Jan Schmidt
34b4a03f01
harness: Handle element not being set cleanly.
...
If a harness is created with gst_harness_new_empty(), there
might not be an internal element to unref on cleanup.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/687 >
2020-10-30 15:01:25 +00:00
Jan Schmidt
882175dc43
bin: When removing a sink, check if the EOS status changed.
...
Removing a sink that hasn't posted EOS might change the bin itself
to EOS if it's the last remaining non-EOSed sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/685 >
2020-10-30 12:41:36 +00:00
Nicolas Dufresne
c983df161c
aggregator: Include min-upstream-latency in buffering time
...
While we can fixe the upstream latency using the min-upstream-latency, we
are now forced to use queues (hence more thread) in order to store the pending
data whenever we have an upstream source that has lower latency.
This fixes the issue by allowing to buffer the fixed upstream latency. This is
particularly handy on single core systems were having too many threads can
cause serious performance issues.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/684 >
2020-10-29 17:53:53 +00:00
Tim-Philipp Müller
6493920826
Back to development
2020-10-27 12:33:56 +00:00
Tim-Philipp Müller
29a8099d1d
Release 1.18.1
2020-10-26 11:08:37 +00:00
Mathieu Duponchelle
6ae7d4ec91
aggregator: make peek() has() pop() drop() buffer API threadsafe
...
Enforce that the last buffer that was peeked (or had its existence
checked) on a pad is the one that gets popped / dropped, resetting
at the end of each aggregation cycle.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/603
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/675 >
2020-10-14 14:06:54 +01:00
Mathieu Duponchelle
a613240c57
gstvalue: don't write to const char *
...
Our various deserializing functions require NULL terminators
to not over consume substrings (eg fields of an array). Instead
of writing a NULL terminator to the passed-in string, which may
result in segfaults, make a copy of the substring we're interested
in.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/446
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/673 >
2020-10-13 12:03:06 +01:00
Seungha Yang
9526b56cfd
meson: Disallow DbgHelp for UWP build
...
Most symbols in DbgHelp.h are not allowed for UWP
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/670 >
2020-10-12 12:54:32 +01:00
Seungha Yang
41eaa6bf42
info: Fix build on Windows ARM64 device
...
gstinfo.c(3086): error C2094: label 'done' was undefined
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/668 >
2020-10-10 11:46:09 +00:00
Matthew Waters
11e16ee62f
build: use cpu_family for arch checks
...
e.g. on 32-bit arm, we may have armv6, armv7l, armv7hf, etc which all
generally have the same layouts. cpu_family() groups all of these into
just 'arm' that the ABI check table is expecting.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/667 >
2020-10-10 11:20:23 +00:00
Jan Alexander Steffens (heftig)
33f2263a0b
basetransform: Fix in/outbuf confusion of _default_transform_meta
...
The default implementation doesn't actually use its buffer parameters,
but this error might have been the cause of some actual confusion in
the plugins code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/666 >
2020-10-10 11:44:59 +01:00
Víctor Manuel Jáquez Leal
f97a4e2300
padtemplate: add missing annotation
...
Adds missing "transfer full" annotation for caps parameter in
gst_pad_template_set_documentation_caps()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/660 >
2020-10-03 16:04:41 +00:00
Mathieu Duponchelle
e149981a1c
gstmeta: intern registered impl string
...
Subsequent lookups in the hashtable are probably better done
on memory we're confident is allocated to us :)
It was easy to trigger invalid reads by calling gst_meta_register
with dynamically allocated memory, freeing that memory, then
calling gst_meta_get_info()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/657 >
2020-10-03 14:37:53 +00:00
Seungha Yang
ca4edf6741
info: Load DbgHelp.dll using g_module_open()
...
... and update meson file so that enable it only using required headers.
"dependency(...)" is unlikely successful for Windows SDK libraries
since it doesn't ship pkg-config file. So it needs to be changed
to "find_library()" to link corresponding .lib file. That would
result to most MSVC build system will link dbghelp.dll. However,
one drawback of the change is that gstreamer-1.0.dll will mandate
dbghelp.dll although it should be optional. So g_module_open() way
can be the most safe way in this case.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/659 >
2020-10-03 01:31:01 +00:00
Matthew Waters
14228b63bf
padtemplate: mark documentation caps as may be leaked
...
The template itself is already marked as such and the caps, the
documentation caps are a logical extension of those two.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/658 >
2020-10-03 01:07:54 +00:00
Sebastian Dröge
b2b1610907
aggregator: Hold SRC_LOCK while unblocking via SRC_BROADCAST()
...
Otherwise the clock id we access might not be a valid pointer anymore.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/656 >
2020-10-02 23:57:48 +00:00
Tom Schoonjans
30151e6f40
ptp_helper_post_install.sh: deal with none
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/655 >
2020-10-03 00:00:06 +01:00
Xℹ Ruoyao
ef4b61496d
skip elements/leak.c if tracer is not available
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/654 >
2020-10-02 01:02:25 +01:00
Sebastian Dröge
56d696200a
aggregator: Wake up source pad in PAUSED<->PLAYING transitions
...
When going to PLAYING we will now have a clock and can stop waiting on
the condition variable and instead start waiting on the clock if
necessary for the current configuration.
In the other direction when going to PAUSED the clock might have
disappeared and we might need to wait on the condition variable again
instead.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/653 >
2020-10-01 01:12:04 +01:00
Sebastian Dröge
bc81eaf103
input-selector: Wake up blocking pads when releasing them
...
Otherwise deactivating them will cause a deadlock as they're blocking
inside the streaming thread.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/601
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/652 >
2020-09-30 15:54:39 +01:00
Sebastian Dröge
4b0bac94ec
ptp: Also handle gnu/kfreebsd
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/651 >
2020-09-30 10:33:35 +01:00
Tim-Philipp Müller
55d6981db5
Back to development
2020-09-08 17:44:00 +01:00
Tim-Philipp Müller
96148da56f
Release 1.18.0
2020-09-08 00:01:35 +01:00
Tim-Philipp Müller
07fd4878c7
meson: dist pot file in tarballs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/618 >
2020-09-07 22:23:18 +01:00
Sebastian Dröge
dccae68eaf
aggregator: Document that samples_selected() must only be called from the aggregate() function
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/607 >
2020-08-25 15:50:25 +03:00