- Sep 08, 2021
-
-
Tim-Philipp Müller authored
-
Part-of: <gstreamer/gstreamer!883>
-
- Sep 06, 2021
-
-
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+. gstreamer/gstreamer!724 (comment 738531) Part-of: <gstreamer/gstreamer!882>
-
Use gap events to update the next_time of a queue the same as buffers or segment events. Fixes problems where a group consisting only of sparse streams primarily driven by gap events would stall with a full multiqueue because unlinked streams in the group were not being woken to push data. Part-of: <gstreamer/gstreamer!881>
-
- Aug 27, 2021
-
-
If dispose() is called more than once, we may double unref the list of GstContext's. Part-of: <gstreamer/gstreamer!876>
-
- Aug 24, 2021
-
-
When the probe returns GST_PAD_PROBE_REMOVE and gets called concurrently from the streaming thread while we're in the callback here, the hook has already been destroyed by the time we've reacquired the object lock. Consequently, cleanup_hook gets passed an invalid pointer. Keep another reference to the hook alive to avoid this situation. Part-of: <gstreamer/gstreamer!874>
-
- Aug 23, 2021
- Aug 20, 2021
-
-
Was broken by gstreamer/gstreamer!819 Part-of: <gstreamer/gstreamer!872>
-
- Aug 18, 2021
-
-
The last flow return field was never updated on sink pads in push mode. This fixes it and makes it consistent. Part-of: <gstreamer/gstreamer!870>
-
- Aug 11, 2021
-
-
Tim-Philipp Müller authored
We shouldn't fail to load plugins just because we don't recognise the license string. It's not our job to validate licenses, and the license list is outdated and ambiguous anyway. Part-of: <gstreamer/gstreamer!865>
-
- Jul 22, 2021
-
-
Step handling is implemented based on unmodified start/stop segment running time, and basesink takes rate into account for stepping. This commit is partially undoing new behavior introduced by the commit of 39b9cc55 when stepping. Part-of: <gstreamer/gstreamer!858>
-
120 bytes in 5 blocks are definitely lost in loss record 7,615 of 9,510 at 0x484486F: malloc (vg_replace_malloc.c:380) by 0x58A2938: g_malloc (gmem.c:106) by 0x58BA1F4: g_slice_alloc (gslice.c:1069) by 0x588F059: g_list_prepend (glist.c:335) by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756) by 0x5B9CA8E: cleanup_cb (gstptpclock.c:1930) by 0x589AD20: g_timeout_dispatch (gmain.c:4889) by 0x589A4CE: UnknownInlinedFun (gmain.c:3337) by 0x589A4CE: g_main_context_dispatch (gmain.c:4055) by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131) by 0x5899A92: g_main_loop_run (gmain.c:4329) by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980) by 0x58C8C31: g_thread_proxy (gthread.c:826) 576 bytes in 24 blocks are definitely lost in loss record 8,782 of 9,510 at 0x484486F: malloc (vg_replace_malloc.c:380) by 0x58A2938: g_malloc (gmem.c:106) by 0x58BA1F4: g_slice_alloc (gslice.c:1069) by 0x588F059: g_list_prepend (glist.c:335) by 0x5B9C5C0: select_best_master_clock (gstptpclock.c:756) by 0x5B9EFA0: handle_announce_message (gstptpclock.c:934) by 0x5B9EFA0: handle_ptp_message (gstptpclock.c:1765) by 0x5B9EFA0: have_stdin_data_cb (gstptpclock.c:1851) by 0x589A4CE: UnknownInlinedFun (gmain.c:3337) by 0x589A4CE: g_main_context_dispatch (gmain.c:4055) by 0x58EE4E7: g_main_context_iterate.constprop.0 (gmain.c:4131) by 0x5899A92: g_main_loop_run (gmain.c:4329) by 0x5B9BA4C: ptp_helper_main (gstptpclock.c:1980) by 0x58C8C31: g_thread_proxy (gthread.c:826) by 0x5DA4298: start_thread (pthread_create.c:481) Part-of: <gstreamer/gstreamer!857>
-
This is being logged for each buffer, so it should not use INFO. Part-of: <gstreamer/gstreamer!856>
-
- Jul 08, 2021
-
-
Fix "has no handler with id" output criticals when the : multilink operator is used. These were caused by disconnecting a signal handler multiple times. Part-of: <gstreamer/gstreamer!850>
-
- Jun 24, 2021
-
-
Part-of: <gstreamer/gstreamer!844>
-
- Jun 11, 2021
-
-
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: <gstreamer/gstreamer!834>
-
- May 14, 2021
-
-
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: <gstreamer/gstreamer!823>
-
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: <gstreamer/gstreamer!822>
-
When switching between read/write a fseek() or fflush() is required. Part-of: <gstreamer/gstreamer!821>
-
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: <gstreamer/gstreamer!821>
-
Part-of: <gstreamer/gstreamer!821>
-
- May 06, 2021
-
-
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: <gstreamer/gstreamer!811>
-
- Apr 20, 2021
-
-
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: <gstreamer/gstreamer!800>
-
- Apr 17, 2021
-
-
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: <gstreamer/gstreamer!797>
-
- Apr 13, 2021
-
-
There is no guarantee that the clock is currently advancing, therefore if we re-schedule (because of timeouts) a clock wait, we need to re-acquire the current monotonic clock value against which we will wait. Avoids spinning the cpu like mad (due to constant timeout) when clocks are PAUSED. Fixes #673 Part-of: <gstreamer/gstreamer!794>
-
clocksync defaults to sync=true so should advertise it by default. Part-of: <gstreamer/gstreamer!795>
-
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 gst-plugins-good#868 Part-of: <!793>
-
- Apr 06, 2021
-
-
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: <gstreamer/gstreamer!785>
-
- Mar 15, 2021
-
-
Tim-Philipp Müller authored
-
Tim-Philipp Müller authored
-
- Mar 11, 2021
-
-
GstClockID is secretly a gpointer so we can't use g_autoptr(), instead user can do: g_auto (GstClockID) clock_id = 0; Part-of: <gstreamer/gstreamer!770>
-
- Jan 31, 2021
-
-
Part-of: <gstreamer/gstreamer!743>
-
- Jan 30, 2021
-
-
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: <gstreamer/gstreamer!741>
-
- Jan 28, 2021
-
-
Part-of: <gstreamer/gstreamer!740>
-
Part-of: <gstreamer/gstreamer!740>
-
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: <gstreamer/gstreamer!740>
-
- Jan 14, 2021
-
-
Tim-Philipp Müller authored
-
- Jan 13, 2021
-
-
Tim-Philipp Müller authored
-
- Jan 12, 2021
-
-
Seungha Yang authored
Follow-up from gstreamer/gstreamer!728 Part-of: <gstreamer/gstreamer!731>
-
Provide non-inline version of refcounting APIs so that it can be consumed by bindings Fixes: gstreamer-sharp#46 Part-of: <!731>
-