Commit graph

119 commits

Author SHA1 Message Date
Olivier Crête
b4ba9ec089 systemclock: No need to check for CLOCK_TAI in the meson
POSIX defines CLOCK_MONOTONIC to always be a macro, so I think
it's safe to assume that CLOCK_TAI will also be.
2020-01-27 17:16:14 +00:00
Ederson de Souza
216d6dd0f0 GstSystemClock: Add GST_CLOCK_TYPE_TAI
GST_CLOCK_TYPE_TAI is GStreamer abstraction for CLOCK_TAI. Main
motivation for this patch is support for transmission offloading features
- when network packets are timestamped with the time they are deemed to
be actually transmitted. Linux API for that requires that time to be
in CLOCK_TAI coordinate.

With GST_CLOCK_TYPE_TAI, applications can use CLOCK_TAI directly on
their pipelines, avoiding the need to cross timestamp packet times. By
leveraging system's CLOCK_TAI, applications also don't need to keep track
of leap seconds - less burden for them. Just keep system's CLOCK_TAI
accurate and use it.
2020-01-27 17:16:14 +00:00
Tim-Philipp Müller
35db4a2433 meson: build gir even when cross-compiling if introspection was enabled explicitly
This can be made to work in certain circumstances when
cross-compiling, so default to not building g-i stuff
when cross-compiling, but allow it if introspection was
enabled explicitly via -Dintrospection=enabled.

Fixes #454 and #381.
2019-10-17 19:54:21 +01:00
Sebastian Dröge
533fbf766e registry: Use plugin directory from the build system for relocateable Windows builds
Instead of guessing something based on preprocessor defines and magic.
2019-08-09 07:22:38 +00:00
Nirbheek Chauhan
4ba6898f24 gstinfo: Rework stack trace detection a bit
Ensure that the code paths for HAVE_UNWIND and HAVE_DBGHELP are never
taken at the same time, even if the build file code changes.

Prefer DbgHelp over libunwind on Windows in case both are somehow
available because DbgHelp is only available when building with the
MSVC toolchain, and libunwind won't give us debug symbols from objects
built with the MSVC toolchain.

Also, print slightly more useful messages for the level of stack trace
support enabled, and document what each if conditional does.
2019-07-01 10:36:09 +00:00
Niels De Graef
56d19cbf75 meson: Bump minimal GLib version to 2.44
This means we can use some newer features and get rid of some
boilerplate code using the `G_DECLARE_*` macros.

As discussed on IRC, 2.44 is old enough by now to start depending on it.
2019-06-03 08:51:40 +02:00
Thibault Saunier
a0c65067e0 Port to hotdoc 2019-05-13 16:34:09 -04:00
Thibault Saunier
781ad55f68 doc: Remove gtk-doc support 2019-05-13 11:33:49 -04:00
Tim-Philipp Müller
3124cd602e Back to development 2019-04-19 11:00:06 +01:00
Tim-Philipp Müller
89c221a697 Release 1.16.0 2019-04-19 00:15:22 +01:00
Tim-Philipp Müller
cd7075dcc2 Release 1.15.90 2019-04-11 00:19:12 +01:00
Tim-Philipp Müller
a7db80f9a9 g-i: pass --quiet to g-ir-scanner
This suppresses the annoying 'g-ir-scanner: link: cc ..' output
that we get even if everything works just fine.

We still get g-ir-scanner warnings and compiler warnings if
we pass this option.
2019-03-23 18:31:42 +00:00
Tim-Philipp Müller
fda27c18fa g-i: silence 'nested extern' compiler warnings when building scanner binary
We need a nested extern in our init section for the scanner binary
so we can call gst_init to make sure GStreamer types are initialised
(they are not all lazy init via get_type functions, but some are in
exported variables). There doesn't seem to be any other mechanism to
achieve this, so just remove that warning, it's not important at all.
2019-03-23 17:53:54 +00:00
Tim-Philipp Müller
673ccfde8b Back to development 2019-03-04 09:01:07 +00:00
Tim-Philipp Müller
0dd0a29c02 Release 1.15.2 2019-02-26 13:24:28 +00:00
Mathieu Duponchelle
57cefb5932 gstinfo: add Windows stacktraces support
This uses the DbgHelp library if available
2019-01-28 14:29:23 +00:00
Seungha Yang
600f4fb65b meson: Correct minimum required GLib version
It's updated to 2.40.0 since the commit 3e8ef4cf5a
2019-01-22 09:04:56 +00:00
Tim-Philipp Müller
6ea4380230 Release 1.15.1 2019-01-17 01:39:04 +00:00
Nicolas Dufresne
e501e2f5c9 libdw support is optional
This was no longer optional, leading to deadcode. This regression was
found trying to fix the unwind variant in cerbero.
2018-11-29 20:56:10 -05:00
Matthew Waters
874ad5faca meson: generate pkg-config files for our plugins 2018-11-05 15:18:41 +00:00
Tim-Philipp Müller
8f761cd711 meson: use new 'python' module instead of deprecated 'python3' one
https://github.com/mesonbuild/meson/pull/4169
2018-10-07 19:58:47 +01:00
Tim-Philipp Müller
57c8e0146f libs: figure out right export define in configure
Add new GST_API_EXPORT in config.h and use that for GST_*_API
decorators instead of GST_EXPORT.

The right export define depends on the toolchain and whether
we're using -fvisibility=hidden or not, so it's better to set it
to the right thing directly than hard-coding a compiler whitelist
in the public header.

We put the export define into config.h instead of passing it via the
command line to the compiler because it might contain spaces and brackets
and in the autotools scenario we'd have to pass that through multiple
layers of plumbing and Makefile/shell escaping and we're just not going
to be *that* lucky.

The export define is only used if we're compiling our lib, not by external
users of the lib headers, so it's not a problem to put it into config.h

Also, this means all .c files of libs need to include config.h
to get the export marker defined, so fix up a few that didn't
include config.h.

This commit depends on a common submodule commit that makes gst-glib-gen.mak
add an #include "config.h" to generated enum/marshal .c files for the
autotools build.

https://bugzilla.gnome.org/show_bug.cgi?id=797185
2018-09-24 08:39:37 +01:00
Seungha Yang
54e498f2d5 meson: Specify encoding to UTF-8 when building with MSVC
Fix build on some non-US locale Windows systems

Error:
  gstreamer/gst/gstdebugutils.c(194): error C2001

https://bugzilla.gnome.org/show_bug.cgi?id=797186
2018-09-21 18:37:09 +01:00
Tim-Philipp Müller
09dac522ca meson: add glib-checks option to disable API guards and such
We want this enabled by default, also in releases, but people
may want to disable this for performance-critical workloads or
on embedded devices.
2018-09-19 11:32:16 +01:00
Nirbheek Chauhan
c389c59b22 meson: Maintain macOS ABI through dylib versioning
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.

Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
2018-08-31 14:40:14 +05:30
Nirbheek Chauhan
0a84fae16c meson: host_system is 'ios' when building for iOS
The cross file sets this value, and we use 'ios' in Cerbero.
2018-08-17 02:55:43 +05:30
Tim-Philipp Müller
fffc312893 meson: add options to disable gobject cast checks and glib asserts
And match what we do for autotools here currently.
2018-08-11 18:17:29 +01:00
Tim-Philipp Müller
e839f312fe meson: define G_DISABLE_DEPRECATED for development versions
Like in autotools.
2018-08-10 09:22:51 +01:00
Tim-Philipp Müller
fcbd110810 meson: add memory-alignment option 2018-08-10 00:34:29 +01:00
Tim-Philipp Müller
d11450f238 meson: add option to disable command-line option parsing 2018-08-10 00:18:55 +01:00
Tim-Philipp Müller
e5ad55d649 meson: add options to disable tests, examples, benchmarks and tools
And remove duplicate option 'poisoning' and unused 'build_tools' one.
2018-08-09 23:32:49 +01:00
Tim-Philipp Müller
69400c9fcf meson: fix setting of extra checks option
It's checked for with #ifdef so setting it to 0 or 1
will always enable it.
2018-08-03 10:36:21 +01:00
Tim-Philipp Müller
463663d4b4 meson: add option to enable poisoning of deallocated objects 2018-08-03 10:35:07 +01:00
Nirbheek Chauhan
09f67fe76a meson: Add feature options for optional deps
Everything should be behind an option now.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 16:14:29 +05:30
Nicolas Dufresne
ac83e18323 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()
2018-07-25 18:51:58 -04:00
Nirbheek Chauhan
c80a1fd64c meson: host_machine.system() is darwin even on iOS
Also use host_system everywhere.
2018-07-25 16:02:06 +05:30
Nirbheek Chauhan
054fa3aa2e meson: Use new define_variable: feature instead of run_command() 2018-07-25 14:25:59 +05:30
Nirbheek Chauhan
6935d3f1db meson: Small cleanup, unused variable 2018-07-25 14:25:59 +05:30
Nirbheek Chauhan
415e0e68af meson: Use copy: true for configure_file()
Fixes a warning.
2018-07-25 14:25:59 +05:30
Thibault Saunier
cc869065a5 meson: Add an option to activate extra checks
And activate them by default as with autotools
2018-05-22 16:31:21 +02:00
Tim-Philipp Müller
724cc53b28 meson: rename gtkdoc option to gtk_doc 2018-05-21 23:10:21 +01:00
Tim-Philipp Müller
661490d60d meson: add 'nls' option to disable translations
And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.
2018-05-20 14:07:39 +01:00
Nirbheek Chauhan
4fb02fc85b 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.
2018-05-05 20:30:43 +05:30
Xavier Claessens
b00b1d5361 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
2018-04-25 00:40:30 +01:00
Xavier Claessens
ca3698b9c1 Meson: Fix check for linker args
https://bugzilla.gnome.org/show_bug.cgi?id=795513
2018-04-25 00:40:30 +01:00
Tim-Philipp Müller
a7aeaca772 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
2018-04-20 12:30:24 +01:00
Tim-Philipp Müller
63e71468d4 meson: bump meson req for gnome.mkenums_simple() 2018-03-22 13:00:21 +00:00
Alessandro Decina
cf2be53b24 meson: use gnome.mkenums_simple() to generate controller enumtypes 2018-03-22 12:50:24 +00:00
Tim-Philipp Müller
b405b35f8c Back to development 2018-03-20 09:02:34 +00:00
Tim-Philipp Müller
80e0e90d00 Release 1.14.0 2018-03-19 20:09:55 +00:00