summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorStéphane Cerveau <scerveau@collabora.com>2020-07-16 13:18:38 +0200
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-12-11 12:50:16 +0000
commitb6f61768d381b91ce7cb9c0a568a524e85ce20cb (patch)
tree4f20945361fa5fef7f73c28959aab02b15b093e2 /README.md
parentf0210bf92e4b957b8b9873a7fa211500189ca08c (diff)
downloadgstreamer-b6f61768d381b91ce7cb9c0a568a524e85ce20cb.tar.gz
gst-full: add 'gst-full-' features options
These options allow to select a set of features from a given plugin with the following syntax: -Dgst-full-plugins=plugin1;plugin10 -Dgst-full-elements=plugin2:element1,element2 -Dgst-full-typefind-functions=plugins3:func -Dgst-full-device-providers=plugin4,dp1 -Dgst-full-dynamic-types=plugin5:dt1 By default all the enabled plugin are registered and gst-full-plugins will allow to include only a set of plugin If a feature(element, typefind etc.) is selected from a plugin, the plugin is removed from the plugins list. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/199>
Diffstat (limited to 'README.md')
-rw-r--r--README.md27
1 files changed, 27 insertions, 0 deletions
diff --git a/README.md b/README.md
index 05e4c9def2..ba62f4996e 100644
--- a/README.md
+++ b/README.md
@@ -138,6 +138,33 @@ the gstreamer-full library, allowing the linker to garbage collect unused code
and so reduce the total library size. A default script `gstreamer-full-default.map`
declares only glib/gstreamer symbols as public.
+One can use the `gst-full-plugins` option to pass a list of plugins to be registered
+in the gstreamer-full library. The default value is '*' which means that all the plugins selected
+during the build process will be registered statically. An empty value will prevent any plugins to
+be registered.
+
+One can select a specific set of features with `gst-full-elements`, `gst-full-typefind-functions`, `gst-full-device-providers` or `gst-full-dynamic-types` to select specific feature from a plugin.
+When a feature has been listed in one of those options, the other features from its plugin will no longer be automatically included, even if the plugin is listed in `gst-full-plugins`.
+
+The user must insure that all selected plugins and features (element, typefind, etc.) have been
+enabled during the build configuration.
+
+To register features, the syntax is the following:
+plugins are separated by ';' and features from a plugin starts after ':' and are ',' separated.
+
+As an example:
+ * `-Dgst-full-plugins=coreelements;playback;typefindfunctions;alsa;pbtypes`: enable only `coreelements`, `playback`, `typefindfunctions`, `alsa`, `pbtypes` plugins.
+ * `-Dgst-full-elements=coreelements:filesrc,fakesink,identity;alsa:alsasrc`: enable only `filesrc`, `identity` and `fakesink` elements from `coreelements` and `alsasrc` element from `alsa` plugin.
+ * `-Dgst-full-typefind-functions=typefindfunctions:wav,flv`: enable only typefind func `wav` and `flv` from `typefindfunctions`
+ * `-Dgst-full-device-providers=alsa:alsadeviceprovider`: enable `alsadeviceprovider` from `alsa`.
+ * `-Dgst-full-dynamic-types=pbtypes:video_multiview_flagset`: enable `video_multiview_flagset` from `pbtypes
+
+All features from the `playback` plugin will be enabled and the other plugins will be restricted to the specific features requested.
+
+All the selected features will be registered into a dedicated `NULL` plugin name.
+
+This will cause the features/plugins that are not registered to not be included in the final gstreamer-full library.
+
This is an experimental feature, backward uncompatible changes could still be
made in the future.