Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-05-27systemclock: Reorganize defined checks for parts of GstSystemClocktyler-aicradle
The gst_system_clock_get_internal_time and gst_system_clock_get_resolution functions had some nested defined checks making this code somewhat harder to reason about and much harder to change. The logical meaning of the checks has changed but the actual code coming out of the pre-processor should not have changed significantly. The main logical change was flattening the checks for existence of posix timing functionality, from what I can tell these functions aren't available on Windows where they were trying to be included. I have checked the Linux and macOS output and they are functionally unchanged. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/829>
2021-05-24buffer: rename new gst_buffer_new_copy() to gst_buffer_new_memdup()Tim-Philipp Müller
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/826 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/827>
2021-05-23buffer: add gst_buffer_new_copy() convenience functionTim-Philipp Müller
More convenient and discoverable variant of the fairly widely-used gst_buffer_new_wrapped(g_memdup(data,size),size). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/826>
2021-05-16docs: random: clean up outdated documentsTim-Philipp Müller
Most of these are only of historical interest, and for that it's fine if they're maintained in the git history. They're confusing for anyone stumbling across them expecting documentation relating to current versions of GStreamer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/824>
2021-05-14concat: adjust running time offsets on eventsMathieu Duponchelle
When concat adjusts the base of the segments it forwards downstream, it needs to also adjust the running time offsets, as GstPad does when an offset is set by the application on a pad. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/819>
2021-05-12doc: base: Fix reference to virtual functionNicolas Dufresne
The hotdoc syntax is #ClassName::function, but the code was using without anything before. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/808>
2021-05-12gstcheck: Ensure unused threadpool threads are stoppedDoug Nazar
Ensures that all unused threads are exited before the atexit() handlers run. This prevents a race with any thread that used the OpenSSL library between it's thread cleanup routine and it's atexit() cleanup routine which can cause a SIGSEGV. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/812>
2021-05-11concat: fix locking in SEGMENT event handlerMathieu Duponchelle
concat->current_start_offset needs the lock taken for safe access, as it can be accessed from outside of the streaming thread, eg in release_pad. An early break is also added for an error case. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/818>
2021-05-07sparsefile: Fix sparsefile on Win32Doug Nazar
When switching between read/write a fseek() or fflush() is required. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-07downloadbuffer: close file before trying to removeDoug Nazar
On Windows, the file handles must be closed before you can delete a file. Also, it would cause an error if you try to close an already closed handle. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-07downloadbuffer: return flow error on read errorDoug Nazar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
2021-05-06gstutils: Fix typo in the comment.Nikolay Sivov
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/813>
2021-05-06multiqueue: Ensure peer pad exists when iterating internal linksJan Alexander Steffens (heftig)
The pads can be NULL when we're racing with pad removal, e.g. when the pads get removed between `gst_pad_iterate_internal_links` acquiring the parent element and `gst_multi_queue_iterate_internal_links` locking the multiqueue. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/810>
2021-05-06gst_child_proxy_get_property: accept G_VALUE_INITChris White
gst_child_proxy_get_property() can now take a value initialized to G_VALUE_INIT. This parallels the corresponding change in g_object_get_property(), GLib 2.60+. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/724#note_738531 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/809>
2021-05-04Introduce gst_element_request_pad_simpleFrançois Laignel
The name `gst_element_get_request_pad()` is confusing to people learning GStreamer. `gst_element_request_pad_simple()` aims at providing the exact same functionality, while making it more explicit it is a simplified `gst_element_request_pad()`. `gst_element_request_pad_simple()` is consistent with other functions such as `gst_element_seek_simple`. This commit deprecates `gst_element_get_request_pad()` so that a compilation warning is emitted when used and incite developers to use the more explicit `gst_element_request_pad_simple()`. See also https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/743#note_886586 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/802>
2021-04-21harness: Fix object used to log caps warning.Doug Nazar
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/801>
2021-04-19pad: clear probes holding mutexMiguel Paris
Protect clearing probes against concurrent modification which might happen due to dispose does NOT guarantee that the object is not used anymore, as it could be referenced again and so being continued used. So, as in the rest of places where probes hook list is used, on dispose it should be accessed holding the mutex "GST_OBJECT_LOCK (pad);" as GHookList is not thread-safe. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/798>
2021-04-16queue2: Refuse all serialized queries when posting buffering messagesEdward Hervey
When posting buffering messages there are no safe places or timing to avoid deadlocks. Previously the code was trying to be "smart" by only forwarding serialized queries if the queue was empty ... but that could happen when queue2 hadn't yet posted a 100% buffering message. Meaning the pipeline might be paused and pushing a serialized query downstream might never complete. Therefore let's completely disable forwarding of serialized queries when `queue2` is used as a buffering element (meaning `ALLOCATION` and `DRAIN` queries). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/796>
2021-04-12tests: Remove invalid buffer test in test_get_allowed_caps.Doug Nazar
Passing a non-GObject pointer causes SIGSEGV on certain architectures. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/790>
2021-04-12leaks: Fix SIGSEGV detecting object type.Doug Nazar
G_IS_OBJECT & GST_IS_OBJECT work by following pointers which is unsafe on certain architectures. GstMiniObject detection however does a lookup to see if it's a valid type derived from G_TYPE_BOXED. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/791>
2021-04-10allocator: add gst_allocation_params_new()Chris White
This permits creating GstAllocationParams instances on the heap, which is useful for language bindings that can handle GBoxed types. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/683 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/788>
2021-04-08clocksync: Fix providing system clock by defaultDoug Nazar
clocksync defaults to sync=true so should advertise it by default. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/786>
2021-04-08gstpluginloader: when env var is set do not fall through to system plugin ↵Jose Quaresma
scanner If we set a custom GST_PLUGIN_SCANNER env var, then we probably want to use that and only that. Falling through to the one installed on the system is problamatic in cross-compilation environemnts, regardless of whether one pointed to by the env var succeeded or failed. taken from: http://cgit.openembedded.org/openembedded-core/commit/meta/recipes-multimedia/gstreamer/gstreamer1.0/0001-gst-gstpluginloader.c-when-env-var-is-set-do-not-fal.patch?id=0db7ba34ca41b107042306d13a6f0162885c123b Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/669>
2021-04-08gst-inspect: Allow overriding DEFAULT_LESS_OPTS with GST_LESSJan Alexander Steffens (heftig)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/777>
2021-04-06aggregator: Release pads' peeked buffer when removing the pad or finalizing itSebastian Dröge
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/784>
2021-04-02caps: Add gst_caps_features_new_single()Chris White
For use with a single feature now that gst_caps_features_new() is G_GNUC_NULL_TERMINATED. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_855357 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-04-02typefind: add gst_type_find_suggest_empty_simple()Chris White
For cases where you only need a media type and no other fields. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774#note_848664 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-04-02gst: Add missing G_GNUC_NULL_TERMINATED markersChris White
Functions that require NULL as their last vararg are marked so the compiler can warn on missing NULL. Also, document the NULL terminator for gst_make_element_message_details() and gst_tracer_record_new(). https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/669 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/774>
2021-03-31systemclock: Fix deadlock on clock_nanosleepPieter Willem Jordaan
Always use the monotonic clock's diff and end time for clock_nanosleep to have predictable behaviour even with other clock types. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/779>
2021-03-27Update gst-launch-1.0.1Jason Carrete
Fixed a small typo in the gst-launch-1.0 man page Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/780>
2021-03-26bin: Don't special-case G_SIGNAL_RUN_CLEANUP stage in latency signal accumulatorSebastian Dröge
This signal don't run the class handler in the CLEANUP stage. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/776>
2021-03-25gst: enforce gst_deinit one call per processAaron Boxer
unit tests do not need to call deinit as it is already called in exit handler Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/236>
2021-03-25gst: disable indent for parse_goption_argAaron Boxer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/236>
2021-03-19device provider: add custom register macroStéphane Cerveau
This macro allows to register a device provider with a custom function which gives more flexibility when registering it (see v4l2 register). Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/773>
2021-03-19gst: don't use volatile to mean atomicMatthew Waters
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/775>
2021-03-18clocksync: Add a new property "sync-to-first" for automatic ts-offset setupSeungha Yang
Add a new property so that clocksync can setup "ts-offset" value based on the first buffer and pipeline's running time when the first arrived. Newly update "ts-offset" in this case would be a value that allows outputting the first buffer without clock waiting. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/702>
2021-03-17aggregator: Release the SRC lock while querying latencyOlivier Crête
This is required because the query could be intercepted and the application could send any other requests to the element from this thread. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/771>
2021-03-17value: fix parsing of explicit value castsMathieu Duponchelle
Since acdb4ce03d525a18f6c351a040b8446c7bbd98bd , parsing of the value for a property can use the pspec to determine what type a value should be casted to. However, this broke the case where the value is explicitly casted to a type (eg <(float) 0.0>). In that situation, we want to respect the casting decision, and only use the pspec to perform "implicit" casts. Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/881 Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/772>
2021-03-11clock: define AUTO_CLEANUP_FREE_FUNC for GstClockIDGuillaume Desmottes
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/769>
2021-03-08element: remove useless ret testStéphane Cerveau
The ret test is unrelevant and confusing. We dont want the code to fail and the register to succeed by example. In the case of a conditional element_init, the element should be defined with GST_ELEMENT_REGISTER_DEFINE_CUSTOM instead of GST_ELEMENT_REGISTER_DEFINE_WITH_CODE. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/768>
2021-03-03bash-completion: various bash fixesStéphane Cerveau
-d tests the folder which is existing but with .in file, so I prefered the -f to test if the gst file was available which is not the case, so it fallbacks on the pkg-config Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/766>
2021-02-26meson: add uninstalled var for bash-completionStéphane Cerveau
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/766>
2021-02-24miniobject: add GST_TYPE_MINI_OBJECTGuillaume Desmottes
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/764>
2021-02-17docs: standardize debugutils documentationMathieu Duponchelle
* add a SECTION comment * Misc cleanup / typo fixes / addition of links Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/760>
2021-02-16docs: standardize GstControlSource, GstDateTime documentationMathieu Duponchelle
* Don't repeat what annotations are stating with respect to ownership transfer, nullability * Misc cleanup / typo fixes / addition of links Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/759>
2021-02-16Revert "baseparse: always use incoming DTS"Mathieu Duponchelle
This reverts commit fc5cd9591a3fe09458342cfedfff88d57bc330c7.
2021-02-15docs: standardize GstContext, GstControlBinding documentationMathieu Duponchelle
* Document virtual methods in standalone comments, in order to properly annotate them * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Mark GstControlBinding ABI field as private * Misc cleanup / typo fixes / addition of links Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/758>
2021-02-15docs: standardize GstClock documentationMathieu Duponchelle
* Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Document virtual methods in standalone comments, so that parameters can be documented. This is not critical here, as parameters do not need annotations / specific documentation, but serves as an up to date example * Document enumeration members in standalone comments, so that their Since tag is accounted for by gobject-introspection * Misc cleanup / typo fixes / addition of links Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/756>
2021-02-15features: remove extra G_BEGIN_DECLS/G_END_DECLSStéphane Cerveau
_GST_ELEMENT_REGISTER_DEFINE_BEGIN _GST_ELEMENT_REGISTER_DEFINE_END was introducing an extra extern "C" in case of c++ build. Add missing ";" in GST_ELEMENT_REGISTER_DECLARE Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/757>
2021-02-11docs: standardize GstCapsFeatures, GstChildProxy documentationMathieu Duponchelle
* Don't mention explicitly that API is MT safe, this implies that other API is not. GStreamer API is assumed to be MT safe, thread safety should only be explicitly mentioned when API is *not* MT safe * Document virtual methods in standalone comments, in order to properly annotate them * Don't repeat what annotations are stating with respect to ownership transfer, nullability * Misc cleanup / typo fixes / addition of links Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/755>