mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-03 14:08:56 +00:00
Maintain build instructions at a single location
Do not maintain similar build instructions within each gst-plugins-* subproject and the subproject/gstreamer subproject. Use the build instructions from the mono-repository and link to them via hyperlink. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1743>
This commit is contained in:
parent
7702072a6f
commit
c999d2c3a9
6 changed files with 204 additions and 484 deletions
|
@ -169,64 +169,8 @@ Find more information about the various packages at
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/download/
|
https://gstreamer.freedesktop.org/download/
|
||||||
|
|
||||||
COMPILING FROM SOURCE TARBALLS
|
For in-depth instructions about building GStreamer visit:
|
||||||
------------------------------
|
[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
|
||||||
|
|
||||||
- again, make sure that you really need to install from source!
|
|
||||||
If GStreamer is one of your first projects ever that you build from source,
|
|
||||||
consider taking on an easier project.
|
|
||||||
|
|
||||||
- you need a recent version of Meson installed, see
|
|
||||||
|
|
||||||
http://mesonbuild.com/Getting-meson.html
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
- run
|
|
||||||
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
to build GStreamer.
|
|
||||||
|
|
||||||
- if you want to install it (not required, but what you usually want to do), run
|
|
||||||
|
|
||||||
ninja -C build install
|
|
||||||
|
|
||||||
- try out a simple test:
|
|
||||||
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
|
|
||||||
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
|
|
||||||
|
|
||||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
||||||
ok.
|
|
||||||
|
|
||||||
If it did not work, keep in mind that you might need to adjust the
|
|
||||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
|
||||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
|
||||||
|
|
||||||
- After this, you're ready to install gst-plugins, which will provide the
|
|
||||||
functionality you're probably looking for by now, so go on and read
|
|
||||||
that README.
|
|
||||||
|
|
||||||
COMPILING FROM GIT
|
|
||||||
------------------
|
|
||||||
|
|
||||||
You can build an uninstalled GStreamer from git for development or testing
|
|
||||||
purposes without affecting your system installation.
|
|
||||||
|
|
||||||
Get started with:
|
|
||||||
|
|
||||||
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
ninja -C build uninstalled
|
|
||||||
|
|
||||||
For more information, see the `gst-build` module and its documentation:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
|
|
||||||
PLUG-IN DEPENDENCIES AND LICENSES
|
PLUG-IN DEPENDENCIES AND LICENSES
|
||||||
---------------------------------
|
---------------------------------
|
|
@ -169,64 +169,8 @@ Find more information about the various packages at
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/download/
|
https://gstreamer.freedesktop.org/download/
|
||||||
|
|
||||||
COMPILING FROM SOURCE TARBALLS
|
For in-depth instructions about building GStreamer visit:
|
||||||
------------------------------
|
[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
|
||||||
|
|
||||||
- again, make sure that you really need to install from source!
|
|
||||||
If GStreamer is one of your first projects ever that you build from source,
|
|
||||||
consider taking on an easier project.
|
|
||||||
|
|
||||||
- you need a recent version of Meson installed, see
|
|
||||||
|
|
||||||
http://mesonbuild.com/Getting-meson.html
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
- run
|
|
||||||
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
to build GStreamer.
|
|
||||||
|
|
||||||
- if you want to install it (not required, but what you usually want to do), run
|
|
||||||
|
|
||||||
ninja -C build install
|
|
||||||
|
|
||||||
- try out a simple test:
|
|
||||||
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
|
|
||||||
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
|
|
||||||
|
|
||||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
||||||
ok.
|
|
||||||
|
|
||||||
If it did not work, keep in mind that you might need to adjust the
|
|
||||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
|
||||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
|
||||||
|
|
||||||
- After this, you're ready to install gst-plugins, which will provide the
|
|
||||||
functionality you're probably looking for by now, so go on and read
|
|
||||||
that README.
|
|
||||||
|
|
||||||
COMPILING FROM GIT
|
|
||||||
------------------
|
|
||||||
|
|
||||||
You can build an uninstalled GStreamer from git for development or testing
|
|
||||||
purposes without affecting your system installation.
|
|
||||||
|
|
||||||
Get started with:
|
|
||||||
|
|
||||||
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
ninja -C build uninstalled
|
|
||||||
|
|
||||||
For more information, see the `gst-build` module and its documentation:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
|
|
||||||
PLUG-IN DEPENDENCIES AND LICENSES
|
PLUG-IN DEPENDENCIES AND LICENSES
|
||||||
---------------------------------
|
---------------------------------
|
|
@ -169,64 +169,8 @@ Find more information about the various packages at
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/download/
|
https://gstreamer.freedesktop.org/download/
|
||||||
|
|
||||||
COMPILING FROM SOURCE TARBALLS
|
For in-depth instructions about building GStreamer visit:
|
||||||
------------------------------
|
[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
|
||||||
|
|
||||||
- again, make sure that you really need to install from source!
|
|
||||||
If GStreamer is one of your first projects ever that you build from source,
|
|
||||||
consider taking on an easier project.
|
|
||||||
|
|
||||||
- you need a recent version of Meson installed, see
|
|
||||||
|
|
||||||
http://mesonbuild.com/Getting-meson.html
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
- run
|
|
||||||
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
to build GStreamer.
|
|
||||||
|
|
||||||
- if you want to install it (not required, but what you usually want to do), run
|
|
||||||
|
|
||||||
ninja -C build install
|
|
||||||
|
|
||||||
- try out a simple test:
|
|
||||||
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
|
|
||||||
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
|
|
||||||
|
|
||||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
||||||
ok.
|
|
||||||
|
|
||||||
If it did not work, keep in mind that you might need to adjust the
|
|
||||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
|
||||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
|
||||||
|
|
||||||
- After this, you're ready to install gst-plugins, which will provide the
|
|
||||||
functionality you're probably looking for by now, so go on and read
|
|
||||||
that README.
|
|
||||||
|
|
||||||
COMPILING FROM GIT
|
|
||||||
------------------
|
|
||||||
|
|
||||||
You can build an uninstalled GStreamer from git for development or testing
|
|
||||||
purposes without affecting your system installation.
|
|
||||||
|
|
||||||
Get started with:
|
|
||||||
|
|
||||||
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
ninja -C build uninstalled
|
|
||||||
|
|
||||||
For more information, see the `gst-build` module and its documentation:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
|
|
||||||
PLUG-IN DEPENDENCIES AND LICENSES
|
PLUG-IN DEPENDENCIES AND LICENSES
|
||||||
---------------------------------
|
---------------------------------
|
|
@ -169,64 +169,8 @@ Find more information about the various packages at
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/download/
|
https://gstreamer.freedesktop.org/download/
|
||||||
|
|
||||||
COMPILING FROM SOURCE TARBALLS
|
For in-depth instructions about building GStreamer visit:
|
||||||
------------------------------
|
[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
|
||||||
|
|
||||||
- again, make sure that you really need to install from source!
|
|
||||||
If GStreamer is one of your first projects ever that you build from source,
|
|
||||||
consider taking on an easier project.
|
|
||||||
|
|
||||||
- you need a recent version of Meson installed, see
|
|
||||||
|
|
||||||
http://mesonbuild.com/Getting-meson.html
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
- run
|
|
||||||
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
to build GStreamer.
|
|
||||||
|
|
||||||
- if you want to install it (not required, but what you usually want to do), run
|
|
||||||
|
|
||||||
ninja -C build install
|
|
||||||
|
|
||||||
- try out a simple test:
|
|
||||||
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
|
|
||||||
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
|
|
||||||
|
|
||||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
||||||
ok.
|
|
||||||
|
|
||||||
If it did not work, keep in mind that you might need to adjust the
|
|
||||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
|
||||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
|
||||||
|
|
||||||
- After this, you're ready to install gst-plugins, which will provide the
|
|
||||||
functionality you're probably looking for by now, so go on and read
|
|
||||||
that README.
|
|
||||||
|
|
||||||
COMPILING FROM GIT
|
|
||||||
------------------
|
|
||||||
|
|
||||||
You can build an uninstalled GStreamer from git for development or testing
|
|
||||||
purposes without affecting your system installation.
|
|
||||||
|
|
||||||
Get started with:
|
|
||||||
|
|
||||||
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
ninja -C build uninstalled
|
|
||||||
|
|
||||||
For more information, see the `gst-build` module and its documentation:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
|
|
||||||
PLUG-IN DEPENDENCIES AND LICENSES
|
PLUG-IN DEPENDENCIES AND LICENSES
|
||||||
---------------------------------
|
---------------------------------
|
|
@ -1,252 +0,0 @@
|
||||||
GStreamer 1.20.x stable series
|
|
||||||
|
|
||||||
WHAT IT IS
|
|
||||||
----------
|
|
||||||
|
|
||||||
This is GStreamer, a framework for streaming media.
|
|
||||||
|
|
||||||
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.oftc.net
|
|
||||||
|
|
||||||
GStreamer 1.0 series
|
|
||||||
--------------------
|
|
||||||
|
|
||||||
Starring
|
|
||||||
|
|
||||||
GSTREAMER
|
|
||||||
|
|
||||||
The core around which all other modules revolve. Base functionality and
|
|
||||||
libraries, some essential elements, documentation, and testing.
|
|
||||||
|
|
||||||
BASE
|
|
||||||
|
|
||||||
A well-groomed and well-maintained collection of GStreamer plug-ins and
|
|
||||||
elements, spanning the range of possible types of elements one would want
|
|
||||||
to write for GStreamer.
|
|
||||||
|
|
||||||
And introducing, for the first time ever, on the development screen ...
|
|
||||||
|
|
||||||
THE GOOD
|
|
||||||
|
|
||||||
--- "Such ingratitude. After all the times I've saved your life."
|
|
||||||
|
|
||||||
A collection of plug-ins you'd want to have right next to you on the
|
|
||||||
battlefield. Shooting sharp and making no mistakes, these plug-ins have it
|
|
||||||
all: good looks, good code, and good licensing. Documented and dressed up
|
|
||||||
in tests. If you're looking for a role model to base your own plug-in on,
|
|
||||||
here it is.
|
|
||||||
|
|
||||||
If you find a plot hole or a badly lip-synced line of code in them,
|
|
||||||
let us know - it is a matter of honour for us to ensure Blondie doesn't look
|
|
||||||
like he's been walking 100 miles through the desert without water.
|
|
||||||
|
|
||||||
THE UGLY
|
|
||||||
|
|
||||||
--- "When you have to shoot, shoot. Don't talk."
|
|
||||||
|
|
||||||
There are times when the world needs a color between black and white.
|
|
||||||
Quality code to match the good's, but two-timing, backstabbing and ready to
|
|
||||||
sell your freedom down the river. These plug-ins might have a patent noose
|
|
||||||
around their neck, or a lock-up license, or any other problem that makes you
|
|
||||||
think twice about shipping them.
|
|
||||||
|
|
||||||
We don't call them ugly because we like them less. Does a mother love her
|
|
||||||
son less because he's not as pretty as the other ones ? No - she commends
|
|
||||||
him on his great personality. These plug-ins are the life of the party.
|
|
||||||
And we'll still step in and set them straight if you report any unacceptable
|
|
||||||
behaviour - because there are two kinds of people in the world, my friend:
|
|
||||||
those with a rope around their neck and the people who do the cutting.
|
|
||||||
|
|
||||||
THE BAD
|
|
||||||
|
|
||||||
--- "That an accusation?"
|
|
||||||
|
|
||||||
No perfectly groomed moustache or any amount of fine clothing is going to
|
|
||||||
cover up the truth - these plug-ins are Bad with a capital B.
|
|
||||||
They look fine on the outside, and might even appear to get the job done, but
|
|
||||||
at the end of the day they're a black sheep. Without a golden-haired angel
|
|
||||||
to watch over them, they'll probably land in an unmarked grave at the final
|
|
||||||
showdown.
|
|
||||||
|
|
||||||
Don't bug us about their quality - exercise your Free Software rights,
|
|
||||||
patch up the offender and send us the patch on the fastest steed you can
|
|
||||||
steal from the Confederates. Because you see, in this world, there's two
|
|
||||||
kinds of people, my friend: those with loaded guns and those who dig.
|
|
||||||
You dig.
|
|
||||||
|
|
||||||
The Lowdown
|
|
||||||
-----------
|
|
||||||
|
|
||||||
--- "I've never seen so many plug-ins wasted so badly."
|
|
||||||
|
|
||||||
GStreamer Plug-ins has grown so big that it's hard to separate the wheat from
|
|
||||||
the chaff. Also, distributors have brought up issues about the legal status
|
|
||||||
of some of the plug-ins we ship. To remedy this, we've divided the previous
|
|
||||||
set of available plug-ins into four modules:
|
|
||||||
|
|
||||||
- gst-plugins-base: a small and fixed set of plug-ins, covering a wide range
|
|
||||||
of possible types of elements; these are continuously kept up-to-date
|
|
||||||
with any core changes during the development series.
|
|
||||||
|
|
||||||
- We believe distributors can safely ship these plug-ins.
|
|
||||||
- People writing elements should base their code on these elements.
|
|
||||||
- These elements come with examples, documentation, and regression tests.
|
|
||||||
|
|
||||||
- gst-plugins-good: a set of plug-ins that we consider to have good quality
|
|
||||||
code, correct functionality, our preferred license (LGPL for the plug-in
|
|
||||||
code, LGPL or LGPL-compatible for the supporting library).
|
|
||||||
|
|
||||||
- We believe distributors can safely ship these plug-ins.
|
|
||||||
- People writing elements should base their code on these elements.
|
|
||||||
|
|
||||||
- gst-plugins-ugly: a set of plug-ins that have good quality and correct
|
|
||||||
functionality, but distributing them might pose problems. The license
|
|
||||||
on either the plug-ins or the supporting libraries might not be how we'd
|
|
||||||
like. The code might be widely known to present patent problems.
|
|
||||||
|
|
||||||
- Distributors should check if they want/can ship these plug-ins.
|
|
||||||
- People writing elements should base their code on these elements.
|
|
||||||
|
|
||||||
- gst-plugins-bad: a set of plug-ins that aren't up to par compared to the
|
|
||||||
rest. They might be close to being good quality, but they're missing
|
|
||||||
something - be it a good code review, some documentation, a set of tests,
|
|
||||||
a real live maintainer, or some actual wide use.
|
|
||||||
If the blanks are filled in they might be upgraded to become part of
|
|
||||||
either gst-plugins-good or gst-plugins-ugly, depending on the other factors.
|
|
||||||
|
|
||||||
- If the plug-ins break, you can't complain - instead, you can fix the
|
|
||||||
problem and send us a patch, or bribe someone into fixing them for you.
|
|
||||||
- New contributors can start here for things to work on.
|
|
||||||
|
|
||||||
PLATFORMS
|
|
||||||
---------
|
|
||||||
|
|
||||||
- Linux is of course fully supported
|
|
||||||
- FreeBSD is reported to work; other BSDs should work too; same for Solaris
|
|
||||||
- MacOS works, binary 1.x packages can be built using the cerbero build tool
|
|
||||||
- Windows works; binary 1.x packages can be built using the cerbero build tool
|
|
||||||
- MSys/MinGW builds
|
|
||||||
- Microsoft Visual Studio builds are also available and supported
|
|
||||||
- Android works, binary 1.x packages can be built using the cerbero build tool
|
|
||||||
- iOS works
|
|
||||||
|
|
||||||
INSTALLING FROM PACKAGES
|
|
||||||
------------------------
|
|
||||||
|
|
||||||
You should always prefer installing from packages first. GStreamer is
|
|
||||||
well-maintained for a number of distributions, including Fedora, Debian,
|
|
||||||
Ubuntu, Mandrake, Arch Linux, Gentoo, ...
|
|
||||||
|
|
||||||
Only in cases where you:
|
|
||||||
|
|
||||||
- want to hack on GStreamer
|
|
||||||
- want to verify that a bug has been fixed
|
|
||||||
- do not have a sane distribution
|
|
||||||
|
|
||||||
should you choose to build from source tarballs or git.
|
|
||||||
|
|
||||||
Find more information about the various packages at
|
|
||||||
|
|
||||||
https://gstreamer.freedesktop.org/download/
|
|
||||||
|
|
||||||
COMPILING FROM SOURCE TARBALLS
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
- again, make sure that you really need to install from source!
|
|
||||||
If GStreamer is one of your first projects ever that you build from source,
|
|
||||||
consider taking on an easier project.
|
|
||||||
|
|
||||||
- you need a recent version of Meson installed, see
|
|
||||||
|
|
||||||
http://mesonbuild.com/Getting-meson.html
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
- run
|
|
||||||
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
|
|
||||||
to build GStreamer.
|
|
||||||
|
|
||||||
- if you want to install it (not required, but what you usually want to do), run
|
|
||||||
|
|
||||||
ninja -C build install
|
|
||||||
|
|
||||||
- try out a simple test:
|
|
||||||
gst-launch-1.0 -v fakesrc num_buffers=5 ! fakesink
|
|
||||||
(If you didn't install GStreamer, run `./build/tools/gst-launch-1.0`)
|
|
||||||
|
|
||||||
If it outputs a bunch of messages from fakesrc and fakesink, everything is
|
|
||||||
ok.
|
|
||||||
|
|
||||||
If it did not work, keep in mind that you might need to adjust the
|
|
||||||
PATH and/or LD_LIBRARY_PATH environment variables to make the system
|
|
||||||
find GStreamer in the prefix where you installed (by default that is /usr/local).
|
|
||||||
|
|
||||||
- After this, you're ready to install gst-plugins, which will provide the
|
|
||||||
functionality you're probably looking for by now, so go on and read
|
|
||||||
that README.
|
|
||||||
|
|
||||||
COMPILING FROM GIT
|
|
||||||
------------------
|
|
||||||
|
|
||||||
You can build an uninstalled GStreamer from git for development or testing
|
|
||||||
purposes without affecting your system installation.
|
|
||||||
|
|
||||||
Get started with:
|
|
||||||
|
|
||||||
git clone https://gitlab.freedesktop.org/gstreamer/gst-build
|
|
||||||
meson build
|
|
||||||
ninja -C build
|
|
||||||
ninja -C build uninstalled
|
|
||||||
|
|
||||||
For more information, see the `gst-build` module and its documentation:
|
|
||||||
|
|
||||||
https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
|
|
||||||
|
|
||||||
|
|
||||||
PLUG-IN DEPENDENCIES AND LICENSES
|
|
||||||
---------------------------------
|
|
||||||
|
|
||||||
GStreamer is developed under the terms of the LGPL (see COPYING file for
|
|
||||||
details). Some of our plug-ins however rely on libraries which are available
|
|
||||||
under other licenses. This means that if you are distributing an application
|
|
||||||
which has a non-GPL compatible license (for instance a closed-source
|
|
||||||
application) with GStreamer, you have to make sure not to distribute GPL-linked
|
|
||||||
plug-ins.
|
|
||||||
|
|
||||||
When using GPL-linked plug-ins, GStreamer is for all practical reasons
|
|
||||||
under the GPL itself.
|
|
||||||
|
|
||||||
HISTORY
|
|
||||||
-------
|
|
||||||
|
|
||||||
The fundamental design comes from the video pipeline at Oregon Graduate
|
|
||||||
Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
|
|
||||||
will provide the various codec and other functionality. The interface
|
|
||||||
hopefully is generic enough for various companies (ahem, Apple) to release
|
|
||||||
binary codecs for Linux, until such time as they get a clue and release the
|
|
||||||
source.
|
|
196
subprojects/gstreamer/README.md
Normal file
196
subprojects/gstreamer/README.md
Normal file
|
@ -0,0 +1,196 @@
|
||||||
|
GStreamer 1.20.x stable series
|
||||||
|
|
||||||
|
WHAT IT IS
|
||||||
|
----------
|
||||||
|
|
||||||
|
This is GStreamer, a framework for streaming media.
|
||||||
|
|
||||||
|
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.oftc.net
|
||||||
|
|
||||||
|
GStreamer 1.0 series
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
Starring
|
||||||
|
|
||||||
|
GSTREAMER
|
||||||
|
|
||||||
|
The core around which all other modules revolve. Base functionality and
|
||||||
|
libraries, some essential elements, documentation, and testing.
|
||||||
|
|
||||||
|
BASE
|
||||||
|
|
||||||
|
A well-groomed and well-maintained collection of GStreamer plug-ins and
|
||||||
|
elements, spanning the range of possible types of elements one would want
|
||||||
|
to write for GStreamer.
|
||||||
|
|
||||||
|
And introducing, for the first time ever, on the development screen ...
|
||||||
|
|
||||||
|
THE GOOD
|
||||||
|
|
||||||
|
--- "Such ingratitude. After all the times I've saved your life."
|
||||||
|
|
||||||
|
A collection of plug-ins you'd want to have right next to you on the
|
||||||
|
battlefield. Shooting sharp and making no mistakes, these plug-ins have it
|
||||||
|
all: good looks, good code, and good licensing. Documented and dressed up
|
||||||
|
in tests. If you're looking for a role model to base your own plug-in on,
|
||||||
|
here it is.
|
||||||
|
|
||||||
|
If you find a plot hole or a badly lip-synced line of code in them,
|
||||||
|
let us know - it is a matter of honour for us to ensure Blondie doesn't look
|
||||||
|
like he's been walking 100 miles through the desert without water.
|
||||||
|
|
||||||
|
THE UGLY
|
||||||
|
|
||||||
|
--- "When you have to shoot, shoot. Don't talk."
|
||||||
|
|
||||||
|
There are times when the world needs a color between black and white.
|
||||||
|
Quality code to match the good's, but two-timing, backstabbing and ready to
|
||||||
|
sell your freedom down the river. These plug-ins might have a patent noose
|
||||||
|
around their neck, or a lock-up license, or any other problem that makes you
|
||||||
|
think twice about shipping them.
|
||||||
|
|
||||||
|
We don't call them ugly because we like them less. Does a mother love her
|
||||||
|
son less because he's not as pretty as the other ones ? No - she commends
|
||||||
|
him on his great personality. These plug-ins are the life of the party.
|
||||||
|
And we'll still step in and set them straight if you report any unacceptable
|
||||||
|
behaviour - because there are two kinds of people in the world, my friend:
|
||||||
|
those with a rope around their neck and the people who do the cutting.
|
||||||
|
|
||||||
|
THE BAD
|
||||||
|
|
||||||
|
--- "That an accusation?"
|
||||||
|
|
||||||
|
No perfectly groomed moustache or any amount of fine clothing is going to
|
||||||
|
cover up the truth - these plug-ins are Bad with a capital B.
|
||||||
|
They look fine on the outside, and might even appear to get the job done, but
|
||||||
|
at the end of the day they're a black sheep. Without a golden-haired angel
|
||||||
|
to watch over them, they'll probably land in an unmarked grave at the final
|
||||||
|
showdown.
|
||||||
|
|
||||||
|
Don't bug us about their quality - exercise your Free Software rights,
|
||||||
|
patch up the offender and send us the patch on the fastest steed you can
|
||||||
|
steal from the Confederates. Because you see, in this world, there's two
|
||||||
|
kinds of people, my friend: those with loaded guns and those who dig.
|
||||||
|
You dig.
|
||||||
|
|
||||||
|
The Lowdown
|
||||||
|
-----------
|
||||||
|
|
||||||
|
--- "I've never seen so many plug-ins wasted so badly."
|
||||||
|
|
||||||
|
GStreamer Plug-ins has grown so big that it's hard to separate the wheat from
|
||||||
|
the chaff. Also, distributors have brought up issues about the legal status
|
||||||
|
of some of the plug-ins we ship. To remedy this, we've divided the previous
|
||||||
|
set of available plug-ins into four modules:
|
||||||
|
|
||||||
|
- gst-plugins-base: a small and fixed set of plug-ins, covering a wide range
|
||||||
|
of possible types of elements; these are continuously kept up-to-date
|
||||||
|
with any core changes during the development series.
|
||||||
|
|
||||||
|
- We believe distributors can safely ship these plug-ins.
|
||||||
|
- People writing elements should base their code on these elements.
|
||||||
|
- These elements come with examples, documentation, and regression tests.
|
||||||
|
|
||||||
|
- gst-plugins-good: a set of plug-ins that we consider to have good quality
|
||||||
|
code, correct functionality, our preferred license (LGPL for the plug-in
|
||||||
|
code, LGPL or LGPL-compatible for the supporting library).
|
||||||
|
|
||||||
|
- We believe distributors can safely ship these plug-ins.
|
||||||
|
- People writing elements should base their code on these elements.
|
||||||
|
|
||||||
|
- gst-plugins-ugly: a set of plug-ins that have good quality and correct
|
||||||
|
functionality, but distributing them might pose problems. The license
|
||||||
|
on either the plug-ins or the supporting libraries might not be how we'd
|
||||||
|
like. The code might be widely known to present patent problems.
|
||||||
|
|
||||||
|
- Distributors should check if they want/can ship these plug-ins.
|
||||||
|
- People writing elements should base their code on these elements.
|
||||||
|
|
||||||
|
- gst-plugins-bad: a set of plug-ins that aren't up to par compared to the
|
||||||
|
rest. They might be close to being good quality, but they're missing
|
||||||
|
something - be it a good code review, some documentation, a set of tests,
|
||||||
|
a real live maintainer, or some actual wide use.
|
||||||
|
If the blanks are filled in they might be upgraded to become part of
|
||||||
|
either gst-plugins-good or gst-plugins-ugly, depending on the other factors.
|
||||||
|
|
||||||
|
- If the plug-ins break, you can't complain - instead, you can fix the
|
||||||
|
problem and send us a patch, or bribe someone into fixing them for you.
|
||||||
|
- New contributors can start here for things to work on.
|
||||||
|
|
||||||
|
PLATFORMS
|
||||||
|
---------
|
||||||
|
|
||||||
|
- Linux is of course fully supported
|
||||||
|
- FreeBSD is reported to work; other BSDs should work too; same for Solaris
|
||||||
|
- MacOS works, binary 1.x packages can be built using the cerbero build tool
|
||||||
|
- Windows works; binary 1.x packages can be built using the cerbero build tool
|
||||||
|
- MSys/MinGW builds
|
||||||
|
- Microsoft Visual Studio builds are also available and supported
|
||||||
|
- Android works, binary 1.x packages can be built using the cerbero build tool
|
||||||
|
- iOS works
|
||||||
|
|
||||||
|
INSTALLING FROM PACKAGES
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
You should always prefer installing from packages first. GStreamer is
|
||||||
|
well-maintained for a number of distributions, including Fedora, Debian,
|
||||||
|
Ubuntu, Mandrake, Arch Linux, Gentoo, ...
|
||||||
|
|
||||||
|
Only in cases where you:
|
||||||
|
|
||||||
|
- want to hack on GStreamer
|
||||||
|
- want to verify that a bug has been fixed
|
||||||
|
- do not have a sane distribution
|
||||||
|
|
||||||
|
should you choose to build from source tarballs or git.
|
||||||
|
|
||||||
|
Find more information about the various packages at
|
||||||
|
|
||||||
|
https://gstreamer.freedesktop.org/download/
|
||||||
|
|
||||||
|
For in-depth instructions about building GStreamer visit:
|
||||||
|
[getting-started](https://gitlab.freedesktop.org/gstreamer/gstreamer/-/blob/main/README.md#getting-started).
|
||||||
|
|
||||||
|
PLUG-IN DEPENDENCIES AND LICENSES
|
||||||
|
---------------------------------
|
||||||
|
|
||||||
|
GStreamer is developed under the terms of the LGPL (see COPYING file for
|
||||||
|
details). Some of our plug-ins however rely on libraries which are available
|
||||||
|
under other licenses. This means that if you are distributing an application
|
||||||
|
which has a non-GPL compatible license (for instance a closed-source
|
||||||
|
application) with GStreamer, you have to make sure not to distribute GPL-linked
|
||||||
|
plug-ins.
|
||||||
|
|
||||||
|
When using GPL-linked plug-ins, GStreamer is for all practical reasons
|
||||||
|
under the GPL itself.
|
||||||
|
|
||||||
|
HISTORY
|
||||||
|
-------
|
||||||
|
|
||||||
|
The fundamental design comes from the video pipeline at Oregon Graduate
|
||||||
|
Institute, as well as some ideas from DirectMedia. It's based on plug-ins that
|
||||||
|
will provide the various codec and other functionality. The interface
|
||||||
|
hopefully is generic enough for various companies (ahem, Apple) to release
|
||||||
|
binary codecs for Linux, until such time as they get a clue and release the
|
||||||
|
source.
|
Loading…
Reference in a new issue