Nicolas Dufresne [Wed, 25 Jul 2018 22:51:58 +0000 (18:51 -0400)]
meson: Install bash completion helper in prefix
A regression was causing the helpers to be installed in /share which
would lead to permission denied error or PolicyKit to promtp for
permission. See:
054fa3aa2 meson: Use new define_variable: feature instead of run_command()
Nirbheek Chauhan [Wed, 25 Jul 2018 10:30:28 +0000 (16:00 +0530)]
meson: host_machine.system() is darwin even on iOS
Also use host_system everywhere.
Nirbheek Chauhan [Wed, 25 Jul 2018 08:55:07 +0000 (14:25 +0530)]
meson: Don't add static printf library to executables
They should only need to link to libgstreamer.
Nirbheek Chauhan [Wed, 25 Jul 2018 02:00:52 +0000 (07:30 +0530)]
meson: Use new define_variable: feature instead of run_command()
Nirbheek Chauhan [Wed, 25 Jul 2018 01:59:51 +0000 (07:29 +0530)]
meson: Small cleanup, unused variable
Nirbheek Chauhan [Wed, 25 Jul 2018 01:34:11 +0000 (07:04 +0530)]
meson: Use copy: true for configure_file()
Fixes a warning.
Sebastian Dröge [Tue, 24 Jul 2018 22:12:49 +0000 (01:12 +0300)]
typefindhelper: Mark extension in gst_type_find_helper_get_range() as allow-none
It always allowed NULL and even said so in the documentation.
Sebastian Dröge [Tue, 24 Jul 2018 14:28:45 +0000 (17:28 +0300)]
typefind: Add _with_extension() variants for typefinding data or a buffer
And make use of that in the typefind element to also be able to make use
of the extension in push mode. It previously only did that in pull mode
and this potentially speeds up typefinding and might also prevent false
positives.
https://bugzilla.gnome.org/show_bug.cgi?id=796865
Sebastian Dröge [Tue, 24 Jul 2018 06:58:31 +0000 (09:58 +0300)]
gst: Simplify some boolean expressions
(!x || (x && y)) is the same as (!x || y)
https://bugzilla.gnome.org/show_bug.cgi?id=796847
Sebastian Dröge [Mon, 23 Jul 2018 20:17:54 +0000 (23:17 +0300)]
Revert "pad: Handle changing sticky events in pad probes"
This reverts commit
11e0f451eb498e92d05d8208f7217625dc62848b.
When pushing a sticky event out of a pad with a pad probe or pad offset,
those should not be applied to the event that is actually stored in the
event but only in the event sent downstream. The pad probe and pad
offsets are conceptually *after* the pad, added by external code and
should not affect any internal state of pads/elements.
Also storing the modified event has the side-effect that a re-sent event
would arrive with any previous modifications done by the same pad probe
again inside that pad probe, and it would have to check if its
modifications are already applied or not.
For sink pads and generally for events arriving in a pad, some further
changes are still needed and those are tracked in
https://bugzilla.gnome.org/show_bug.cgi?id=765049
In addition, the commit also had a refcounting problem with events,
causing already destroyed events to be stored inside pads.
Mathieu Duponchelle [Fri, 20 Jul 2018 21:51:44 +0000 (23:51 +0200)]
bus: add missing (out) annotation to get_poll_fd()
Thibault Saunier [Thu, 19 Jul 2018 01:13:57 +0000 (21:13 -0400)]
basetransform: Do not check if NULL is an emtpy caps
gst_base_transform_transform_caps can return NULL in various conditions
thus we should not treat its result as valid caps.
In all other places NULL is properly handled.
Olivier Crête [Mon, 16 Jul 2018 15:51:05 +0000 (11:51 -0400)]
sink: Only add processing latency if upstream is live
Only add it if upstream is live, otherwise leave the latency at 0.
https://bugzilla.gnome.org/show_bug.cgi?id=640610
Olivier Crête [Mon, 16 Jul 2018 15:50:36 +0000 (11:50 -0400)]
pipeline tests: Add test for processing latency
Thibault Saunier [Fri, 13 Jul 2018 12:53:53 +0000 (08:53 -0400)]
gst-inspect: Sort properties names
Making it simpler to find properties you are looking for when reading.
Thibault Saunier [Fri, 13 Jul 2018 12:52:55 +0000 (08:52 -0400)]
basesink: Minor GI warning fix.
Sebastian Dröge [Tue, 10 Jul 2018 06:48:47 +0000 (08:48 +0200)]
sample: Set buffer/caps/buffer-lists to NULL correctly when replacing them with NULL
Sebastian Dröge [Fri, 29 Jun 2018 05:16:28 +0000 (07:16 +0200)]
bufferlist: Prevent gst_buffer_list_foreach() from modifying non-writeable lists
Previously gst_buffer_list_foreach() could modify (drop or replace)
buffers in non-writable lists, which could cause all kinds of problems
if other code also has a reference to the list and assumes that it stays
the same.
https://bugzilla.gnome.org/show_bug.cgi?id=796692
Sebastian Dröge [Fri, 29 Jun 2018 05:16:28 +0000 (07:16 +0200)]
buffer: Add test to ensure that memories in a non-writable buffer are not writable
https://bugzilla.gnome.org/show_bug.cgi?id=796692
Sebastian Dröge [Thu, 28 Jun 2018 12:13:39 +0000 (14:13 +0200)]
bufferlist: Add test to ensure that buffers in an non-writable list are not writable
https://bugzilla.gnome.org/show_bug.cgi?id=796692
Sebastian Dröge [Tue, 3 Jul 2018 17:07:31 +0000 (20:07 +0300)]
miniobject: Add parent pointers to the miniobject to influence writability
Every container of miniobjects now needs to store itself as parent in
the child object, and remove itself again at a later time.
A miniobject is only writable if there is at most one parent, and that
parent is writable itself, and if the reference count of the miniobject
is 1.
GstBuffer (for memories), GstBufferList (for buffers) and GstSample (for
caps, buffer, bufferlist) was updated accordingly.
Without this it was possible to have e.g. a bufferlist with refcount 2
in two places, modifying the same buffer with refcount 1 at the same
time.
https://bugzilla.gnome.org/show_bug.cgi?id=796692
Thibault Saunier [Mon, 9 Jul 2018 00:52:08 +0000 (20:52 -0400)]
check: Add a fail_unless_equals_clocktime macro for convenience
Nicolas Dufresne [Sat, 7 Jul 2018 13:15:58 +0000 (09:15 -0400)]
base: Add processing deadline API to win32 def
https://bugzilla.gnome.org/show_bug.cgi?id=640610
Olivier Crête [Mon, 4 May 2015 21:30:17 +0000 (17:30 -0400)]
basesink: Add processing deadline
The processing deadline is the acceptable amount of time to process the media
in a live pipeline before it reaches the sink. This is on top of the algorithmic
latency that is normally reported by the latency query. This should make
pipelines such as "v4lsrc ! xvimagesink" not claim that all frames are late
in the QoS events. Ideally, this should replace max_lateness for most applications.
https://bugzilla.gnome.org/show_bug.cgi?id=640610
Bastian Köcher [Sun, 1 Apr 2018 14:06:26 +0000 (16:06 +0200)]
gstreamer: fix install dir for configure files
Nixos installs into a non-standard includedir.
https://bugzilla.gnome.org/show_bug.cgi?id=794856
Nicolas Dufresne [Wed, 4 Jul 2018 18:00:35 +0000 (14:00 -0400)]
structure: Update doc error in ARRAY/LIST helpers
Philippe Normand [Fri, 22 Jun 2018 14:35:42 +0000 (15:35 +0100)]
protection: Release decryptors list, even if it's empty
https://bugzilla.gnome.org/show_bug.cgi?id=796651
Tim-Philipp Müller [Sat, 23 Jun 2018 15:01:09 +0000 (17:01 +0200)]
Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
Edward Hervey [Mon, 18 Jun 2018 14:29:18 +0000 (16:29 +0200)]
concat: Properly forward the SEGMENT seqnum
Sebastian Dröge [Mon, 11 Jun 2018 07:22:39 +0000 (10:22 +0300)]
event: Unset SNAP flags when creating a new seek event without KEY_UNIT flag
The SNAP flags only make sense in combination with the KEY_UNIT flag,
and without they expose all kinds of unexpected behaviour in various
elements that don't expect this from happening.
Also warn if this ever happens.
https://bugzilla.gnome.org/show_bug.cgi?id=796558
Sebastian Dröge [Mon, 18 Jun 2018 06:17:36 +0000 (09:17 +0300)]
event: Require writable events for setting the running-time-offset and sequence number
Otherwise multiple code paths with the same event could change the
values on each other.
https://bugzilla.gnome.org/show_bug.cgi?id=796615
Guillaume Desmottes [Thu, 15 Mar 2018 11:43:56 +0000 (12:43 +0100)]
gst_structure_to_string: display actual value of pointers
We used to always display "NULL" which was pretty confusing when
debugging.
https://bugzilla.gnome.org/show_bug.cgi?id=794355
Thibault Saunier [Wed, 13 Jun 2018 20:27:24 +0000 (16:27 -0400)]
stream: Add some missing API safe guards
Tim-Philipp Müller [Fri, 8 Jun 2018 16:58:43 +0000 (17:58 +0100)]
poll: minor docs clarification
'Not implemented' could be misinterpreted to mean that
the API doesn't even exist there.
Tim-Philipp Müller [Fri, 8 Jun 2018 16:57:01 +0000 (17:57 +0100)]
win32: update for new API
Guillaume Desmottes [Thu, 5 Apr 2018 10:40:09 +0000 (12:40 +0200)]
poll: add API to watch for POLLPRI
Windows doesn't seem to have an equivalent of POLLPRI so disabled those
functions on this platform.
This API can be used, for example, to wait for video4linux events which
are using POLLPRI.
https://bugzilla.gnome.org/show_bug.cgi?id=794977
Guillaume Desmottes [Thu, 5 Apr 2018 10:19:39 +0000 (12:19 +0200)]
poll: stop treating on POLLPRI as 'read'
Current code was considering "can read" as having either POLLIN or POLLPRI being
set.
This may lead to client being awaken because of POLLPRI, starting a blocking
read and getting stuck because there is actually nothing to read.
This patch removes POLLPRI handling in read code and I'll add specific
API to wait for POLLPRI.
https://bugzilla.gnome.org/show_bug.cgi?id=794977
Edward Hervey [Tue, 5 Jun 2018 15:02:18 +0000 (17:02 +0200)]
baseparse: Ensure seqnum consistency
We need all relevant events of a segment to have consistent seqnum:
* GST_EVENT_SEGMENT
* GST_EVENT_EOS
If we are push-based and create a new segment, use the same seqnum
as the upstream event.
If we are pull-based, use the seqnum of that newly created segment
event everywhere
Edward Hervey [Tue, 5 Jun 2018 15:01:05 +0000 (17:01 +0200)]
message: Only allow setting valid seqnum on messages
If we want to make sure we never end up with invalid seqnum on
messages let's forbid setting them.
Edward Hervey [Tue, 5 Jun 2018 14:59:50 +0000 (16:59 +0200)]
event: Only allow setting valid seqnum on events
If we want to make sure we never end up with invalid seqnum on
events let's forbid setting them.
Edward Hervey [Tue, 5 Jun 2018 14:58:21 +0000 (16:58 +0200)]
bin: Make sure we don't use invalid seqnums on messages
There is a possibility that the accumlation functions don't set
a seqnum. Make sure we only set/override the seqnum of the new
messages if we *have* a valid upstream seqnum to use
Dimitrios Katsaros [Sat, 2 Jun 2018 12:02:19 +0000 (14:02 +0200)]
queue2: use GstQueueArray
When using queue2 as a queue it was using GQueue with
individually allocated queue items, so two allocs for
each item. With GstQueueArray we can avoid those.
https://bugzilla.gnome.org/show_bug.cgi?id=796483
Mike Wey [Sun, 3 Jun 2018 17:37:40 +0000 (19:37 +0200)]
dataqueue: add some missing introspection annotations
https://bugzilla.gnome.org/show_bug.cgi?id=796488
Edward Hervey [Wed, 30 May 2018 12:06:06 +0000 (14:06 +0200)]
baseparse: Documentation improvements
* Remove references to old functions and methods
* Use proper #ClassName.vmethod() decorator for vmethod
Thibault Saunier [Tue, 22 May 2018 14:30:58 +0000 (16:30 +0200)]
meson: Add an option to activate extra checks
And activate them by default as with autotools
Tim-Philipp Müller [Mon, 21 May 2018 22:10:21 +0000 (23:10 +0100)]
meson: rename gtkdoc option to gtk_doc
Edward Hervey [Mon, 21 May 2018 09:37:00 +0000 (11:37 +0200)]
datetime: Update/fix documentation
Edward Hervey [Mon, 21 May 2018 09:36:42 +0000 (11:36 +0200)]
sample: Update documentation
Edward Hervey [Mon, 21 May 2018 09:16:29 +0000 (11:16 +0200)]
gst: Add an example to GST_STATIC_PAD_TEMPLATE macro
Mark Nauwelaerts [Mon, 21 May 2018 07:14:37 +0000 (09:14 +0200)]
gst: add some GIR array annotations
Tim-Philipp Müller [Sun, 20 May 2018 13:07:15 +0000 (14:07 +0100)]
meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
Tim-Philipp Müller [Wed, 16 May 2018 22:25:26 +0000 (23:25 +0100)]
win32: update for new aggregator API
Fixes make distcheck.
Olivier Crête [Sat, 5 May 2018 08:46:09 +0000 (10:46 +0200)]
aggregator: Add get_next_time function for live streams
Add a function to do the right thing for live streams.
https://bugzilla.gnome.org/show_bug.cgi?id=795486
Sebastian Dröge [Wed, 9 May 2018 21:05:51 +0000 (00:05 +0300)]
pad: Fix race condition causing the same probe to be called multiple times
Probes were remembering a cookie that was used to check if the probe was
already called this time before the probes list changed. However the
same probes could've been called by another thread in between and thus
gotten a new cookie, and would then be called a second time.
https://bugzilla.gnome.org/show_bug.cgi?id=795987
Edward Hervey [Fri, 4 May 2018 07:29:22 +0000 (09:29 +0200)]
gst: Use memcpy() instead of strncpy() where appropriate
strncpy() is assumed to be for strings so the compiler assumes that
it will need an extra byte for the string-terminaning NULL.
For cases where we know it's actually "binary" data, just copy it
with memcpy.
https://bugzilla.gnome.org/show_bug.cgi?id=795756
Seungha Yang [Mon, 7 May 2018 01:47:00 +0000 (10:47 +0900)]
bitwriter: Fix build error
Fix implicit-function-declaration warning for meemst and memcpy
gstbitwriter.h:166:3: error: implicit declaration of function ‘memset’
memset (bitwriter->data + clear_pos, 0, (new_bit_size >> 3) - clear_pos);
^
https://bugzilla.gnome.org/show_bug.cgi?id=795867
Jan Schmidt [Sun, 6 May 2018 15:32:14 +0000 (01:32 +1000)]
gstevent: Add some FIXME: 2.0 about removing the timestamp
The timestamp field isn't valuable or used well anywhere. We
should remove it for GStreamer 2.0
https://bugzilla.gnome.org/show_bug.cgi?id=761462
Sreerenj Balachandran [Tue, 18 Mar 2014 14:01:04 +0000 (16:01 +0200)]
bitwriter: Add unit tests
https://bugzilla.gnome.org/show_bug.cgi?id=707543
Wind Yuan [Tue, 12 Nov 2013 07:00:51 +0000 (15:00 +0800)]
bitwriter: Add a generic bit writer
GstBitWriter provides a bit writer that can write any number of
bits into a memory buffer. It provides functions for writing any
number of bits into 8, 16, 32 and 64 bit variables.
https://bugzilla.gnome.org/show_bug.cgi?id=707543
Nirbheek Chauhan [Sat, 5 May 2018 13:38:09 +0000 (19:08 +0530)]
meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
Tim-Philipp Müller [Sat, 5 May 2018 14:16:45 +0000 (16:16 +0200)]
bufferlist: fix abort due to underflow when creating 0-sized list
gst_buffer_list_new_sized(0) will cause an underflow in a calculation
which then makes it try to allocate huge amounts of memory, which
may lead to aborts.
https://bugzilla.gnome.org/show_bug.cgi?id=795758
Tim-Philipp Müller [Sat, 5 May 2018 10:16:07 +0000 (12:16 +0200)]
scripts: create-uninstalled-setup: remove dead wiki link, mention gst-build
https://bugzilla.gnome.org/show_bug.cgi?id=795734
Tim-Philipp Müller [Sat, 5 May 2018 09:32:12 +0000 (11:32 +0200)]
aggregator: since marker for new API
Was also backported.
https://bugzilla.gnome.org/show_bug.cgi?id=795332
Francisco Velazquez [Fri, 4 May 2018 12:00:21 +0000 (14:00 +0200)]
debugutils: Update configure option in documentation
Update documentation on non existent option `gst-enable-gst-debug'. Instead,
one has to make sure that the `--disable-gst-debug' option was not used when
compiling GStreamer (i.e., `./configure --disable-gst-debug').
https://bugzilla.gnome.org/show_bug.cgi?id=795801
luz.paz [Fri, 27 Apr 2018 16:41:58 +0000 (12:41 -0400)]
Source code typo fixes
https://bugzilla.gnome.org/show_bug.cgi?id=795610
luz.paz [Fri, 27 Apr 2018 16:40:31 +0000 (12:40 -0400)]
Fix typos in comments and docs
Found via `codespell`
https://bugzilla.gnome.org/show_bug.cgi?id=795610
Tim-Philipp Müller [Wed, 25 Apr 2018 18:47:11 +0000 (19:47 +0100)]
win32: add new symbol
Olivier Crête [Wed, 25 Apr 2018 18:30:04 +0000 (14:30 -0400)]
aggregator: Improve doc for gst_aggregator_pad_has_buffer
Olivier Crête [Mon, 23 Apr 2018 15:34:19 +0000 (11:34 -0400)]
aggregator: Add API to check if a pad has a new buffer
https://bugzilla.gnome.org/show_bug.cgi?id=795332
Tim-Philipp Müller [Wed, 25 Apr 2018 17:28:00 +0000 (18:28 +0100)]
buffer: don't over-allocate internal GstMeta items
We would allocate space for two GstMeta structs even though
there is only one in the end (the one in GstMetaItem and in
GstFooMeta overlap).
Xavier Claessens [Fri, 23 Mar 2018 16:48:37 +0000 (12:48 -0400)]
Meson: Use library() to build both static and shared libs
Meson supports building both static and shared libraries in a single
library() call. It has the advantage of reusing the same .o objects and
thus avoid double compilation.
https://bugzilla.gnome.org/show_bug.cgi?id=794627
Xavier Claessens [Tue, 24 Apr 2018 18:37:40 +0000 (14:37 -0400)]
Meson: Fix check for linker args
https://bugzilla.gnome.org/show_bug.cgi?id=795513
Tim-Philipp Müller [Sun, 22 Apr 2018 18:23:50 +0000 (19:23 +0100)]
pkgconfig: set pluginsdir to plugins/ sub-directory for uninstalled .pc file
So we don't unnecessarily scan directories that have no plugins
(or try to open libs). Matches how we limit the search space for
plugin modules to gst/ ext/ sys/ subdirs.
Tim-Philipp Müller [Fri, 20 Apr 2018 11:30:24 +0000 (12:30 +0100)]
meson: fix invalid keyword argument warnings
cc.compiles() doesn't have a 'prefix' argument (yet) and the
prefix has already been prepended to the source code snippets.
https://github.com/mesonbuild/meson/issues/2364
Thibault Saunier [Wed, 18 Apr 2018 14:35:20 +0000 (11:35 -0300)]
Revert "docs: Minor fix in event_new_select_streams"
This reverts commit
f218917d02760f8f32a35e4e635e23230c47c0c6.
Thibault Saunier [Tue, 17 Apr 2018 23:03:09 +0000 (20:03 -0300)]
docs: Minor fix in event_new_select_streams
Tim-Philipp Müller [Tue, 17 Apr 2018 10:24:31 +0000 (11:24 +0100)]
multiqueue, inputselector: show pad properties in gst-inspect-1.0
Tim-Philipp Müller [Tue, 17 Apr 2018 10:01:09 +0000 (11:01 +0100)]
inputselector, outputselector: add guards for wrong pads being set as active pads
Catch users wrongly setting foreign pads or wrong pads as
the selector's active pad, which leads to all kinds of
other issues. It's a programming error so handle it just
like we would if we had direct API.
https://bugzilla.gnome.org/show_bug.cgi?id=795309
Thibault Saunier [Tue, 17 Apr 2018 17:00:20 +0000 (14:00 -0300)]
caps: Add a macro based variant of gst_caps_copy
This way we do not hit the performance overhead of having the method
not inlined but still can use it from bindings.
Thibault Saunier [Mon, 16 Apr 2018 19:30:27 +0000 (16:30 -0300)]
pad: Handle changing sticky events in pad probes
In the case where the user sets a new padprobeinfo->data in a probe
where the data is a sticky event, the new sticky event should be automatically
sticked on the probed pad.
https://bugzilla.gnome.org/show_bug.cgi?id=795330
Thibault Saunier [Tue, 17 Apr 2018 12:33:02 +0000 (09:33 -0300)]
debug: Make PADS debug background blue
Red on red was... suboptimal!
https://bugzilla.gnome.org/show_bug.cgi?id=795330
Tim-Philipp Müller [Tue, 17 Apr 2018 16:00:53 +0000 (17:00 +0100)]
win32: update defs for new exports
Thibault Saunier [Mon, 16 Apr 2018 19:27:57 +0000 (16:27 -0300)]
harness: Handle harness->element not being a GstBin
It is totally valid but in gst_harness_find_element we were not
handling that case.
https://bugzilla.gnome.org/show_bug.cgi?id=795308
Thibault Saunier [Wed, 4 Apr 2018 20:36:57 +0000 (17:36 -0300)]
gst: Stop inlining gst_caps_copy
This way it gets exposed to bindings through GObject Introspection.
Tim-Philipp Müller [Mon, 16 Apr 2018 09:52:46 +0000 (10:52 +0100)]
Automatic update of common submodule
From f0c2dc9 to ed78bee
Aurelien Jarno [Sat, 14 Apr 2018 22:49:55 +0000 (00:49 +0200)]
gstconfig.h.in: initial RISC-V support
RISC-V supports unaligned accesses, but these might run extremely slowly
depending on the implementation. Therefore set GST_HAVE_UNALIGNED_ACCESS
to 0 on this architecture.
https://bugzilla.gnome.org/show_bug.cgi?id=795271
Mathieu Duponchelle [Wed, 11 Apr 2018 15:16:54 +0000 (17:16 +0200)]
adapter: port the buffer list from GSList to GstQueueArray
Significantly reduces the amount of memory allocation operations.
https://bugzilla.gnome.org/show_bug.cgi?id=795167
Mathieu Duponchelle [Wed, 11 Apr 2018 13:38:36 +0000 (15:38 +0200)]
API: gst_queue_array_peek_nth
https://bugzilla.gnome.org/show_bug.cgi?id=795157
Mathieu Duponchelle [Wed, 11 Apr 2018 11:44:33 +0000 (13:44 +0200)]
gstqueuearray: make find() return a 0-based index
And make the drop() functions expect a 0-based index too,
this addresses a longstanding FIXME. This will not break
backward compatibility, because the drop() functions
were previously only meant to be used with the index
returned by find().
https://bugzilla.gnome.org/show_bug.cgi?id=795156
Mathieu Duponchelle [Tue, 10 Apr 2018 22:49:02 +0000 (00:49 +0200)]
gstsample: new API
gst_sample_set_buffer
gst_sample_set_caps
gst_sample_set_segment
gst_sample_set_info
gst_sample_is_writable
gst_sample_make_writable
This commit makes it possible to reuse a sample object and avoid
unnecessary memory allocations, for example in appsink.
In addition, writability is now required to set the buffer list.
https://bugzilla.gnome.org/show_bug.cgi?id=795144
Mark Nauwelaerts [Fri, 13 Apr 2018 18:15:46 +0000 (20:15 +0200)]
base: fix some GIR annotations
Mostly related to out parameters and their transfer
Mark Nauwelaerts [Thu, 29 Mar 2018 16:59:43 +0000 (18:59 +0200)]
gst: add some GIR array annotations
Víctor Manuel Jáquez Leal [Fri, 13 Apr 2018 07:58:05 +0000 (09:58 +0200)]
debugutils: Add missing parameters documentation
Tim-Philipp Müller [Wed, 11 Apr 2018 18:56:01 +0000 (19:56 +0100)]
gstdebug: fix occasional deadlocks on windows when outputting debug logging
When outputting debug logs on Windows, some sections are protected
with a non-recursive lock. Turns out though that gst_debug_message_get()
might indirectly, via our printf format extensions, call code which
in turn would try to log something when it can't handle something. If
that happens we end up in gst_debug_log_default() again recursively and
try to again take the lock that's already taken, thus deadlocking.
Format the debug message string outside of the critical section
instead to avoid this.
https://bugzilla.gnome.org/show_bug.cgi?id=784382
Tim-Philipp Müller [Mon, 9 Apr 2018 13:19:19 +0000 (14:19 +0100)]
gsturi: include gstconfig.h earlier for GST_API define
Jan Alexander Steffens (heftig) [Tue, 27 Mar 2018 08:25:46 +0000 (10:25 +0200)]
gstinfo: fix debug levels being applied in the wrong order
Remove unneeded reapplication of patterns. Besides being
superfluous (gst_debug_reset_threshold already applies
patterns) it was also wrong and didn't stop checking patterns
after the first match (broken in
67e9d139).
Also fix up unit test which checked for the wrong order.
https://bugzilla.gnome.org/show_bug.cgi?id=794717
Jan Alexander Steffens (heftig) [Tue, 27 Mar 2018 08:15:46 +0000 (10:15 +0200)]
gstinfo: Simplify gst_debug_reset_threshold() implementation
Replace the while+goto with a for+break and check walk to determine
whether we had a match. Move up the unlock to keep the locked section as
small as possible.
https://bugzilla.gnome.org/show_bug.cgi?id=794717
Jan Alexander Steffens (heftig) [Tue, 27 Mar 2018 08:14:27 +0000 (10:14 +0200)]
gstinfo: Reduce code duplication around level pattern matching
Move the match, logging and set_threshold to a new function.
The log levels are different, so choose the higher one (LOG). Having two
equivalent messages at two different levels seems like a bad idea
anyway.
https://bugzilla.gnome.org/show_bug.cgi?id=794717
Tim-Philipp Müller [Tue, 27 Mar 2018 16:16:05 +0000 (17:16 +0100)]
streamcollection: embed GQueue into the private struct
Edward Hervey [Mon, 2 Apr 2018 10:44:15 +0000 (12:44 +0200)]
docs: Update libs documentation
* Make sure all libcheck headers are ignored
* Add all missing symbols