Use g_memdup2() where available and add fallback for older GLib versions
[platform/upstream/gstreamer.git] / README
diff --git a/README b/README
index 908386d..c95e53e 100644 (file)
--- a/README
+++ b/README
@@ -1,3 +1,5 @@
+GStreamer 1.19.x development series
+
 WHAT IT IS
 ----------
 
@@ -7,22 +9,27 @@ WHERE TO START
 --------------
 
 We have a website at
-http://gstreamer.freedesktop.org/
 
-You should start by going through our FAQ at
-http://gstreamer.freedesktop.org/data/doc/gstreamer/head/faq/html/
+  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
 
-There is more documentation; go to
-http://gstreamer.freedesktop.org/documentation
+  https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
 
-You can subscribe to our mailing lists; see the website for details.
+We track bugs, feature requests and merge requests (patches) in GitLab at
 
-We track bugs in GNOME's bugzilla; see the website for details.
+  https://gitlab.freedesktop.org/gstreamer/
 
 You can join us on IRC - #gstreamer on irc.freenode.org
 
-GStreamer 0.10 series
----------------------
+GStreamer 1.0 series
+--------------------
 
 Starring
 
@@ -135,49 +142,62 @@ PLATFORMS
 ---------
 
 - Linux is of course fully supported
-- FreeBSD is reported to work; other BSD's should work too
-- Solaris is reported to work; a specific sunaudiosink plugin has been written
-- MacOSX is reported to work; specific audio and video sinks have been written
-- Windows support is experimental but improving.  Output sinks have been
-  written but are not yet included in the code. We support
-  - MSys/MingW builds
-  - Microsoft Visual Studio 6 builds (see win32/README.txt)
+- 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, Gentoo, ...
+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 CVS.
+
+ - 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
-http://gstreamer.freedesktop.org/download/
+
+  https://gstreamer.freedesktop.org/download/
 
 COMPILING FROM SOURCE TARBALLS
 ------------------------------
 
-- again, make sure that you really need to install from source !
+- 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.
 
-- check output of ./configure --help to see if any options apply to you
+- 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
-  ./configure
-  make
+
+    meson build
+    ninja -C build
 
   to build GStreamer.
+
 - if you want to install it (not required, but what you usually want to do), run
-  make install
+
+    ninja -C build install
 
 - try out a simple test:
-  gst-launch -v fakesrc num_buffers=5 ! fakesink
-  (If you didn't install GStreamer, prefix gst-launch with tools/)
+  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.
@@ -190,43 +210,28 @@ COMPILING FROM SOURCE TARBALLS
   functionality you're probably looking for by now, so go on and read
   that README.
 
-COMPILING FROM CVS
+COMPILING FROM GIT
 ------------------
 
-When building from CVS sources, you will need to run autogen.sh to generate 
-the build system files.
-
-You will need a set of additional tools typical for building from CVS,
-including:
-- autoconf
-- automake
-- libtool
-
-autogen.sh will check for recent enough versions and complain if you don't have
-them.  You can also specify specific versions of automake and autoconf with
---with-automake and --with-autoconf
+You can build an uninstalled GStreamer from git for development or testing
+purposes without affecting your system installation.
 
-Check autogen.sh options by running autogen.sh --help
+Get started with:
 
-autogen.sh can pass on arguments to configure - you just need to separate them
-from autogen.sh with -- between the two.
-prefix has been added to autogen.sh but will be passed on to configure because
-some build scripts like that.
+    git clone https://gitlab.freedesktop.org/gstreamer/gst-build
+    meson build
+    ninja -C build
+    ninja -C build uninstalled
 
-When you have done this once, you can use autoregen.sh to re-autogen with
-the last passed options as a handy shortcut.  Use it.
+For more information, see the `gst-build` module and its documentation:
 
-After the autogen.sh stage, you can follow the directions listed in
-"COMPILING FROM SOURCE"
+  https://gitlab.freedesktop.org/gstreamer/gst-build/blob/master/README.md
 
-You can also run your whole cvs stack uninstalled.  The script in
-the gstreamer module /docs/faq/gst-uninstalled) is helpful in setting
-up your environment for this.
 
 PLUG-IN DEPENDENCIES AND LICENSES
 ---------------------------------
 
-GStreamer is developed under the terms of the LGPL (see LICENSE file for
+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