Commit graph

127 commits

Author SHA1 Message Date
Tim-Philipp Müller
a561b1bd86 Use g_memdup2() where available and add fallback for older GLib versions
g_memdup() is deprecated since GLib 2.68 and we want to avoid
deprecation warnings with recent versions of GLib.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2280>
2021-08-05 20:51:00 +05:30
Tim-Philipp Müller
cbe89db444 Back to development 2021-06-01 15:49:48 +01:00
Tim-Philipp Müller
6d9125f01c Release 1.19.1 2021-06-01 00:14:24 +01:00
Nirbheek Chauhan
9344403cfb meson: Enable some MSVC warnings for parity with GCC/Clang
This makes it easier to do development with MSVC by making it warn
on common issues that GCC/Clang error out for in our CI configuration.

Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1760>
2020-11-05 01:42:48 +05:30
Xavier Claessens
2efb4a7adb Meson: Use pkg-config generator 2020-10-23 11:14:18 -04:00
Stéphane Cerveau
cbd61e28b2 meson: update glib minimum version to 2.56
In order to support the symbol g_enum_to_string in various
project using GStreamer ( gst-validate etc.), the glib minimum
version should be 2.56.0.

Remove compat code as glib requirement
is now > 2.56

Version used by Ubuntu 18.04 LTS

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1695>
2020-10-16 09:16:34 +00:00
Emmanuel Gil Peyrot
f97b718b4c waylandsink: Use memfd_create() when available
This (so-far) Linux- and FreeBSD-only API lets users create file
descriptors purely in memory, without any backing file on the filesystem
and the race condition which could ensue when unlink()ing it.

It also allows seals to be placed on the file, ensuring to every other
process that we won’t be allowed to shrink the contents, potentially
causing a SIGBUS when they try reading it.

This patch is best viewed with the -w option of git log -p.

It is an almost exact copy of Wayland commit
6908c8c85a2e33e5654f64a55cd4f847bf385cae, see
https://gitlab.freedesktop.org/wayland/wayland/merge_requests/4

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1577>
2020-09-15 19:17:12 +00:00
Tim-Philipp Müller
9b082e7467 Back to development 2020-09-08 16:58:50 +01:00
Tim-Philipp Müller
7cb583bb04 Release 1.18.0 2020-09-08 00:07:47 +01:00
Tim-Philipp Müller
1919a8873e meson: dist pot file in tarball
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1558>
2020-09-07 22:48:27 +01:00
Tim-Philipp Müller
29e969493b Release 1.17.90 2020-08-20 16:14:25 +01:00
Matthew Waters
d1667da0c3 build: update for gl pkg-config file split
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1462>
2020-08-07 20:22:41 +10:00
Nirbheek Chauhan
2881f6d728 meson: Only look for Obj-C/C++ compilers on macOS/iOS
On Windows, MinGW-GCC Objective-C/C++ compilers can be in PATH and
mess up the build since they may not match the CPU family of the C/C++
compilers we are using.

Also require them on macOS/iOS, because they should always be present.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-build/-/issues/88

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1488>
2020-08-04 10:43:13 +00:00
Stéphane Cerveau
64cc3b77b1 meson: add a plugin summary
This summary displays a list of plugins which
have been enabled.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1460>
2020-07-23 17:37:38 +00:00
Tim-Philipp Müller
5247e2319c meson: set release date from .doap file for releases
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1420>
2020-07-08 19:14:24 +00:00
Tim-Philipp Müller
4c4b3dfc76 meson: Fix up update-orc-dist target for the case where there are no orc targets
All those plugins might have been disabled, in which case meson
would complain about alias_target() needing at least two arguments.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1418>
2020-07-08 11:39:58 +01:00
Tim-Philipp Müller
7b2c3a984c meson: add update-orc-dist target
Add target to update backup orc -dist.[ch] files.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1408>
2020-07-04 15:05:23 +01:00
Tim-Philipp Müller
890df7ac8c Back to development 2020-07-03 02:03:56 +01:00
Tim-Philipp Müller
1408ffc6fa Release 1.17.2 2020-07-03 00:31:19 +01:00
Tim-Philipp Müller
b5f7f8174f Back to development 2020-06-20 00:28:22 +01:00
Tim-Philipp Müller
88ace3befb Release 1.17.1 2020-06-19 19:22:22 +01:00
Nirbheek Chauhan
e3d5849225 meson: Pass native: false to add_languages()
This is needed for cross-compiling without a build machine compiler
available. The option was added in 0.54, but we only need this in
Cerbero and it doesn't affect older versions so it should be ok.
Will only cause a spurious warning.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1266>
2020-05-13 13:59:36 +05:30
Xavier Claessens
b462870094 Meson: Change extra-checks to feature option and make it yielding 2020-04-08 18:51:12 +00:00
Nirbheek Chauhan
387b6df948 meson: Don't use get_option('buildtype')
We should directly check the values of the `debug` and `optimization`
options instead.

`get_option('buildtype')` will return `'custom'` for most combinations
of `-Doptimization` and `-Ddebug`, but those two will always be set
correctly if only `-Dbuildtype` is set. So we should look at those
options directly.

For the two-way mapping between `buildtype` and `optimization`
+ `debug`, see this table:
https://mesonbuild.com/Builtin-options.html#build-type-options
2020-04-03 17:07:47 +05:30
Matthew Waters
526afac736 vtdec: add support for outputing vulkan images 2019-12-09 01:49:31 +00:00
Matthew Waters
a9a2c3d67a build: use -fvisibility=hidden for objc code 2019-12-03 10:17:29 +00:00
Matthew Waters
24d096597b vulkan: implement caching and reuse of a couple of vulkan resources
Includes a new GstVulkanHandlePool base class for pooling different
resources togther.  The descriptor cache object is ported to
GstVulkanHandlePool with the exact same functionality.

A new GstVulkanFenceCache is also implemented for caching fences
which is used internally by GstVulkanDevice for creating or reusing
fences.

The existing GstVulkanTrashFenceList object now caches trash objects.
2019-11-28 23:27:21 +00:00
Jan Schmidt
c0561fb916 meson: Fix plugin symbol export for C++ sources/plugins
The symbol visibility=hidden flag was only being applied to C
compilation, so plugins implemented in C++ would leak extra symbols
than the 2 _get_desc() and _register().

That also showed that the gst-libs opencv C++ lib was not marking
symbols for export correctly because the BUILDING_GST_OPENCV define
wasn't in the C++ args, so fix that too.
2019-11-12 13:00:42 +00:00
Tim-Philipp Müller
97a4d0cd7d 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.

See gstreamer/gstreamer#454 and gstreamer/gstreamer#381.
2019-10-18 00:39:12 +01:00
Saunier Thibault
7a66b16d97 Import GstTranscoder 2019-08-28 13:02:13 +00:00
Niels De Graef
da085a3713 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-02 21:25:24 +02:00
Thibault Saunier
47a49f3381 docs: Build documentation with hotdoc 2019-05-13 17:00:00 -04:00
Tim-Philipp Müller
f691c46e1c Back to development 2019-04-19 11:00:07 +01:00
Tim-Philipp Müller
5fde70bb63 Release 1.16.0 2019-04-19 00:28:58 +01:00
Tim-Philipp Müller
9f1242ae02 Release 1.15.90 2019-04-11 00:32:42 +01:00
Tim-Philipp Müller
35cdefe2e0 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:58:06 +00:00
Tim-Philipp Müller
cacd51fa93 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 18:57:24 +00:00
Tim-Philipp Müller
8fd04194a9 meson: add -Wno-unused also to C++ args when gst debug system is disabled 2019-03-21 11:45:06 +00:00
Tim-Philipp Müller
df4205d30f Back to development 2019-03-04 09:11:56 +00:00
Tim-Philipp Müller
ba62917fbf Release 1.15.2 2019-02-26 11:53:24 +00:00
Seungha Yang
a9c61e467a meson: Add support orc fallback
Allow fallback to orc subproject if any, and add missing orc version check.
Additionally 'dependencies' keyword is removed from find_library,
because it's invalid keyword for find_library.
2019-01-30 19:55:05 +09:00
Tim-Philipp Müller
c68fe0b365 meson: detect opengl api from -base .pc files correctly
There was a mismatch between the .pc files generated by
autotools and by meson that would lead to meson not detecting
that opengl api is available even though it is. This could
lead to build failures when building -bad with meson against
a -base that was built with autotools. The mismatch has now
been rectified but we will still check the old one for backwards
compatibility.
2019-01-22 12:52:25 +00:00
Tim-Philipp Müller
33701d7899 meson: remove some cruft 2019-01-22 12:41:00 +00:00
Tim-Philipp Müller
a60056c6b0 Release 1.15.1 2019-01-17 02:16:59 +00:00
Seungha Yang
1b0b2c37cc meson: Prefer to use join_paths() over '/'
... to avoid mixing '/' and '\' in a path string on Windows.
2018-12-18 16:48:17 +00:00
Seungha Yang
f74ad82ddc tests: Enable unit test on Windows
Allow run some unit tests on Windows.
* Add dependency explicitly for some test cases, otherwise plugins couldn't be
  loaded on uninstalled environment of Windows.
* Add missing GST_PLUGIN_LOADING_WHITELIST on meson build.
2018-12-18 16:48:17 +00:00
Tim-Philipp Müller
6ca10c633d Remove acmmp3dec and acmenc plugins
ACM is an ancient legacy API, and there's no point in
keeping it around for a licensed mp3 decoder now that
mp3 patents have expired and we have a decoder in -good.

We didn't ship this in cerbero anyway. If there's a good
case for the AAC encoder (which is LC only anyway) someone
should write a new plugin based on current APIs, that can
actually be built out of the box.

Fixes #850
2018-12-18 10:06:59 +00:00
Tim-Philipp Müller
0be8a5f8f4 meson: build voamrwbenc plugin 2018-12-17 09:12:53 +00:00
Seungha Yang
4de06ea12c meson: Specify encoding to UTF-8 when building with MSVC
Use build arguments consistent with core and -base. This can also
remove noisy "C4819" warning of non-us locale MSVC.
2018-11-24 19:26:30 +09:00
Matthew Waters
c78f81f410 build: link against the gnustl dependency on android for c++ plugins 2018-11-12 21:37:07 +11:00