mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-06-08 09:09:26 +00:00
Update README.md now that all modules have been merged in gstreamer
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/891>
This commit is contained in:
parent
fba2402ac3
commit
f33e6655a3
86
README.md
86
README.md
|
@ -1,13 +1,31 @@
|
||||||
# gst-build
|
# GStreamer
|
||||||
|
|
||||||
GStreamer [meson](http://mesonbuild.com/) based repositories aggregrator.
|
This is GStreamer, a framework for streaming media.
|
||||||
|
|
||||||
Check out this module and run meson on it, and it will git clone the other
|
## Where to start
|
||||||
GStreamer modules as [meson subprojects](http://mesonbuild.com/Subprojects.html)
|
|
||||||
and build everything in one go. Once that is done you can switch into an
|
We have a website at
|
||||||
development environment which allows you to easily develop and test the latest
|
|
||||||
version of GStreamer without the need to install anything or touch an existing
|
https://gstreamer.freedesktop.org
|
||||||
GStreamer system installation.
|
|
||||||
|
Our documentation, including tutorials, API reference and FAQ can be found at
|
||||||
|
|
||||||
|
https://gstreamer.freedesktop.org/documentation/
|
||||||
|
|
||||||
|
You can subscribe to our mailing lists:
|
||||||
|
|
||||||
|
https://lists.freedesktop.org/mailman/listinfo/gstreamer-announce
|
||||||
|
|
||||||
|
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
|
||||||
|
|
||||||
|
We track bugs, feature requests and merge requests (patches) in GitLab at
|
||||||
|
|
||||||
|
https://gitlab.freedesktop.org/gstreamer/
|
||||||
|
|
||||||
|
You can join us on IRC - #gstreamer on irc.freenode.org
|
||||||
|
|
||||||
|
This repository contains all official modules supported by the GStreamer
|
||||||
|
community which can be found in the `subprojects/` directory.
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
|
@ -172,7 +190,7 @@ made in the future.
|
||||||
|
|
||||||
## Development environment target
|
## Development environment target
|
||||||
|
|
||||||
gst-build also contains a special `devenv` target that lets you enter an
|
GStreamer also contains a special `devenv` target that lets you enter an
|
||||||
development environment where you will be able to work on GStreamer
|
development environment where you will be able to work on GStreamer
|
||||||
easily. You can get into that environment running:
|
easily. You can get into that environment running:
|
||||||
|
|
||||||
|
@ -181,12 +199,12 @@ ninja -C builddir devenv
|
||||||
```
|
```
|
||||||
|
|
||||||
If your operating system handles symlinks, built modules source code will be
|
If your operating system handles symlinks, built modules source code will be
|
||||||
available at the root of `gst-build/` for example GStreamer core will be in
|
available at the root for example GStreamer core will be in
|
||||||
`gstreamer/`. Otherwise they will be present in `subprojects/`. You can simply
|
`gstreamer/`. Otherwise they will be present in `subprojects/`. You can simply
|
||||||
hack in there and to rebuild you just need to rerun `ninja -C builddir`.
|
hack in there and to rebuild you just need to rerun `ninja -C builddir`.
|
||||||
|
|
||||||
NOTE: In the development environment, a fully usable prefix is also configured
|
NOTE: In the development environment, a fully usable prefix is also configured
|
||||||
in `gst-build/prefix` where you can install any extra dependency/project.
|
in `gstreamer/prefix` where you can install any extra dependency/project.
|
||||||
|
|
||||||
An external script can be run in development environment with:
|
An external script can be run in development environment with:
|
||||||
|
|
||||||
|
@ -194,26 +212,6 @@ An external script can be run in development environment with:
|
||||||
./gst-env.py external_script.sh
|
./gst-env.py external_script.sh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Update git subprojects
|
|
||||||
|
|
||||||
We added a special `update` target to update subprojects (it uses `git pull
|
|
||||||
--rebase` meaning you should always make sure the branches you work on are
|
|
||||||
following the right upstream branch, you can set it with `git branch
|
|
||||||
--set-upstream-to origin/master` if you are working on `gst-build` master
|
|
||||||
branch).
|
|
||||||
|
|
||||||
Update all GStreamer modules and rebuild:
|
|
||||||
|
|
||||||
```
|
|
||||||
ninja -C builddir update
|
|
||||||
```
|
|
||||||
|
|
||||||
Update all GStreamer modules without rebuilding:
|
|
||||||
|
|
||||||
```
|
|
||||||
ninja -C builddir git-update
|
|
||||||
```
|
|
||||||
|
|
||||||
## Custom subprojects
|
## Custom subprojects
|
||||||
|
|
||||||
We also added a meson option, `custom_subprojects`, that allows the user
|
We also added a meson option, `custom_subprojects`, that allows the user
|
||||||
|
@ -264,8 +262,8 @@ GST_CHECKS=test_subbuffer meson test -C builddir --suite gstreamer gst_gstbuffer
|
||||||
|
|
||||||
## Optional Installation
|
## Optional Installation
|
||||||
|
|
||||||
`gst-build` has been created primarily for [development usage](#development-environment-target),
|
You can also install everything that is built into a predetermined prefix like
|
||||||
but you can also install everything that is built into a predetermined prefix like so:
|
so:
|
||||||
|
|
||||||
```
|
```
|
||||||
meson --prefix=/path/to/install/prefix builddir
|
meson --prefix=/path/to/install/prefix builddir
|
||||||
|
@ -277,23 +275,6 @@ Note that the installed files have `RPATH` stripped, so you will need to set
|
||||||
`LD_LIBRARY_PATH`, `DYLD_LIBRARY_PATH`, or `PATH` as appropriate for your
|
`LD_LIBRARY_PATH`, `DYLD_LIBRARY_PATH`, or `PATH` as appropriate for your
|
||||||
platform for things to work.
|
platform for things to work.
|
||||||
|
|
||||||
## Checkout another branch using worktrees
|
|
||||||
|
|
||||||
If you need to have several versions of GStreamer coexisting (eg. `master` and `1.16`),
|
|
||||||
you can use the `gst-worktree.py` script provided by `gst-build`. It allows you
|
|
||||||
to create a new `gst-build` environment with new checkout of all the GStreamer modules as
|
|
||||||
[git worktrees](https://git-scm.com/docs/git-worktree).
|
|
||||||
|
|
||||||
For example to get a fresh checkout of `gst-1.16` from a `gst-build` repository
|
|
||||||
that is checked out at master, you can run:
|
|
||||||
|
|
||||||
```
|
|
||||||
./gst-worktree.py add gst-build-1.16 origin/1.16
|
|
||||||
```
|
|
||||||
|
|
||||||
This will create a new ``gst-build-1.16`` directory pointing to the given branch `1.16`
|
|
||||||
for all the subprojects (gstreamer, gst-plugins-base, etc.)
|
|
||||||
|
|
||||||
|
|
||||||
## Add information about GStreamer development environment in your prompt line
|
## Add information about GStreamer development environment in your prompt line
|
||||||
|
|
||||||
|
@ -301,7 +282,10 @@ for all the subprojects (gstreamer, gst-plugins-base, etc.)
|
||||||
|
|
||||||
We automatically handle `bash` and set `$PS1` accordingly.
|
We automatically handle `bash` and set `$PS1` accordingly.
|
||||||
|
|
||||||
If the automatic `$PS1` override is not desired (maybe you have a fancy custom prompt), set the `$GST_BUILD_DISABLE_PS1_OVERRIDE` environment variable to `TRUE` and use `$GST_ENV` when setting the custom prompt, for example with a snippet like the following:
|
If the automatic `$PS1` override is not desired (maybe you have a fancy custom
|
||||||
|
prompt), set the `$GST_BUILD_DISABLE_PS1_OVERRIDE` environment variable to
|
||||||
|
`TRUE` and use `$GST_ENV` when setting the custom prompt, for example with a
|
||||||
|
snippet like the following:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
...
|
...
|
||||||
|
|
Loading…
Reference in a new issue