GStreamer multimedia framework
Find a file
Erik Walthinsen 29d567ba23 Changes made to the DEBUG system. New header file gstdebug.h holds the stuff to keep it out of gst.h's hair. DEBUG ...
Original commit message from CVS:
Changes made to the DEBUG system.  New header file gstdebug.h holds the
stuff to keep it out of gst.h's hair.  DEBUG prints out the process id,
cothread id, source filename and line number.  Two new macros DEBUG_ENTER
and DEBUG_LEAVE are used to show the entry and exit of a given function.
This eventually might be used to construct call trace graphs, even taking
cothreads into account.  This would be quite useful in visualizing the
scheduling mechanism.

Minor changes to various debug messages.

Also sitting in gstdebug.h is a prototypical DEBUG_ENTER that's capable of
performing DEBUG_LEAVE automatically.  It does this by utilizing a
little-known GCC extension that allows one to call a function with the
same parameters as the current function.  The macro uses this to basically
call itself.  A boolean is used to ensure that when it calls itself it
actually runs the body of the function.  In the meantime it prints stuff
out before and after the real function, as well as constructing a
debugging string.  This can be used eventually to provide call-wide data
on the DEBUG lines, instead of having to replicate data on each call to
DEBUG.  More research is needed into how this would most cleanly be fit
into some other chunk of code, like GStreamer (I think of this DEBUG trick
as a separate project, sorta).

Unfortunately, the aforementioned DEBUG trick interacts quite poorly with
cothreads.  Almost any time it's used in a function that has anything
remotely to do with a cothread context (as in, it runs in one), a segfault
results from the __builtin_apply call, which is the heart of the whole
thing.  If someone who really knows assembly could analyze the resulting
code to see what's really going on, we might find a way to fix either the
macro or the cothreads (I'm thinking that there's something we missed in
constructing the cothreads themselves) so this works in all cases.

In the meantime, please insert both DEBUG_ENTER and DEBUG_LEAVE in your
functions.  Be sure to put DEBUG_ENTER after your variable declarations
and before any functional code, not to put the function name in any DEBUG
strings (it's already there, trust me), and put a DEBUG_LEAVE if you care
enough.

Changes are going to happen in the way DEBUGs and other printouts occur,
so stay tuned.
2000-12-04 09:35:08 +00:00
components/bonobo-gstmediaplay Reworked AC3 decoder. No seeking yet but at least we do not need ac3parse anymore. 2000-11-20 19:04:32 +00:00
docs First pass at an outline for the Filter Writer's Guide. Mostly complete, though the structure needs some work. Just... 2000-12-02 10:07:50 +00:00
editor Removed the hardcoded pipeline setup is gstplay in favor of the autoplugging features. Still in a rought shape... 2000-10-12 19:41:30 +00:00
examples Some code cleanup 2000-11-01 22:11:48 +00:00
gst Changes made to the DEBUG system. New header file gstdebug.h holds the stuff to keep it out of gst.h's hair. DEBUG ... 2000-12-04 09:35:08 +00:00
gstplay Something was wrong with SSE initialisation in mpeg2dec 2000-11-20 22:05:30 +00:00
include I'm too lazy to comment this 2000-11-04 18:55:01 +00:00
libs Added seeking to the avi decoder by implementing pull_region. 2000-11-06 00:15:51 +00:00
plugins/elements Code Cleanups 2000-11-25 14:18:47 +00:00
test Remove cothreads.[ch] from tests/cothreads/ and replace then with a rule in the Makefile.am to generate symlinks to t... 2000-12-03 15:02:24 +00:00
tests More test cases. 2000-12-03 20:15:24 +00:00
tools Changes to gstreamer-config to include gtk+ libs manual changes: queues, threads, programs gsteditor does not crash a... 2000-09-09 16:36:10 +00:00
.gitignore Fix on x86 architectures - was just checking for 386, D'oh. 2000-09-15 23:04:31 +00:00
acconfig.h Changes made to the DEBUG system. New header file gstdebug.h holds the stuff to keep it out of gst.h's hair. DEBUG ... 2000-12-04 09:35:08 +00:00
AUTHORS Patch from Chris Emerson for PPC. cothreads stuff was causing segfaults, because the stack needs to be initialised w... 2000-09-21 00:57:09 +00:00
autogen.sh Fix compile problem due to DEBUG being redefined in libs/getbits/gstgetbits.h. Also fix several small typos in the d... 2000-09-18 22:19:57 +00:00
ChangeLog initial checkin 2000-01-30 09:03:00 +00:00
configure.in Changes made to the DEBUG system. New header file gstdebug.h holds the stuff to keep it out of gst.h's hair. DEBUG ... 2000-12-04 09:35:08 +00:00
COPYING initial checkin 2000-01-30 09:03:00 +00:00
COPYING.LIB initial checkin 2000-01-30 09:03:00 +00:00
gstreamer-config.in A first attempt to fix the queues in a cothreaded pipeline. 2000-09-22 23:35:14 +00:00
gstreamer.m4 A bunch more changes to clean up build/make dist issues, as well as a spec file, -config file, .m4, etc. Next step... 2000-01-31 06:46:18 +00:00
gstreamer.spec.in More incremental updates. I can now successfully produce an rpm simply by typing ./autogen.sh;make rpm. This is g... 2000-01-31 09:43:08 +00:00
INSTALL initial checkin 2000-01-30 09:03:00 +00:00
install-sh 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
Makefile.am Don't compile editor if havn't got libglade-gnome. 2000-10-06 02:38:11 +00:00
missing initial checkin 2000-01-30 09:03:00 +00:00
mkinstalldirs initial checkin 2000-01-30 09:03:00 +00:00
NEWS initial checkin 2000-01-30 09:03:00 +00:00
README Various fixes for the build/install problems update to the docs/manual. Added a simple helloworld example. 2000-08-18 20:35:48 +00:00
stamp.h.in initial checkin 2000-01-30 09:03:00 +00:00

This is gnome-streamer, a framework for streaming media in GNOME.  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.