Commit graph

17552 commits

Author SHA1 Message Date
Stefan Sauer
51f74e4825 docs: remove stray ',\' from doc comment 2017-05-12 17:49:25 +02:00
Sebastian Dröge
7d930b8693 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
2017-05-12 11:43:02 +02:00
Tim-Philipp Müller
da1d11be77 meson: bump meson version requirement to 0.40.1 2017-05-09 16:29:21 +01:00
Sebastian Dröge
c77f661f6d 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
2017-05-09 15:01:46 +02:00
Nicolas Dufresne
e7ede5a487 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
2017-05-09 08:48:19 -04:00
Tim-Philipp Müller
04a0eace30 meson: fix search path for setcap 2017-05-09 09:24:43 +01:00
Tim-Philipp Müller
4425f8c368 debugutils: make local variable static 2017-05-07 11:17:22 +01:00
Tim-Philipp Müller
c8f8395f41 meson: fail silently in ptp helper post install script
.. in case permissions/capabilities could not be set.
2017-05-05 12:23:43 +01:00
Tim-Philipp Müller
0d33e8f11d meson: use cc.find_library()
find_library() was deprecated and removed in later versions.
2017-05-05 12:02:33 +01:00
Tim-Philipp Müller
dcfb222e05 meson: add gst-ptp-helper
https://bugzilla.gnome.org/show_bug.cgi?id=774418
2017-05-05 11:49:08 +01:00
Tim-Philipp Müller
426164348a meson: fix indentation
No tabs please.
2017-05-05 09:10:56 +01:00
Tim-Philipp Müller
cccd76aa99 helpers: remove old cruft from CLEANFILES
These files are no longer built, so no need to clean them.
2017-05-05 00:45:27 +01:00
Tim-Philipp Müller
3d8d81ecb7 g-i: no need to load registry in g-i scanner 2017-05-04 21:59:48 +01:00
Tim-Philipp Müller
1b9aa6f70d 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
2017-05-04 21:49:48 +01:00
Tim-Philipp Müller
ecb0228cf0 meson: install gst-element-check-1.0.m4
https://bugzilla.gnome.org/show_bug.cgi?id=782174
2017-05-04 21:06:21 +01:00
Yasushi SHOJI
5d40e49d12 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
2017-05-04 19:48:33 +01:00
Sebastian Dröge
b7062aafc0 Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge
7854a65978 Release 1.12.0 2017-05-04 15:36:55 +03:00
Sebastian Dröge
d307d8d333 Update .po files 2017-05-04 15:00:16 +03:00
Sebastian Dröge
cd3a49b69b 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.
2017-05-02 14:35:50 +03:00
Sebastian Dröge
733de3190b adapter: Check if meta transform_func is NULL before using it
https://bugzilla.gnome.org/show_bug.cgi?id=782050
2017-05-02 14:27:14 +03:00
Frédéric Dalleau
ca7fa6a661 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
2017-05-02 14:26:21 +03:00
Víctor Manuel Jáquez Leal
d108ed2251 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
2017-04-28 21:01:43 +02:00
Nicola Murino
46e8be110d gst-uninstalled: add opencv to bad libs
https://bugzilla.gnome.org/show_bug.cgi?id=781889
2017-04-28 12:20:19 +01:00
Sebastian Dröge
a0d2f0a464 Release 1.11.91 2017-04-27 17:24:05 +03:00
Sebastian Dröge
cfe9979bb0 Update .po files 2017-04-27 15:48:33 +03:00
Sebastian Dröge
57f6ed51cc po: Update translations 2017-04-27 15:21:26 +03:00
Tim-Philipp Müller
2c23b9e080 Automatic update of common submodule
From 60aeef6 to 48a5d85
2017-04-24 20:27:33 +01:00
Koop Mast
97cacb78e3 Meson: also build and install gst-stats-1.0 and it's man page.
https://bugzilla.gnome.org/show_bug.cgi?id=781585
2017-04-21 10:55:55 -03:00
Koop Mast
8b06627df9 Add very simple man page for gst-stats.
https://bugzilla.gnome.org/show_bug.cgi?id=781585
2017-04-21 10:55:55 -03:00
Thibault Saunier
b15d59b53c doc: Fix some doctsing making GI happy 2017-04-21 10:51:59 -03:00
Thibault Saunier
e6db45a8af doc: Fix GstChangeState docstring 2017-04-20 17:58:08 -03:00
Sebastian Dröge
04676df4a8 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.
2017-04-19 17:32:17 +01:00
Vincent Penquerc'h
8d32fbb714 tests: fix message leak in seek test
https://bugzilla.gnome.org/show_bug.cgi?id=780757
2017-04-19 13:39:46 +01:00
Yasushi SHOJI
c423df49af 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
2017-04-19 09:21:32 +01:00
Rico Tzschichholz
72e42f0ce9 meson: A couple for GIR-generation fixes 2017-04-13 10:05:53 +01:00
Thibault Saunier
15566bf505 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
2017-04-12 10:03:29 -03:00
Tim-Philipp Müller
d238c74265 meson: dist new meson build script 2017-04-11 20:19:03 +01:00
Tim-Philipp Müller
89ce63ee6c 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).
2017-04-11 20:18:29 +01:00
Tim-Philipp Müller
02f23fc126 .gitignore: ignore more 2017-04-11 20:16:41 +01:00
Olivier Crete
7c01da8476 meson: Only check the first parameter
https://bugzilla.gnome.org/show_bug.cgi?id=781155
2017-04-11 13:24:45 -03:00
Thibault Saunier
57fd614e02 meson: Check bison and flex are recent enough
https://bugzilla.gnome.org/show_bug.cgi?id=781155
2017-04-11 10:59:34 -03:00
Tim-Philipp Müller
4903de249d Automatic update of common submodule
From 39ac2f5 to 60aeef6
2017-04-10 23:48:53 +01:00
Olivier Crête
dd1f0f49ab value: Accept NULL as a structure
Some GstStructure properties default to NULL, so it should
be a supported value.

With unit test.
2017-04-10 12:37:12 -04:00
Sebastian Dröge
9a04087347 controller: Fix build with srcdir!=builddir 2017-04-10 14:26:42 +03:00
Rico Tzschichholz
f34c8aac4d controller: Add missing sources/headers to the GIR build 2017-04-10 13:52:41 +03:00
Sebastian Dröge
1365e675c6 meson: And actually make the controller mkenums rules work 2017-04-09 12:16:39 +03:00
Sebastian Dröge
dc71c4a477 meson: Add check for glib-mkenums 2017-04-09 12:09:33 +03:00
Sebastian Dröge
c7cc48b42e controller: Generate GLib enums automatically 2017-04-09 12:06:55 +03:00
Tim-Philipp Müller
519d64881f 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
2017-04-08 09:49:59 +01:00