Tim-Philipp Müller [Sun, 21 May 2017 17:11:36 +0000 (18:11 +0100)]
meson: actually remove config.h.meson as well
Sebastian Dröge [Sun, 21 May 2017 16:16:57 +0000 (19:16 +0300)]
protection: Fix annotations for gst_protection_select_system()
Olivier Crête [Sun, 21 May 2017 15:04:10 +0000 (17:04 +0200)]
plugin: Stop plugin symbol name at first .
This is because the python plugin ends up named
libgstpython.cpython-35m-x86_64-linux-gnu.so so we need to stop
at the first dot.
https://bugzilla.gnome.org/show_bug.cgi?id=782924
Tim-Philipp Müller [Sun, 21 May 2017 13:26:01 +0000 (14:26 +0100)]
meson: don't need config.h.meson any more
Meson does the largefile support automatically nowadays, and
can generate a config.h from configuration_data() without a
template as input.
Tim-Philipp Müller [Sun, 21 May 2017 08:02:54 +0000 (09:02 +0100)]
meson: make C++ compiler optional
It's only used to build tests to see if our headers are C++ clean.
Tim-Philipp Müller [Sat, 20 May 2017 16:57:39 +0000 (17:57 +0100)]
meson: check: generate .gir file
https://bugzilla.gnome.org/show_bug.cgi?id=782173
Sebastian Dröge [Sat, 20 May 2017 16:42:51 +0000 (19:42 +0300)]
parse: Make gst_parse_context_copy() public for bindings
Tim-Philipp Müller [Sat, 20 May 2017 15:44:14 +0000 (16:44 +0100)]
tools: dist new gst-stats man page
Fixes meson build from tarball.
Tim-Philipp Müller [Sat, 20 May 2017 15:43:39 +0000 (16:43 +0100)]
Dist meson ptp helper install script
Fixes meson build from tarball.
Thibault Saunier [Sat, 20 May 2017 11:24:18 +0000 (13:24 +0200)]
leaks: Handle subclasses in filters even for unhandled/lazy loaded types
Using typename in the set of unhandled types instead of the quark so
that we also handle subclasses as with other filters.
Matthew Waters [Fri, 19 May 2017 17:22:27 +0000 (19:22 +0200)]
debugutils: add missing E character to the legend
The E character on pads indicates the presence of the EOS flag.
Matej Knopp [Wed, 17 May 2017 19:50:25 +0000 (21:50 +0200)]
gst-plugin: allow '-' in plugin file name
'-' will be translated to underscore when determining symbol name
https://bugzilla.gnome.org/show_bug.cgi?id=782756
Christoph Reiter [Mon, 20 Jun 2016 13:58:59 +0000 (15:58 +0200)]
gst: ref_sink() some more floating references returned by g_object_new()
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 15:58:38 +0000 (18:58 +0300)]
gst: Clear floating flag in constructor of all GstObject subclasses that are not owned by any parent
I.e. most of them unfortunately.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:34:57 +0000 (14:34 +0300)]
allocator: ref_sink() the global sysmem allocator after creation
It's not owned by the first one to ask for it, but by this very code.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:32:48 +0000 (14:32 +0300)]
gst: Don't ref_sink() GstObject subclasses in instance_init/constructor
This is something bindings can't handle and it causes leaks. Instead
move the ref_sink() to the explicit, new() constructors.
This means that abstract classes, and anything that can have subclasses,
will have to do ref_sink() in their new() function now. Specifically
this affects GstClock and GstControlSource.
https://bugzilla.gnome.org/show_bug.cgi?id=743062
Sebastian Dröge [Mon, 15 May 2017 11:32:00 +0000 (14:32 +0300)]
gst: Correctly annotate functions taking floating reference parameters and returning floating references
https://bugzilla.gnome.org/show_bug.cgi?id=702960
Sebastian Dröge [Mon, 15 May 2017 11:29:05 +0000 (14:29 +0300)]
gst: Handle floating references consistently
If a function takes a floating reference parameter, it should also be
sinked in error cases. Otherwise the function behaves differently
between error and normal cases, which is impossible for bindings to
handle.
https://bugzilla.gnome.org/show_bug.cgi?id=747990
Vineeth TM [Fri, 10 Jul 2015 06:36:59 +0000 (15:36 +0900)]
gst: Fix floating reference inconsistencies in error cases
If a function takes a floating reference and sinks it, it should also do
that in error cases. I.e. call ref_sink() followed by unref().
Otherwise the reference counting behaviour of the function will be
different between the good and the error case, and simply inconsistent.
https://bugzilla.gnome.org/show_bug.cgi?id=747990
Nicolas Dufresne [Tue, 16 May 2017 17:31:06 +0000 (13:31 -0400)]
Also use default visibility for plugins symbol
Nicolas Dufresne [Tue, 16 May 2017 17:29:38 +0000 (13:29 -0400)]
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
Tim-Philipp Müller [Mon, 15 May 2017 23:02:11 +0000 (00:02 +0100)]
meson: fix gstprintf test linking
Must link against gstprint helper lib to use private symbol.
Tim-Philipp Müller [Wed, 10 May 2017 12:03:31 +0000 (13:03 +0100)]
gstconfig.h: use default visibility for GST_EXPORT for gcc/clang too
This will be needed later when we switch to using -fvisibility=hidden.
Tim-Philipp Müller [Wed, 10 May 2017 12:07:31 +0000 (13:07 +0100)]
gst: add GST_DEPRECATED_FOR() and also export deprecated symbols
Can't use a #ifndef GST_DISABLE_DEPRECATED guard around deprecated
functions any more, as they won't get exported then. Besides, we
get a nicer error message from the compiler telling us what function
to use instead this way.
Tim-Philipp Müller [Wed, 10 May 2017 09:56:16 +0000 (10:56 +0100)]
gst: mark symbols explicitly for export with GST_EXPORT
One omission: gst_allocator_sysmem_get_type() was
exported but never in any public header file.
Tim-Philipp Müller [Tue, 9 May 2017 23:11:10 +0000 (00:11 +0100)]
libs: controller: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 9 May 2017 15:19:31 +0000 (16:19 +0100)]
libs: base: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Tue, 9 May 2017 15:01:46 +0000 (16:01 +0100)]
libs: net: mark symbols explicitly for export with GST_EXPORT
Tim-Philipp Müller [Sat, 13 May 2017 17:30:27 +0000 (18:30 +0100)]
meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
Stefan Sauer [Sat, 13 May 2017 16:19:05 +0000 (18:19 +0200)]
docs: use the full path to ignore dirs
Stefan Sauer [Fri, 12 May 2017 15:49:25 +0000 (17:49 +0200)]
docs: remove stray ',\' from doc comment
Sebastian Dröge [Sat, 25 Feb 2017 10:18:14 +0000 (12:18 +0200)]
buffer: Add GstReferenceTimestampMeta
This is a meta that generically allows to attach additional reference
timestamps to a buffer, that don't have to relate to the pipeline clock
in any way.
Examples of this could be an NTP timestamp when the media was captured,
a frame counter on the capture side or the (local) UNIX timestamp when
the media was captured.
https://bugzilla.gnome.org/show_bug.cgi?id=779213
Tim-Philipp Müller [Tue, 9 May 2017 15:29:21 +0000 (16:29 +0100)]
meson: bump meson version requirement to 0.40.1
Sebastian Dröge [Thu, 15 Dec 2016 10:48:55 +0000 (12:48 +0200)]
bus: Add function to get the file descriptor of the bus
This is useful for integration with other event loops that work by
polling file descriptors. G_IO_IN will always be set whenever a message
is available currently.
https://bugzilla.gnome.org/show_bug.cgi?id=776126
Nicolas Dufresne [Tue, 28 Feb 2017 02:38:11 +0000 (21:38 -0500)]
plugin: Unify static and dynamic plugin interface
This patch changes the entry point of each plugin in order to unify the
interface for static and dynamic plugin. What we do is replace the
current static plugin interface and extend the dymamic one. The plugin
entry was a C structure, name "gst_plugin_desc". With this patch, the
interface is now:
GstPpluginDesc *gst_plugin_<name>_get_desc(void);
The reason we change the C structure into function, is that it is
potentially more common to have function pointers, avoiding possible
binding language limitation. Additionally to that. This change prevents
the symbols from clashing between plugins, allowing to build once the
plugin (assuming you have -fPIC).
On the plugin loader side, we symply derive the shared object basename
to extract the plugin name. If this symbol is not found, we fallback to
gst_plugin_desc for backward compatibility.
This has one side effect, which is that the shared objects now need to
be named after their plugin name. This is generally the case with few
exceptions. The benifit of this limitation is that you can control the
gst_plugin_<name>_desc clash at file level.
https://bugzilla.gnome.org/show_bug.cgi?id=779344
Tim-Philipp Müller [Tue, 9 May 2017 08:24:43 +0000 (09:24 +0100)]
meson: fix search path for setcap
Tim-Philipp Müller [Sun, 7 May 2017 10:17:22 +0000 (11:17 +0100)]
debugutils: make local variable static
Tim-Philipp Müller [Fri, 5 May 2017 11:23:43 +0000 (12:23 +0100)]
meson: fail silently in ptp helper post install script
.. in case permissions/capabilities could not be set.
Tim-Philipp Müller [Fri, 5 May 2017 11:02:33 +0000 (12:02 +0100)]
meson: use cc.find_library()
find_library() was deprecated and removed in later versions.
Tim-Philipp Müller [Fri, 5 May 2017 10:49:08 +0000 (11:49 +0100)]
meson: add gst-ptp-helper
https://bugzilla.gnome.org/show_bug.cgi?id=774418
Tim-Philipp Müller [Fri, 5 May 2017 08:10:56 +0000 (09:10 +0100)]
meson: fix indentation
No tabs please.
Tim-Philipp Müller [Thu, 4 May 2017 23:45:06 +0000 (00:45 +0100)]
helpers: remove old cruft from CLEANFILES
These files are no longer built, so no need to clean them.
Tim-Philipp Müller [Sat, 29 Apr 2017 10:30:54 +0000 (11:30 +0100)]
g-i: no need to load registry in g-i scanner
Tim-Philipp Müller [Thu, 4 May 2017 20:37:28 +0000 (21:37 +0100)]
Don't generate gst-element-check-1.0.m4 on the fly and fix meson build
This will interfere with 'git pull'. You will have to remove the
old generated gst-element-check-1.0.m4 manually if you're pulling
on a dirty build directory, sorry.
https://bugzilla.gnome.org/show_bug.cgi?id=782174
Tim-Philipp Müller [Thu, 4 May 2017 20:06:21 +0000 (21:06 +0100)]
meson: install gst-element-check-1.0.m4
https://bugzilla.gnome.org/show_bug.cgi?id=782174
Yasushi SHOJI [Sun, 30 Apr 2017 03:10:49 +0000 (12:10 +0900)]
harness: Abort when failed to construct the specified pipeline
gst_harness_new_parse() returns without any error even if it doesn't
find the specified element. Then a succeeding call to
gst_harness_set_sink_caps_str() causes an error like this:
Unexpected critical/warning: gst_pad_push_event: assertion 'GST_IS_PAD (pad)' failed
This is a bit cryptic and doesn't give users any clue what was going
on.
gst_harness_new_parse() calls gst_harness_add_parse() with a newly
created empty harness and the given pipeline description string, but
gst_harness_add_parse() does not have a way to propagate the error
back to the caller. Since the function, gst_harness_add_parse(), is a
public API, it's not a good idea to change its signature. This patch,
instead, makes the function to g_error() when it discovers any error.
With this change the same error prints:
** (myelement-test:25345): ERROR **: Unable to create pipeline 'bin.( myelement )': no element "myelement"
The current implementation of gst_parse_launch_full() doesn't return
partially constructed pipeline when GST_PARSE_FLAG_FATAL_ERRORS is
specified, however, this patch also adds a check for it.
https://bugzilla.gnome.org/show_bug.cgi?id=781958
Sebastian Dröge [Thu, 4 May 2017 15:59:14 +0000 (18:59 +0300)]
Back to development
Sebastian Dröge [Thu, 4 May 2017 12:36:55 +0000 (15:36 +0300)]
Release 1.12.0
Sebastian Dröge [Thu, 4 May 2017 12:00:16 +0000 (15:00 +0300)]
Update .po files
Sebastian Dröge [Tue, 2 May 2017 11:35:50 +0000 (14:35 +0300)]
message: Don't pass a NULL debug string to g_utf8_validate()
g_utf8_validate() crashes on NULL, but NULL is valid for the debug
string nonetheless.
Sebastian Dröge [Tue, 2 May 2017 11:27:14 +0000 (14:27 +0300)]
adapter: Check if meta transform_func is NULL before using it
https://bugzilla.gnome.org/show_bug.cgi?id=782050
Frédéric Dalleau [Tue, 2 May 2017 08:32:54 +0000 (10:32 +0200)]
basetransform: Check if meta transform_func is NULL before using it
An untested pointer segfaulted in webkit while playing video
on imx6 sabrelite. It turned out that the imx plugin didn't
implement the meta transform function.
The following GST_DEBUG trace was visible:
gstbasetransform.c:1779:foreach_metadata:<conv2> copy metadata
GstImxVpuBufferMetaAPI
Thread 26 vqueue:src received signal SIGSEGV, Segmentation fault.
(gdb) bt
0x00000000 in ?? ()
0x73f8d7d8 in foreach_metadata (inbuf=0xc9b020, meta=0x474b2490,
user_data=<optimized out>) at gstbasetransform.c:1781
0x73eb3ea8 in gst_buffer_foreach_meta (buffer=buffer@entry=0xc9b020,
func=0x73f8d705 <foreach_metadata>,
user_data=user_data@entry=0x474b24d4)
at gstbuffer.c:2234
https://bugzilla.gnome.org/show_bug.cgi?id=782050
Víctor Manuel Jáquez Leal [Fri, 28 Apr 2017 17:43:49 +0000 (19:43 +0200)]
gst: check non-null before dereference
It is possible to use gst_deinit() without registering the base
classes. For example, when using gst_init_get_option_group() and
call the program with an invalid parameter. In that case,
gst_deinit() will lead to a segmentation fault, since there is a
dereference to a pointer that is null.
This patch validates if the type is non-null before dereferencing
it.
https://bugzilla.gnome.org/show_bug.cgi?id=781914
Nicola Murino [Fri, 28 Apr 2017 09:57:41 +0000 (11:57 +0200)]
gst-uninstalled: add opencv to bad libs
https://bugzilla.gnome.org/show_bug.cgi?id=781889
Sebastian Dröge [Thu, 27 Apr 2017 14:24:05 +0000 (17:24 +0300)]
Release 1.11.91
Sebastian Dröge [Thu, 27 Apr 2017 12:48:33 +0000 (15:48 +0300)]
Update .po files
Sebastian Dröge [Thu, 27 Apr 2017 12:21:26 +0000 (15:21 +0300)]
po: Update translations
Tim-Philipp Müller [Mon, 24 Apr 2017 19:27:33 +0000 (20:27 +0100)]
Automatic update of common submodule
From 60aeef6 to 48a5d85
Koop Mast [Fri, 21 Apr 2017 13:04:32 +0000 (15:04 +0200)]
Meson: also build and install gst-stats-1.0 and it's man page.
https://bugzilla.gnome.org/show_bug.cgi?id=781585
Koop Mast [Fri, 21 Apr 2017 13:03:18 +0000 (15:03 +0200)]
Add very simple man page for gst-stats.
https://bugzilla.gnome.org/show_bug.cgi?id=781585
Thibault Saunier [Fri, 21 Apr 2017 13:51:59 +0000 (10:51 -0300)]
doc: Fix some doctsing making GI happy
Thibault Saunier [Thu, 6 Apr 2017 20:51:29 +0000 (17:51 -0300)]
doc: Fix GstChangeState docstring
Sebastian Dröge [Wed, 19 Apr 2017 16:31:38 +0000 (17:31 +0100)]
info: Move debug output in for_each_threshold_by_entry() to TRACE level
It's otherwise appearing many, many times in logs and usually is nothing
you're interested in.
Vincent Penquerc'h [Fri, 31 Mar 2017 11:22:00 +0000 (12:22 +0100)]
tests: fix message leak in seek test
https://bugzilla.gnome.org/show_bug.cgi?id=780757
Yasushi SHOJI [Wed, 29 Mar 2017 10:26:53 +0000 (19:26 +0900)]
basetransform: fix typo in debug log output
This unbalanced closing parenthesis is leftover from the commit
8b739d91e7. It used to wrap the caps but we don't seem to do that in
the current code.
So, just remove it. No functionality has been changed.
https://bugzilla.gnome.org/show_bug.cgi?id=781484
Rico Tzschichholz [Mon, 10 Apr 2017 14:28:57 +0000 (16:28 +0200)]
meson: A couple for GIR-generation fixes
Thibault Saunier [Wed, 12 Apr 2017 12:48:53 +0000 (09:48 -0300)]
meson: Add controller enum file as generated sources
Avoiding build failure like
https://ci.appveyor.com/project/thiblahute/gst-build-ge9m5/build/1.0.2857
Tim-Philipp Müller [Tue, 11 Apr 2017 19:19:03 +0000 (20:19 +0100)]
meson: dist new meson build script
Tim-Philipp Müller [Tue, 11 Apr 2017 19:16:53 +0000 (20:16 +0100)]
controller: include new proxycontrolbinding header
And fix includes in docs to just include the main header (the
include for the proxycontrolbinding was wrong in the docs).
Tim-Philipp Müller [Tue, 11 Apr 2017 19:16:41 +0000 (20:16 +0100)]
.gitignore: ignore more
Olivier Crete [Tue, 11 Apr 2017 15:52:20 +0000 (11:52 -0400)]
meson: Only check the first parameter
https://bugzilla.gnome.org/show_bug.cgi?id=781155
Thibault Saunier [Tue, 11 Apr 2017 13:17:40 +0000 (10:17 -0300)]
meson: Check bison and flex are recent enough
https://bugzilla.gnome.org/show_bug.cgi?id=781155
Tim-Philipp Müller [Mon, 10 Apr 2017 22:48:53 +0000 (23:48 +0100)]
Automatic update of common submodule
From 39ac2f5 to 60aeef6
Olivier Crête [Mon, 10 Apr 2017 16:24:06 +0000 (12:24 -0400)]
value: Accept NULL as a structure
Some GstStructure properties default to NULL, so it should
be a supported value.
With unit test.
Sebastian Dröge [Mon, 10 Apr 2017 11:26:42 +0000 (14:26 +0300)]
controller: Fix build with srcdir!=builddir
Rico Tzschichholz [Mon, 10 Apr 2017 10:52:17 +0000 (13:52 +0300)]
controller: Add missing sources/headers to the GIR build
Sebastian Dröge [Sun, 9 Apr 2017 09:16:39 +0000 (12:16 +0300)]
meson: And actually make the controller mkenums rules work
Sebastian Dröge [Sun, 9 Apr 2017 09:09:33 +0000 (12:09 +0300)]
meson: Add check for glib-mkenums
Sebastian Dröge [Sun, 9 Apr 2017 09:02:43 +0000 (12:02 +0300)]
controller: Generate GLib enums automatically
Tim-Philipp Müller [Tue, 4 Apr 2017 16:53:39 +0000 (17:53 +0100)]
Don't use deprecated g_object_newv()
Use g_object_new() instead which nowadays has a shortcut for the
no-properties check. It still does an extra GType check in the
function guard, but there's a pending patch to remove that
and it's hardly going to be a performance issue in practice,
even less so on a system that's compiled without run-time checks.
Alternative would be to move to the new g_object_new_properties()
with a fallback define for older glib versions, but it makes the
code look more unwieldy and doesn't seem worth it.
Fixes deprecation warnings when building against newer GLib versions.
https://bugzilla.gnome.org/show_bug.cgi?id=780903
Olivier Crête [Fri, 7 Apr 2017 17:49:29 +0000 (13:49 -0400)]
test: Add test for serializing/deserializing NULL strings
Sebastian Dröge [Fri, 7 Apr 2017 13:30:35 +0000 (16:30 +0300)]
Release 1.11.90
Sebastian Dröge [Fri, 7 Apr 2017 12:04:11 +0000 (15:04 +0300)]
Update .po files
Olivier Crête [Wed, 8 Mar 2017 17:09:45 +0000 (12:09 -0500)]
structure: Don't print warning on NULL strings or pointers
Putting NULL for those is a valid serialization for the NULL value.
Sebastian Dröge [Wed, 5 Apr 2017 13:32:38 +0000 (16:32 +0300)]
gst: Use GstClockTimeDiff instead of GstClockTime as type for GST_SECOND and friends
They were (signed!) gint64 before because of G_GINT64_CONSTANT() already
and they are actually used in signed calculations.
With this change we at least ensure that an integer type of the correct
size is used for GI (it was using gint before).
Sebastian Dröge [Wed, 5 Apr 2017 12:46:26 +0000 (15:46 +0300)]
gst: Update some more types and values of combined-flags constants
Sebastian Dröge [Wed, 5 Apr 2017 11:45:00 +0000 (14:45 +0300)]
gst: Cast combined-flags constants to their respective target types
This makes C++ compilers a bit more happy without having the user of the
constants cast. It also provides the correct type information to GI.
https://bugzilla.gnome.org/show_bug.cgi?id=780923
Sebastian Dröge [Wed, 5 Apr 2017 11:42:16 +0000 (14:42 +0300)]
gst: Set values and types for combined-flags constants in GI annotations
Sebastian Dröge [Wed, 5 Apr 2017 11:26:33 +0000 (14:26 +0300)]
value: Properly set value and type for GST_FLAG_SET_MASK_EXACT in GI annotations
Storing a -1 inside an unsigned integer confuses GIR based bindings
generators.
Nicolas Dufresne [Tue, 4 Apr 2017 20:28:45 +0000 (16:28 -0400)]
completion: Try to avoid parsing summary
In GES, the summary refers to options that are only available when built
against gst-valdiate. Those where picked by our regex. This patch add a
initial grep to try and filter-out as best as possible the content to
which we will extract the command list.
Nicolas Dufresne [Tue, 4 Apr 2017 18:25:52 +0000 (14:25 -0400)]
meson: Add bash completion support
Nicolas Dufresne [Tue, 4 Apr 2017 17:42:50 +0000 (13:42 -0400)]
completion: Place the completion helper in libexec
This patch reorganize the bash completion scripts in order to install
the binary helper (gst-completion-helper) in libexec path rather then
share folder. Most Linux hierarchy compliance requires that no binary
executable are placed in share. We also cleanup the unused .pc entries
and remove copy pasted parts of the script. Note that other project
including the common helper, should now use $_GST_HELPER to read
the binary executable gst-completion-helper. This helper is not longer
version, as it is placed in a versionned subfolder
(libexec/gstreamer.10) just like the other helpers (scanner and ptp).
Vincent Penquerc'h [Fri, 31 Mar 2017 10:22:49 +0000 (11:22 +0100)]
gstvalue: fix GstValue leak in structure_field_union_into
https://bugzilla.gnome.org/show_bug.cgi?id=780751
Vincent Penquerc'h [Fri, 31 Mar 2017 09:38:15 +0000 (10:38 +0100)]
streamcollection: fix racy user-after-free
The issue happens when the structure is printed by the logging
subsystem: the object is included in the log, and this will cause the
full object printout to be done there. However, after dispose, the queue
was already cleared, so the access to it (to print the object) would
assert, as the queue was already freed. The patch changes it so that the
queue is merely empty, and only freed in _finalize.
https://bugzilla.gnome.org/show_bug.cgi?id=776293
Tim-Philipp Müller [Mon, 27 Mar 2017 17:30:35 +0000 (18:30 +0100)]
debugutils: add pad EOS flag in pipeline dot file dumps
But only if set. Helps debug issues with EOS propagation.
Tim-Philipp Müller [Mon, 27 Mar 2017 17:27:59 +0000 (18:27 +0100)]
tools: gst-launch: print structure property notifies nicer
One less layer of escaping, but still lots of ugly \.
Nicolas Dufresne [Fri, 24 Mar 2017 18:33:19 +0000 (14:33 -0400)]
Fix win32 libgstreamer.def ordering
This should fix make distcheck
Nicolas Dufresne [Wed, 15 Mar 2017 21:31:39 +0000 (17:31 -0400)]
paramspec: Fix array validation logic
A paramspec validation should modify the content to match what the spec
requires and return TURE if a modification happened. This previous
implementation would only fix the first element of the array and return.
It was also return TRUE for empty array, while no modification was
needed.
https://bugzilla.gnome.org/show_bug.cgi?id=780111
Nicolas Dufresne [Wed, 22 Mar 2017 17:35:32 +0000 (13:35 -0400)]
array/fraction: In param types, use get_type() function directly
The GST_TYPE macro points to global variables initialized by the
first call to get_type. This is not an issue if you call gst_init()
but unfortunatly pygi will need to acces the param type before
init can be called. This removes an assertion.
Nicolas Dufresne [Wed, 22 Mar 2017 17:33:47 +0000 (13:33 -0400)]
fraction/array: Make get_type() thread safe
Those aren't suppose to be called from multiple thread, but all
fundamental get_type() function are thread safe. Fix it to
be consistent and it may help if we change the typing mechanism
in GStreamer come day.