- Jul 02, 2020
-
-
Tim-Philipp Müller authored
-
- Jul 01, 2020
-
-
stream: Don't use GST_FIXME_OBJECT() when generating a random stream id if the caller didn't provide one That would call into gst_info_describe_stream(), which takes the same mutex a second time and then deadlocks. Part-of: <gstreamer/gstreamer!552>
-
Part-of: <!475>
-
- Jun 30, 2020
-
-
Jan Schmidt authored
element-added-deep -> deep-element-added in the GstBin doc header Part-of: <!547>
-
- Jun 25, 2020
-
-
Otherwise some non-English character might be broken depending on OS and/or locale. Part-of: <gstreamer/gstreamer!545>
-
CI now checks that plugin caches are up to date, for example when adding a new property to an element. This is something pretty easy to forget, and it can be checked in a pre-commit hook provided the cache generator generates no unnecessart diff on the developer's machine. This is now the case for me in core, -base and -good, and eventually all the repositories should behave appropriately, at least on my development machine. The new check in the pre-commit hook is only performed when the user is in the development environment (it checks $MESON_BUILD_ROOT to determine that), and when the developer has opted-in by setting `GST_CACHE_HOOK=enabled`. That is because the hook will actually rebuild the cache with ninja, and modify it in the source directory, that's not a behaviour we want to enable by default. Part-of: <gstreamer/gstreamer!546>
-
- Jun 24, 2020
-
-
g_vprintf() will write a string binary to stdout directly using fwrite(). So, depending on character in the string, fwrite to stdout can print broken one but printf family might not cause the issue. Part-of: <gstreamer/gstreamer!544>
-
Michael Olbrich authored
There is a race-condition that can trigger the assertion in gst_bus_add_signal_watch_full(): If gst_bus_add_signal_watch_full() is called immediately after gst_bus_remove_signal_watch() then bus->priv->signal_watch may still be set because gst_bus_source_dispose() or gst_bus_source_finalize() was not yet called. This happens if the corresponding GMainContext has the source queued for dispatch. In this case, the following dispatch will only unref and delete the signal_watch because it was already destroyed. Any pending messages will remain until a new watch is installed. So bus->priv->signal_watch can be cleared immediately when the watch is removed. This avoid the race condition. Part-of: <!543>
-
- Jun 23, 2020
-
-
-
-
-
Thibault Saunier authored
-
Thibault Saunier authored
-
This is what we do everywhere else too, useful for debugging. Part-of: <gstreamer/gstreamer!542>
-
If we load a plugin registry for MinGW plugins when running with MSVC, we will have to write out the whole cache again, and vice-versa. Just use separate cache files so that the cache is actually useful. Closes gstreamer/gstreamer#427 Part-of: <gstreamer/gstreamer!542>
-
- Jun 22, 2020
-
-
Sebastian Dröge authored
Instead do everything it did as part of GObject::constructed() and change the function to always return TRUE. gst_ghost_pad_construct() was meant to be called by subclasses right after construction of the object to finish construction as it can fail in theory. In practice it's impossible for it to fail, even more so if called directly from GObject::constructed(): The only failure condition is if the newly created proxy pad already has a parent, which is impossible at this point as nothing else can have a reference to it. Part-of: <gstreamer/gstreamer!540>
-
- Jun 20, 2020
-
-
Part-of: <!498>
-
Using both GST_TIME_FORMAT+GST_TIME_ARGS and friend is cumbersome, this makes it sensibly more user friendly. Part-of: <gstreamer/gstreamer!535>
-
- Jun 19, 2020
-
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
-
Closes: gstreamer/gstreamer!537 Part-of: <gstreamer/gstreamer!537>
-
Part-of: <!536>
-
- Jun 18, 2020
-
-
The returned ratio can be bigger than GST_SECOND, in which case we would forever return 0 for the system clock time. Even in other cases if it's close to GST_SECOND it would result in accuracy loss. Instead of doing the division by GST_CLOCK_TIME_NONE during initialization once, do it every time the clock time is requested. Fixes #575 Part-of: <!534>
-
- Jun 16, 2020
-
-
Since glib 2.64, gthreadpool will start waiting on a GCond immediately upon creation. This can cause issues if we fork *before* actually using the threadpool since we will then be signalling that GCond ... from another process and that will never work. Instead, delay creationg of thread pools until the very first time we need them. This introduces a minor (un-noticeable) delay when needing a new thread but fixes the issues for all users of GSTreamer that will call gst_init, then fork and actually start pipelines. See https://gitlab.gnome.org/GNOME/glib/-/issues/2131 for more context. Part-of: <gstreamer/gstreamer!531>
-
- Jun 15, 2020
-
-
Calling `gst_input_selector_get_active_sinkpad` triggers sinkpad selection but won't notify about it, leading to breaking code that relying on it. This new code added as part of 63ccf453 was thought to be triggered only when a pad was already selected and not change the behavior otherwise so this commit makes sure it is actually the case. Fixes gstreamer/gst-plugins-base#766 Part-of: <gstreamer/gstreamer!522>
-
- Jun 12, 2020
-
-
If built with assertions disabled, we need to ensure the variable is properly reset before testing Part-of: <gstreamer/gstreamer!530>
-
- Jun 11, 2020
-
-
sohwan.park authored
Part-of: <gstreamer/gstreamer!528>
-
sohwan.park authored
Part-of: <gstreamer/gstreamer!528>
-
sohwan.park authored
Part-of: <gstreamer/gstreamer!528>
-
- Jun 10, 2020
-
-
Thibault Saunier authored
-
Thibault Saunier authored
When nothing is specified, we should default to NULL, not PLAYING
-
Sebastian Dröge authored
Make it thread-safe and use the actual C identifiers for the "name" field, as otherwise gobject-introspection will fall apart. Part-of: <gstreamer/gstreamer!527>
-
- Jun 09, 2020
-
-
Thibault Saunier authored
-
The signal handlers were performing mutex operations in the signal handlers which is bad idea that may lead to deadlocks. 1. Implement a separate signal thread to handle the signals. 2. Use the glib provided signal GSource to avoid performing operations in the signal handler. Fix #186 Part-of: <gstreamer/gstreamer!487>
-
- Jun 08, 2020
-
-
Håvard Graff authored
When compiling for 32bit ios arm, 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 12 bytes (on 32bit). Part-of: <gstreamer/gstreamer!525>
-
Tim-Philipp Müller authored
Part-of: <gstreamer/gstreamer!524>
-
Document "controllable", "mutable-{ready, paused, playing}" and "conditonally-available" GParamFlags Part-of: <gstreamer/gstreamer!283>
-
Add new flag for users to notice that the property is not guaranteed to exist depending on environment. Part-of: <gstreamer/gstreamer!283>
-
The problem is that the taskpool might not have completely drained by the time we check for leaks. Instead, ensure all tasks have stopped before testing for valid results. Part-of: <gstreamer/gstreamer!523>
-
- Jun 06, 2020
-
-
Part-of: <gstreamer/gstreamer!513>
-