- Jun 19, 2020
-
-
Tim-Philipp Müller authored
-
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: <!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 gst-plugins-base#766 Part-of: <!522>
-
- Jun 12, 2020
-
-
If built with assertions disabled, we need to ensure the variable is properly reset before testing Part-of: <!530>
-
- Jun 11, 2020
-
-
sohwan.park authored
Part-of: <!528>
-
sohwan.park authored
Part-of: <!528>
-
sohwan.park authored
Part-of: <!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: <!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: <!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: <!525>
-
Tim-Philipp Müller authored
Part-of: <!524>
-
Document "controllable", "mutable-{ready, paused, playing}" and "conditonally-available" GParamFlags Part-of: <!283>
-
Add new flag for users to notice that the property is not guaranteed to exist depending on environment. Part-of: <!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: <!523>
-
- Jun 06, 2020
- Jun 05, 2020
-
-
Mathieu Duponchelle authored
-
Mathieu Duponchelle authored
This can be used in elements where the caps of pad templates are dynamically generated and dependent on the environment. An example is x265enc.
-
Mathieu Duponchelle authored
These can be passed to gst_type_mark_as_plugin_api, to inform plugin cache generation. For now a single flag is specified, "IGNORE_ENUM_MEMBERS", it can be used for dynamically generated enums to avoid documenting environment-specific enumeration members. An example is GstX265EncTune.
-
Since those are using the clock for sync, they need to also provide a clock for good measure. The reason is that even if downstream elements provide a clock, we don't want to have that clock selected because it might not be running yet. Part-of: <!509>
-
Part-of: <!510>
-
Removing trailing whitespaces and avoiding to exceed 80chars Part-of: <!510>
-
When we want to perform a downstream bitrate query, just set the reconfigure flag on the srcpad and get the streaming thread to do it. That avoids emitting a downstream query when receiving the upstream RECONFIGURE event - which can lead to deadlocks if downstream is sending the event from within a lock - e.g. input-selector. If querying the downstream bitrate changes the cached value, then make sure to update our buffering state and potentially post a BUFFERING message to the application. Fixes: #566 Part-of: <!501>
-
The deadlock was the following: * One thread requests a new pad, the internal lock is kept while adding the pad * Another thread (or the same one) requests the internal links of a pad (could be that pad)... which also requires that lock. That internal lock is not required when adding the pad to the element (which is the last action when requesting a new pad). The fact it will be actually used will be *after* the request pad function is released. Part-of: <!512>
-
- Jun 04, 2020
-
-
-
Thibault Saunier authored
-
They're already documented from elsewhere.
-
It is used by one of the aggregator properties and was private in the source file before.
-
-
-
And also make sure to not duplicate them.
-
-
This can be used to mark additional types exposed by plugins (i.e. enums, flags and GObjects) via properties, signals or pad templates as plugin API. They can then be picked up by the documentation for the plugin. Not all types exposed by plugins are documented automatically because they might come from an external library and should be documented from there instead.
-