mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-22 01:31:03 +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
1 changed files with 35 additions and 51 deletions
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
|
||||
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
|
||||
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
|
||||
GStreamer system installation.
|
||||
## Where to start
|
||||
|
||||
We have a website at
|
||||
|
||||
https://gstreamer.freedesktop.org
|
||||
|
||||
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
|
||||
|
||||
|
@ -172,7 +190,7 @@ made in the future.
|
|||
|
||||
## 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
|
||||
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
|
||||
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
|
||||
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
|
||||
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:
|
||||
|
||||
|
@ -194,26 +212,6 @@ An external script can be run in development environment with:
|
|||
./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
|
||||
|
||||
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
|
||||
|
||||
`gst-build` has been created primarily for [development usage](#development-environment-target),
|
||||
but you can also install everything that is built into a predetermined prefix like so:
|
||||
You can also install everything that is built into a predetermined prefix like
|
||||
so:
|
||||
|
||||
```
|
||||
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
|
||||
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
|
||||
|
||||
|
@ -301,7 +282,10 @@ for all the subprojects (gstreamer, gst-plugins-base, etc.)
|
|||
|
||||
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
|
||||
...
|
||||
|
|
Loading…
Reference in a new issue