mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-13 17:55:30 +00:00
GStreamer multimedia framework
Original commit message from CVS: 2005-02-21 Andy Wingo <wingo@pobox.com> * gst/gstmessage.h (GstMessageType): Turned into flags. Added GST_MESSAGE_ANY as an OR of all flags. (GST_MESSAGE_PARSE_STATE_CHANGED): New terrible macro. Will be made into a function soon. (GstMessage): Add a state_changed structure to the union. The union will die soon in favor of a single GstStructure tho. (gst_message_new_state_changed): New API. * gst/gstmessage.c (gst_message_new_state_changed): New API. * tools/gst-launch.c (check_intr): Set the state of the pipeline to PAUSED here; the poll will catch the state change. (event_loop): New function, polls the pipeline bus for events. Can block until eos/error/state change, or just handle the pending events. (main): Changed to use event_loop instead of running a main loop. * gst/gstbus.h (gst_bus_poll): Added. (gst_bus_peek): Return non-const; the message is refcounted anyway. * gst/gstbus.c (gst_bus_init): Replace the GAsyncQueue with a GQueue+mutex to allow for _peek. (The wake-up functionality provided by GAsyncQueue is already done by our socketpair.) All queue users changed to lock, operate, and unlock. (gst_bus_post): Check the retval of write(2) and handle errno. (gst_bus_peek): Implemented. (gst_bus_pop, gst_bus_peek, bus_callback): Because the socketpair is used to wake up the GSource, read off the character in the GSource handler and not in pop/peek. This is because a peek will require a pop in the future, and you can't read off the char twice. Deal with errno in the read. (bus_callback): Interpret the handler return value as whether or not to pop the message from the bus. (poll_handler, poll_timeout, gst_bus_poll): New API. gst_bus_poll is meant to replace the while(gst_bin_iterate()) idiom. |
||
---|---|---|
check | ||
common@b2638c1007 | ||
components | ||
docs | ||
examples | ||
gst | ||
include | ||
libs | ||
pkgconfig | ||
plugins | ||
po | ||
scripts | ||
tests | ||
testsuite | ||
tools | ||
win32 | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
autogen.sh | ||
ChangeLog | ||
configure.ac | ||
COPYING | ||
DEVEL | ||
DOCBUILDING | ||
gst-element-check.m4 | ||
gst-element-check.m4.in | ||
gstreamer.spec.in | ||
idiottest.mak | ||
INSTALL | ||
LICENSE | ||
MAINTAINERS | ||
Makefile.am | ||
NEWS | ||
README | ||
RELEASE | ||
REQUIREMENTS | ||
stamp.h.in | ||
TODO |
WHAT IT IS ---------- This is GStreamer, a framework for streaming media. 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. COMPILING FROM SOURCE --------------------- - 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. GStreamer is cutting-edge stuff. To be a CVS developer, you need what used to be considered cutting-edge tools. ATM, most of us have at least these versions : * autoconf 2.52 (NOT 2.52d) * automake 1.5 * libtool 1.4 (NOT Gentoo's genetic failure 1.4.2) * pkg-config 0.8.0 autogen.sh will check for these 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"