GStreamer multimedia framework
Find a file
Andy Wingo 9d1b5e07b3 check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val.
Original commit message from CVS:
2005-08-26  Andy Wingo  <wingo@pobox.com>

* check/pipelines/simple_launch_lines.c (run_pipeline): Check
element_set_state's return val.
(test_2_elements): Add test that's been disabled for months.

* gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
can-activate-pull properties.

* gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
can-activate-pull properties. Implement is_seekable so fakesrc can
operate in pull mode.

* gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
properties.
(gst_base_sink_activate, gst_base_sink_activate_pull)
(gst_base_sink_activate_push): Make activation mode choosing work.
Cleanups.
(gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
is right. Make pull mode work. Post an eos before pausing in pull
mode.
(gst_base_sink_change_state): Pay attention to the core's
change_state() return val.

* gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
has-getrange properties. Cleanups.

* gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
has_getrange and replace with can_activate_pull and
can_activate_push.

* gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
locking comments. Remove has_loop, has_chain and replace with
can_activate_pull and can_activate_push.
2005-08-26 14:21:43 +00:00
check check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
common@7c93670c50 whitespace, doc and debug fixing/additions 2005-08-26 11:19:22 +00:00
components don't mix tabs and spaces 2004-03-15 19:27:17 +00:00
docs docs/gst/tmpl/gstminiobject.sgml: do *not* add tmpl/*.sgml files to CVS! 2005-08-26 13:21:47 +00:00
examples Add metadata reading example that loops over a list of filenames, dumping any tags found. 2005-08-26 13:28:01 +00:00
gst check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
include configure.ac: remove all mmx stuff, because it's not used. 2004-12-14 06:20:10 +00:00
libs check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
pkgconfig add pluginsdir to pkgconfig files 2005-08-24 16:46:10 +00:00
plugins check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
po added long/short desc for controller docs added collectpads base class docs added correct includes to base-class docs 2005-08-05 12:59:46 +00:00
scripts check out cvs code, autogen, make, make distcheck if you have spare machines at work sitting idly during the night, r... 2001-12-14 09:44:11 +00:00
tests check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
testsuite added controller code removed dparam pc files 2005-08-02 21:35:34 +00:00
tools Revert unpopular change for GST_MESSAGE_SRC to GObject. 2005-08-25 10:51:14 +00:00
win32 remove spider from dist 2005-08-13 11:45:50 +00:00
.gitignore ignore more; fix README 2005-06-17 08:59:41 +00:00
.gitmodules Added a first stab at a better clocking system. 2002-02-03 20:07:09 +00:00
AUTHORS put the same mail for Zaheer Merali everywhere 2004-12-11 13:42:02 +00:00
autogen.sh ignore already applied patch 2005-04-10 18:19:18 +00:00
ChangeLog check/pipelines/simple_launch_lines.c (run_pipeline): Check element_set_state's return val. 2005-08-26 14:21:43 +00:00
CHANGES-0.9 Some docs updates 2005-07-27 18:33:03 +00:00
configure.ac Add metadata reading example that loops over a list of filenames, dumping any tags found. 2005-08-26 13:28:01 +00:00
COPYING COPYING: replace by LGPL (former COPYING.LIB). The core is completely licensed LGPL. 2004-03-29 13:32:32 +00:00
DEVEL more registry fixes 2002-04-12 18:50:48 +00:00
DOCBUILDING fix really old / no more relevant info on devhelp support/integration 2004-09-27 19:59:08 +00:00
gst-element-check.m4 Only check for gst-inspect if we haven't already found it in previous element check runs 2005-01-25 14:03:12 +00:00
gst-element-check.m4.in Only check for gst-inspect if we haven't already found it in previous element check runs 2005-01-25 14:03:12 +00:00
gstreamer.spec.in fix up spec for latest CVS changes 2005-08-08 16:01:12 +00:00
idiottest.mak idiottest was failing because of change of PLUGIN_USE_SRCDIR to 2001-06-19 12:53:05 +00:00
INSTALL initial checkin 2000-01-30 09:03:00 +00:00
LICENSE Adding explicit license information, since quite a large number of source files don't have the LGPL header. This is ... 2000-08-05 03:53:00 +00:00
MAINTAINERS adding more people to maintainers doc and minor cosmetic change to REQUIREMENTS doc 2004-12-17 14:10:59 +00:00
Makefile.am better report genration target (lcov needs a patch) 2005-07-05 12:17:24 +00:00
NEWS back to head 2005-06-18 22:33:14 +00:00
README incorporate plugins stuff and uninstalled stuff 2005-06-17 09:58:38 +00:00
RELEASE back to head 2005-06-18 22:33:14 +00:00
REQUIREMENTS adding more people to maintainers doc and minor cosmetic change to REQUIREMENTS doc 2004-12-17 14:10:59 +00:00
stamp.h.in initial checkin 2000-01-30 09:03:00 +00:00
TODO have a real TODO, move old TODO 2005-06-09 12:03:04 +00:00

WHAT IT IS
----------
This is GStreamer, a framework for streaming media.

This package is in the 0.9.x series.  This means that this is a
development series leading up to a stable 0.10.x series.
You have been warned.

OVERVIEW
--------
GStreamer is split up over a number of modules, tarballs and packages:

- gstreamer:
  The core.  It contains the main library and header files, as well as
  some fundamental elements.  Every GStreamer project needs at least this
  installed.
- gst-plugins-base:
  A base set of plugins.  This set is the set we actively keep synchronized
  with the core and are also meant to serve as examples on how to write
  GStreamer elements.  It also contains a number of base classes for writing
  GStreamer elements.

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 CVS.

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), run
  make install
- You should create a registry for things to work.
  If you ran make install in the previous step, run
  gst-register
  as root.

  If you didn't install, run
  tools/gst-register
  as a normal user.

- try out a simple test:
  gst-launch fakesrc num_buffers=5 ! fakesink
  (If you didn't install GStreamer, again prefix gst-launch with tools/)

  If it outputs a bunch of messages from fakesrc and fakesink, everything is
  ok.

- 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 CVS
------------------
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

Check autogen.sh options by running autogen.sh --help

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.

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 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
details). Some of our plug-ins however rely on libraries which are available
under other licenses. This means that if you are using an application which
has a non-GPL compatible license (for instance a closed-source application)
with GStreamer, you have to make sure not to use 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.