diff --git a/subprojects/gst-plugins-bad/README b/subprojects/gst-plugins-bad/README.md similarity index 81% rename from subprojects/gst-plugins-bad/README rename to subprojects/gst-plugins-bad/README.md index 1e442e6bc0..79e1942292 100644 --- a/subprojects/gst-plugins-bad/README +++ b/subprojects/gst-plugins-bad/README.md @@ -169,64 +169,8 @@ 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 - +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 --------------------------------- diff --git a/subprojects/gst-plugins-base/README b/subprojects/gst-plugins-base/README.md similarity index 81% rename from subprojects/gst-plugins-base/README rename to subprojects/gst-plugins-base/README.md index 1e442e6bc0..79e1942292 100644 --- a/subprojects/gst-plugins-base/README +++ b/subprojects/gst-plugins-base/README.md @@ -169,64 +169,8 @@ 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 - +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 --------------------------------- diff --git a/subprojects/gst-plugins-good/README b/subprojects/gst-plugins-good/README.md similarity index 81% rename from subprojects/gst-plugins-good/README rename to subprojects/gst-plugins-good/README.md index 1e442e6bc0..79e1942292 100644 --- a/subprojects/gst-plugins-good/README +++ b/subprojects/gst-plugins-good/README.md @@ -169,64 +169,8 @@ 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 - +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 --------------------------------- diff --git a/subprojects/gst-plugins-ugly/README b/subprojects/gst-plugins-ugly/README.md similarity index 81% rename from subprojects/gst-plugins-ugly/README rename to subprojects/gst-plugins-ugly/README.md index 1e442e6bc0..79e1942292 100644 --- a/subprojects/gst-plugins-ugly/README +++ b/subprojects/gst-plugins-ugly/README.md @@ -169,64 +169,8 @@ 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 - +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 --------------------------------- diff --git a/subprojects/gstreamer/README b/subprojects/gstreamer/README deleted file mode 100644 index 1e442e6bc0..0000000000 --- a/subprojects/gstreamer/README +++ /dev/null @@ -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. diff --git a/subprojects/gstreamer/README.md b/subprojects/gstreamer/README.md new file mode 100644 index 0000000000..79e1942292 --- /dev/null +++ b/subprojects/gstreamer/README.md @@ -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.