diff options
author | Sebastian Dröge <slomo@circular-chaos.org> | 2013-08-30 12:35:14 +0200 |
---|---|---|
committer | Sebastian Dröge <slomo@circular-chaos.org> | 2013-08-30 12:35:14 +0200 |
commit | 63f38155df9cb281e4d48dbc14389e66446436f2 (patch) | |
tree | c1e9bdd098a86c3c46af4828367a262bdebfaaaa /common | |
parent | ab458c2ee68b132b62e498fcf293c2ec44477faf (diff) |
Imported Upstream version 1.1.4upstream/1.1.4
Diffstat (limited to 'common')
-rw-r--r-- | common/Makefile.in | 5 | ||||
-rw-r--r-- | common/README | 255 | ||||
-rw-r--r-- | common/gst.supp | 15 | ||||
-rw-r--r-- | common/m4/Makefile.in | 2 | ||||
-rw-r--r-- | common/m4/as-docbook.m4 | 14 | ||||
-rw-r--r-- | common/m4/gst-doc.m4 | 28 | ||||
-rw-r--r-- | common/m4/gst-glib2.m4 | 6 |
7 files changed, 292 insertions, 33 deletions
diff --git a/common/Makefile.in b/common/Makefile.in index 92bd1b1..2043b94 100644 --- a/common/Makefile.in +++ b/common/Makefile.in @@ -79,7 +79,8 @@ build_triplet = @build@ host_triplet = @host@ target_triplet = @target@ subdir = common -DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog +DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am ChangeLog \ + README ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/common/m4/as-ac-expand.m4 \ $(top_srcdir)/common/m4/as-auto-alt.m4 \ @@ -316,7 +317,6 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@ HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@ HAVE_DVIPS = @HAVE_DVIPS@ HAVE_EPSTOPDF = @HAVE_EPSTOPDF@ @@ -327,6 +327,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@ HAVE_PNMTOPS = @HAVE_PNMTOPS@ HAVE_PS2PDF = @HAVE_PS2PDF@ HAVE_XMLLINT = @HAVE_XMLLINT@ +HAVE_XSLTPROC = @HAVE_XSLTPROC@ HOST_CPU = @HOST_CPU@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ diff --git a/common/README b/common/README new file mode 100644 index 0000000..83a1b88 --- /dev/null +++ b/common/README @@ -0,0 +1,255 @@ +GStreamer @SERIES_VERSION@ + +WHAT IT IS +---------- + +This is GStreamer, a framework for streaming media. + +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/ + +There is more documentation; go to +http://gstreamer.freedesktop.org/documentation + +You can subscribe to our mailing lists; see the website for details. + +We track bugs in GNOME's bugzilla; see the website for details. + +You can join us on IRC - #gstreamer on irc.freenode.org + +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 +- Solaris is reported to work; a specific sunaudiosink plugin has been written +- MacOSX 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 not yet available or 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, ... + +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 +http://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. + +- check output of ./configure --help to see if any options apply to you +- run + ./configure + make + + to build GStreamer. +- if you want to install it (not required, but what you usually want to do), run + make 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/) + + 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 +------------------ + +When building from git 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 git, +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 + +Check autogen.sh options by running autogen.sh --help + +autogen.sh can pass on arguments to configure + +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. + +After the autogen.sh stage, you can follow the directions listed in +"COMPILING FROM SOURCE" + +You can also run your whole git stack uninstalled in your home directory, +so that you can quickly test changes without affecting your system setup or +interfering with GStreamer installed from packages. Many GStreamer developers +use an uninstalled setup for their work. + +There is a 'create-uninstalled-setup.sh' script in + + http://cgit.freedesktop.org/gstreamer/gstreamer/tree/scripts/ + +to easily create an uninstalled setup from scratch. + + +PLUG-IN DEPENDENCIES AND LICENSES +--------------------------------- + +GStreamer is developed under the terms of the LGPL (see LICENSE 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/common/gst.supp b/common/gst.supp index 5a23946..8a3617f 100644 --- a/common/gst.supp +++ b/common/gst.supp @@ -91,6 +91,14 @@ fun:pthread_create@@* } +{ + <tls> + Memcheck:Leak + fun:calloc + fun:allocate_dtv + fun:_dl_allocate_tls +} + # I get an extra stack entry on x86/dapper { <tls> @@ -3969,3 +3977,10 @@ fun:gobject_init_ctor } +{ + <quark table is leaked on purpose if it grows too big> + Memcheck:Leak + fun:malloc + ... + fun:g_quark_from*_string +} diff --git a/common/m4/Makefile.in b/common/m4/Makefile.in index 23ce371..f3b2905 100644 --- a/common/m4/Makefile.in +++ b/common/m4/Makefile.in @@ -256,7 +256,6 @@ GTKDOC_DEPS_CFLAGS = @GTKDOC_DEPS_CFLAGS@ GTKDOC_DEPS_LIBS = @GTKDOC_DEPS_LIBS@ GTKDOC_MKPDF = @GTKDOC_MKPDF@ GTKDOC_REBASE = @GTKDOC_REBASE@ -HAVE_DOCBOOK2HTML = @HAVE_DOCBOOK2HTML@ HAVE_DOCBOOK2PS = @HAVE_DOCBOOK2PS@ HAVE_DVIPS = @HAVE_DVIPS@ HAVE_EPSTOPDF = @HAVE_EPSTOPDF@ @@ -267,6 +266,7 @@ HAVE_PNGTOPNM = @HAVE_PNGTOPNM@ HAVE_PNMTOPS = @HAVE_PNMTOPS@ HAVE_PS2PDF = @HAVE_PS2PDF@ HAVE_XMLLINT = @HAVE_XMLLINT@ +HAVE_XSLTPROC = @HAVE_XSLTPROC@ HOST_CPU = @HOST_CPU@ HTML_DIR = @HTML_DIR@ INSTALL = @INSTALL@ diff --git a/common/m4/as-docbook.m4 b/common/m4/as-docbook.m4 index 8a1b32a..2e27050 100644 --- a/common/m4/as-docbook.m4 +++ b/common/m4/as-docbook.m4 @@ -14,7 +14,19 @@ AC_DEFUN([AS_DOCBOOK], TYPE_UC=XML DOCBOOK_VERSION=4.1.2 - if test ! -f /etc/xml/catalog; then + if test -n "$XML_CATALOG_FILES"; then + oldIFS=$IFS + IFS=' ' + for xml_catalog_file in $XML_CATALOG_FILES; do + if test -f $xml_catalog_file; then + XML_CATALOG=$xml_catalog_file + CAT_ENTRY_START='<!--' + CAT_ENTRY_END='-->' + break + fi + done + IFS=$oldIFS + elif test ! -f /etc/xml/catalog; then for i in /usr/share/sgml/docbook/stylesheet/xsl/nwalsh /usr/share/sgml/docbook/xsl-stylesheets/ /usr/local/share/xsl/docbook ; do if test -d "$i"; then diff --git a/common/m4/gst-doc.m4 b/common/m4/gst-doc.m4 index cf83184..5d3f0fd 100644 --- a/common/m4/gst-doc.m4 +++ b/common/m4/gst-doc.m4 @@ -20,34 +20,10 @@ AC_DEFUN([AG_GST_DOCBOOK_CHECK], dnl check for docbook tools AC_CHECK_PROG(HAVE_DOCBOOK2PS, docbook2ps, yes, no) - AC_CHECK_PROG(HAVE_DOCBOOK2HTML, docbook2html, yes, no) + AC_CHECK_PROG(HAVE_XSLTPROC, xsltproc, yes, no) AC_CHECK_PROG(HAVE_JADETEX, jadetex, yes, no) AC_CHECK_PROG(HAVE_PS2PDF, ps2pdf, yes, no) - # -V option appeared in 0.6.10 - docbook2html_min_version=0.6.10 - if test "x$HAVE_DOCBOOK2HTML" != "xno"; then - docbook2html_version=`docbook2html --version` - AC_MSG_CHECKING([docbook2html version ($docbook2html_version) >= $docbook2html_min_version]) - if perl -w <<EOF - (\$min_version_major, \$min_version_minor, \$min_version_micro ) = "$docbook2html_min_version" =~ /(\d+)\.(\d+)\.(\d+)/; - (\$docbook2html_version_major, \$docbook2html_version_minor, \$docbook2html_version_micro ) = "$docbook2html_version" =~ /(\d+)\.(\d+)\.(\d+)/; - exit (((\$docbook2html_version_major > \$min_version_major) || - ((\$docbook2html_version_major == \$min_version_major) && - (\$docbook2html_version_minor >= \$min_version_minor)) || - ((\$docbook2html_version_major == \$min_version_major) && - (\$docbook2html_version_minor >= \$min_version_minor) && - (\$docbook2html_version_micro >= \$min_version_micro))) - ? 0 : 1); -EOF - then - AC_MSG_RESULT(yes) - else - AC_MSG_RESULT(no) - HAVE_DOCBOOK2HTML=no - fi - fi - dnl check if we can process docbook stuff AS_DOCBOOK(have_docbook=yes, have_docbook=no) @@ -60,7 +36,7 @@ EOF AC_CHECK_PROG(HAVE_EPSTOPDF, epstopdf, yes, no) dnl check if we can generate HTML - if test "x$HAVE_DOCBOOK2HTML" = "xyes" && \ + if test "x$HAVE_XSLTPROC" = "xyes" && \ test "x$enable_docbook" = "xyes" && \ test "x$HAVE_XMLLINT" = "xyes"; then DOC_HTML=yes diff --git a/common/m4/gst-glib2.m4 b/common/m4/gst-glib2.m4 index b80be0b..9a3a923 100644 --- a/common/m4/gst-glib2.m4 +++ b/common/m4/gst-glib2.m4 @@ -28,7 +28,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK], GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_THREADS_MANDATORY" dnl Define G_DISABLE_DEPRECATED for GIT versions - if test "x$PACKAGE_VERSION_NANO" = "x1"; then + if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then GLIB_EXTRA_CFLAGS="$GLIB_EXTRA_CFLAGS -DG_DISABLE_DEPRECATED" fi @@ -39,7 +39,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK], if test "x$enable_gobject_cast_checks" = "xauto"; then dnl For releases, turn off the cast checks - if test "x$PACKAGE_VERSION_NANO" = "x1"; then + if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then enable_gobject_cast_checks=yes else enable_gobject_cast_checks=no @@ -57,7 +57,7 @@ AC_DEFUN([AG_GST_GLIB_CHECK], if test "x$enable_glib_assertions" = "xauto"; then dnl For releases, turn off the assertions - if test "x$PACKAGE_VERSION_NANO" = "x1"; then + if test "x$PACKAGE_VERSION_NANO" = "x1" -o "x`expr $PACKAGE_VERSION_MINOR % 2`" = "x1"; then enable_glib_assertions=yes else enable_glib_assertions=no |