Commit graph

153 commits

Author SHA1 Message Date
Andy Wingo
70cfc6cb4d new parser that uses flex and bison
Original commit message from CVS:
* new parser that uses flex and bison
- doesn't do dynamic pipelines yet...
* added GErrors to the gst_parse_launch[v] api
* added --gst-mask-help command line option
* fixed -o option for gst-launch
* GstElement api change:
- gst_element_get_pad
- gst_element_get_request_pad, gst_element_get_static_pad
- gst_element_get_compatible_pad
- gst_element_get_compatible_static_pad, gst_element_get_compatible_request_pad
- gst_element_[dis]connect -> gst_element_[dis]connect_pads
- gst_element_[dis]connect_elements -> gst_element_[dis]connect
* manual update
* example, tool, and doc updates for the api changes
- no more plugin docs in the core docs, plugins require a more
extensive doc system
2002-04-07 23:32:16 +00:00
Andy Wingo
832f0a7852 add (incomplete) flex/bison-based parser to cvs the tokenizer is functional, but the grammar definition is bad. this ...
Original commit message from CVS:
add (incomplete) flex/bison-based parser to cvs

the tokenizer is functional, but the grammar definition is bad. this
probably breaks distcheck somehow, but hey.
2002-03-31 21:09:17 +00:00
Wim Taymans
f0326eea55 - Remove the propsprivate header file
Original commit message from CVS:
- Remove the propsprivate header file
- Added new API for properties.
- Moved the clock distribution to the scheduler.
- Removed the lock from GstCaps
- Added boxed types for Caps/Props
- Simplified the clock, new systemclock implementation
- Removed deprecated element_info/send_event functions
- First step at exposing more info in the pad_connect functions
- Queue cleanup
- Make the scheduler aware of other schedulers inside it
- Added the _SELF_SCHEDULABLE flag to gstthread
- Removed _get_widget from _utils, changed to new props API
- Make fakesink sync on timestamps when requested
- Removed the offset notify from filesrc
- Added a fast scheduler
- some scheduler cleanups.
2002-03-30 17:05:03 +00:00
Andy Wingo
25184d6017 do the genmarshalling to temp files, then move the temp files over
Original commit message from CVS:
do the genmarshalling to temp files, then move the temp files over
2002-03-19 17:07:20 +00:00
Thomas Vander Stichele
db12e3db8a I don't think we wanted to change the include dir to gstreamer as well.
Original commit message from CVS:
I don't think we wanted to change the include dir to gstreamer as well.
If we did, then we need major code cleanups all over so let's hold off for
a second.
2002-02-11 15:35:42 +00:00
Thomas Vander Stichele
4e47d8882e this cothread thing is starting to confuse me which are we using atm ?
Original commit message from CVS:
this cothread thing is starting to confuse me
which are we using atm ?
2002-02-11 10:27:04 +00:00
Andy Wingo
8af369ecf6 removed cothread-specific code from gstinfo.c because the new cothreads has no cothread_self()
Original commit message from CVS:
* removed cothread-specific code from gstinfo.c because the new cothreads has no cothread_self()
* added a new scheduler, untested but it does compile :-)
* cothreads links to the scheduler, not core now
* no installation of cothreads headers
2002-02-11 01:38:55 +00:00
Andy Wingo
b47aea64e1 changed libgst -> libgstreamer to comply with namespace issues with gnu smalltalk various other fixes
Original commit message from CVS:
* changed libgst -> libgstreamer to comply with namespace issues with gnu smalltalk
* various other fixes
2002-02-10 17:09:53 +00:00
Thomas Vander Stichele
84261f5080 oopsie
Original commit message from CVS:
oopsie
2002-02-10 10:11:44 +00:00
Thomas Vander Stichele
f985019e4c more build cleanups (using as-version and as-libtool) some release doc notes from the previous release
Original commit message from CVS:
* more build cleanups (using as-version and as-libtool)
* some release doc notes from the previous release
2002-02-09 21:05:12 +00:00
Richard Boulton
d8a26dcd5a Use automake's per-target CFLAG functionality to compile cothreads.c with correct flags.
Original commit message from CVS:
Use automake's per-target CFLAG functionality to compile cothreads.c with
correct flags.
2002-02-06 18:53:33 +00:00
Andy Wingo
f7aa64cf33 core is glib2 only now tried to convert to g_strdup_value_contents as much as i could misc other fixes
Original commit message from CVS:
* core is glib2 only now
* tried to convert to g_strdup_value_contents as much as i could
* misc other fixes
2002-02-06 16:35:16 +00:00
Thomas Vander Stichele
9f5ccfc9b4 remove cothreads from the Makefile.am
Original commit message from CVS:
remove cothreads from the Makefile.am
2002-02-05 09:31:57 +00:00
Wim Taymans
53b6bb6242 Added a first stab at a better clocking system.
Original commit message from CVS:
Added a first stab at a better clocking system.
It still needs more infrastructure for async notification and custom clock
implementors.
This thing can still deadlock the pipeline.
2002-02-03 20:07:09 +00:00
Erik Walthinsen
5684e131de Change soversion back to 0:0:0 and add use of -release flag for libtool.
Original commit message from CVS:
Change soversion back to 0:0:0 and add use of -release flag for libtool.
This means that any program linking against libgst will automatically have
the specific release of libgst encoded into it.  This enforces the fact
that (for the moment), the API/ABI is changing rapidly enough that you
can't link against 0.3.2 originally and have it still work with 0.3.3.  It
might be possible, but highly unlikely.

When we get closer to a stable API/ABI, in the 0.5.0 timeframe most likely,
we will start using soversions as recommended in the libtool docs.  Then
we have to pay more attention to forward and backwards compatiblity, or
rather, we have to *start* paying attention <g>
2002-02-01 22:37:16 +00:00
Thomas Vander Stichele
dd61460c4a ... and this one fixes make distcheck for glib2 builds
Original commit message from CVS:
... and this one fixes make distcheck for glib2 builds
2002-01-29 12:08:42 +00:00
Thomas Vander Stichele
a65431489c this fixes the marshal thingy
Original commit message from CVS:
this fixes the marshal thingy
2002-01-29 11:17:44 +00:00
Andy Wingo
f58c8f26b4 build system tweaks, and now the cothreads test code will build and configure with the rest of gst.
Original commit message from CVS:
build system tweaks, and now the cothreads test code will build and configure with the rest of gst.
2002-01-23 00:04:33 +00:00
Thomas Vander Stichele
c81314f924 fixes to make distcheck work changed registry out of date to warning to allow tests to continue regardless (any bette...
Original commit message from CVS:
fixes to make distcheck work
changed registry out of date to warning to allow tests to continue regardless (any better suggestions much appreciated)
2002-01-02 12:23:26 +00:00
Wim Taymans
5ad018148c Some more work on cleanup.
Original commit message from CVS:
Some more work on cleanup.
- added two functions in the scheduler _setup and _reset to initialize
the context. In the case of the cothread context we have to map the
cothread stack space onto the threads stack.
- setup/reset the scheduler context in the threads context.
- fix the ghostpad cleanup.
- slightly changed the scheduler code to cleanly remove connections.
2001-12-19 19:22:53 +00:00
wrobell
08eaa11259 - some fixes to int2float making automake 1.5 happy (gst now requires automake1.5). It's still not perfect but it bui...
Original commit message from CVS:
- added playondemand plugin by Leif Morgan Johnson <lmjohns3@eos.ncsu.edu>
- some fixes to int2float
- aplied a patch from wrobell <wrobell@ite.pl> that is a first attempt at
making automake 1.5 happy (gst now requires automake1.5). It's still not
perfect but it builds.
- Made the schedulers plugable. The default scheduler now lives inside a
plugin.
- Added a new mpeg1/2 parser/demuxer.
- Fixed some compiler warnings in the core libs.
- substantial work to GstThread (hopefully less race conditions). simplified
the code in GstThread a bit. A state change can now also happen in the
thread context.
- reworked the state semantics of a bin. it'll now automatically get the
highest state of its children.
- the autoplugger now nests the threads so that a state change failure of
one thread doesn't make its upstream thread lock.
- GstQueue refuses to go to PLAYING if the sinkpad is not connected. This
way the queue will not wedge in the _get lock.
- GstQueue unlocks its mutexes when going to PAUSED.
- make sure that when all elements in a bin/thread go to PAUSED, the bin
is set to PAUSED too.
- make a parent bin wait for its children to PAUSE before ending the
iteration with FALSE (EOS)
- Some changes to GstPlay to deal with EOS.
- aplied the latest patch from Zeenix to gstrtp.

end result: GstPlay doesn't crash on EOS and the pipeline is now shut down
properly.
2001-12-04 22:12:50 +00:00
Wim Taymans
97032976ae Don't try to build the marshall stuff with the gtk shims
Original commit message from CVS:
Don't try to build the marshall stuff with the gtk shims
2001-10-24 20:29:44 +00:00
Erik Walthinsen
381f7b930f BUILT_SOURCES patch from vishnu
Original commit message from CVS:
BUILT_SOURCES patch from vishnu
2001-10-24 04:44:30 +00:00
Erik Walthinsen
d574ab8126 merge from EVENTS1 on 20011016
Original commit message from CVS:
merge from EVENTS1 on 20011016
2001-10-17 10:21:27 +00:00
Steve Baker
a0334eba32 remove dparams from core
Original commit message from CVS:
remove dparams from core
2001-10-07 09:41:36 +00:00
Joshua N. Pritikin
59a47966f1 looks like cvs mangled something (?) -- try to repair
Original commit message from CVS:
looks like cvs mangled something (?) -- try to repair
2001-09-17 07:33:04 +00:00
Joshua N. Pritikin
8b29840f55 1. Add more warnings for the gst core only. Various trival fixes to quiet the warnings.
Original commit message from CVS:
1. Add more warnings for the gst core only.  Various trival fixes
to quiet the warnings.

2. Fix GstBufferCopyFunc prototype.

3. Re-apply the reverted type!=0 assertion in gst_elementfactory_new.
2001-09-14 22:16:47 +00:00
Joshua N. Pritikin
6ed590fe49 fix glib2 build
Original commit message from CVS:
fix glib2 build
2001-09-14 21:57:47 +00:00
Joshua N. Pritikin
59d6b74a61 1 fix duplicate #define of gst_marshal_VOID__OBJECT_POINTER 2 make g_critical automatically offer to do stack trace
Original commit message from CVS:
1 fix duplicate #define of gst_marshal_VOID__OBJECT_POINTER
2 make g_critical automatically offer to do stack trace
2001-09-13 21:16:25 +00:00
Steve Baker
750e6b8c97 dparams have arrived. see previous mail for an intro
Original commit message from CVS:
dparams have arrived. see previous mail for an intro
2001-09-10 16:28:43 +00:00
Erik Walthinsen
1aff968e49 and moved all the architecture- specific code out of the many header files and put them all in gstarch.h.
Original commit message from CVS:
Added MIPS support to cothreads (untested), and moved all the architecture-
specific code out of the many header files and put them all in gstarch.h.
2001-09-05 21:36:24 +00:00
Andy Wingo
07d52eef34 I think I finally have this configdir thing under control. The defines on the make command lines were not following t...
Original commit message from CVS:
I think I finally have this configdir thing under control. The defines on the
make command lines were not following the GST_CONFIG_DIR variable.
2001-09-02 01:56:20 +00:00
Bastien Nocera
711d79155d - ta ta ta, install gstevent.h, otherwise it doesn't work quite right, does it ?
Original commit message from CVS:
- ta ta ta, install gstevent.h, otherwise it doesn't work quite right, does it ?
2001-08-29 22:56:12 +00:00
Wim Taymans
12bbbd5c1e Lots of modifications to the plugin system.
Original commit message from CVS:
Lots of modifications to the plugin system.
- Added a GstPluginfeature object that serves as a base class for all
plugin contents.
- changed the plugin API, everyhting is now added with
gst_plugin_add_feature
- typefactories are named now so that they can be located easily and filled
in at plugin load.
- mime types like "video/raw image/raw" are gone for now.
- lots of plugin updates (style and API changes)
- tested with an without registry.
- updates to various tools.
- added a little testsuite to test/show how you can load plugins (4 modes)

Test this one, Almost everything has changed :-)
2001-08-21 20:16:48 +00:00
Erik Walthinsen
f47ec2ab8b messy hack to make sure libgst.la builds properly (FIXME!)
Original commit message from CVS:
messy hack to make sure libgst.la builds properly (FIXME!)
2001-08-13 19:03:58 +00:00
Erik Walthinsen
f79f04f876 moved the object-model headers back to _HDR where they belong
Original commit message from CVS:
moved the object-model headers back to _HDR where they belong
2001-08-03 00:08:12 +00:00
Richard Boulton
22162769b8 Prefix for marshallers should be gst_marshal, rather than gst.
Original commit message from CVS:
Prefix for marshallers should be gst_marshal, rather than gst.
This now actually compiles for me.
2001-06-29 10:26:13 +00:00
Richard Boulton
b3e700e0f8 Ensure that the marshaller code #includes glib-object.h, and hence the neccessary definitions to enable it to compile.
Original commit message from CVS:
Ensure that the marshaller code #includes glib-object.h, and hence the
neccessary definitions to enable it to compile.

I don't pretend to understand how the marshalling stuff works - I just
know that it clearly needs this #include, or something similar.  If there's
a more correct fix, someone else can do it.  Possibly this is a
glib-genmarshal bug, but I've not got the time to go into that.
2001-06-29 09:39:58 +00:00
Richard Boulton
5ffe5a0901 Ensure that the gstmarshal.[ch] files are generated in time by generating both files in the same rule: previously, on...
Original commit message from CVS:
Ensure that the gstmarshal.[ch] files are generated in time by generating
both files in the same rule: previously, only the .c would be generated in
time.  Don't put the files in dists (add a dist-hook to take them out),
and clean the files when running distclean.
2001-06-28 23:58:54 +00:00
Richard Boulton
835d9ee594 Make sure conditionally compiled files are added to the dist.
Original commit message from CVS:
Make sure conditionally compiled files are added to the dist.
2001-06-28 21:44:33 +00:00
Wim Taymans
4498dccbec Removed the GST_CONFIG_DIR from config.h and made a -D CFLAG for it instead so that we can do full expansion on the s...
Original commit message from CVS:
Removed the GST_CONFIG_DIR from config.h and made a -D CFLAG for it
instead so that we can do full expansion on the sysconfdir.
2001-06-26 22:15:20 +00:00
Wim Taymans
6f0bce54fa Removed the final bits of GstMeta.
Original commit message from CVS:
Removed the final bits of GstMeta.
Added conditional compilation of various subsystems.
2001-06-25 20:36:02 +00:00
Erik Walthinsen
75d3b2f90b added gstmarshal.[ch] to .cvsignore, added gstmarshal.list to EXTRA_DIST
Original commit message from CVS:
added gstmarshal.[ch] to .cvsignore, added gstmarshal.list to EXTRA_DIST
2001-06-25 20:01:42 +00:00
Erik Walthinsen
e75f6da2f9 removed gstmarshal.[ch], added gstmarshal.list, and a first pass at generation rules
Original commit message from CVS:
removed gstmarshal.[ch], added gstmarshal.list, and a first pass at generation rules
2001-06-25 19:59:33 +00:00
Wim Taymans
d89a407f2f Added configure checks to disable various major subsystems.
Original commit message from CVS:
Added configure checks to disable various major subsystems.
2001-06-25 19:19:17 +00:00
Erik Walthinsen
91d7e800d5 Reworked the arguments for DEBUG and INFO. Removed -debug-verbose.
Original commit message from CVS:
Reworked the arguments for DEBUG and INFO.  Removed -debug-verbose.
Renamed GST_DISABLE_XML to GST_DISABLE_LOADSAVE and added --disable flag.
2001-06-25 06:45:56 +00:00
Erik Walthinsen
7f8d8fe8d5 Merged from GOBJECT1 to HEAD at 200106241
Original commit message from CVS:
Merged from GOBJECT1 to HEAD at 200106241
2001-06-25 01:20:11 +00:00
Erik Walthinsen
2703619624 initial pass at #ifdef'ing xml load/save
Original commit message from CVS:
initial pass at #ifdef'ing xml load/save
2001-06-24 21:18:28 +00:00
Richard Boulton
083d01c3d9 Revert accidentally applied changes.
Original commit message from CVS:
Revert accidentally applied changes.
Time for bed.
2001-06-05 01:27:53 +00:00
Richard Boulton
b971f48169 FIx memleak in save-thyself introduced by changing plugin_get_list to copy.
Original commit message from CVS:
FIx memleak in save-thyself introduced by changing plugin_get_list to
copy.
2001-06-05 01:26:01 +00:00
Erik Walthinsen
c442db8165 some fixes to handle builddirs, which distcheck uses, along with complete .pc files
Original commit message from CVS:
some fixes to handle builddirs, which distcheck uses, along with complete .pc files
2001-05-28 07:46:21 +00:00
Erik Walthinsen
4a583683e5 Merged from INCSCHED on 200505251!!!
Original commit message from CVS:
Merged from INCSCHED on 200505251!!!
2001-05-25 21:00:07 +00:00
Erik Walthinsen
91aa46b62d finished change to GST_ macros
Original commit message from CVS:
finished change to GST_ macros
2001-04-17 05:24:24 +00:00
Erik Walthinsen
f994c4fafe added gstversion.h
Original commit message from CVS:
added gstversion.h
2001-04-17 02:19:08 +00:00
Wim Taymans
0837e1e495 Modified a lot of plugins to use the caps system.
Original commit message from CVS:
Modified a lot of plugins to use the caps system.
Modified the caps of audio/raw to our agreed properties.
Added the multidisksrc plugin of Dominic Ludlam
Renamed audiosink/src to osssink/src and updated all the examples using
the old name. Moved oss specific plugins in an oss directory. removed
the old audiosink from the elements/ dir.
removed audioraw.h metadata header files since we now use the properties.
There are still a few plugins that won't build because they include the
old audioraw.h header file. This will be fixed soon.
Make sure the caps are set in the plugins as described by their
padtemplates (this should solve problems with gstmediaplay with various
media files).

*please don't panic when some plugins won't build, just cd manually into
the plugin dirs* This will be fixed soon.
2001-03-24 17:22:03 +00:00
Wim Taymans
55006f6367 Merged the AUTOPLUG2 branch
Original commit message from CVS:
Merged the AUTOPLUG2 branch
2001-03-07 21:52:56 +00:00
Erik Walthinsen
ca4e87219c added sparc cothreads
Original commit message from CVS:
added sparc cothreads
2001-03-02 18:30:37 +00:00
Erik Walthinsen
588c6968f9 Fixed cothreads.c problems with make dist. This still sucks badly.
Original commit message from CVS:
Fixed cothreads.c problems with make dist.  This still sucks badly.
2001-02-07 22:07:22 +00:00
Erik Walthinsen
5ed8c467bf more cothreads cleanup, and first pass at ARM code
Original commit message from CVS:
more cothreads cleanup, and first pass at ARM code
2001-01-19 09:14:42 +00:00
Wim Taymans
520fbbee75 Moved queue and typefind elements to the core since they are referenced by name.
Original commit message from CVS:
Moved queue and typefind elements to the core since they are referenced
by name.
2001-01-19 00:01:42 +00:00
Wim Taymans
90f82b6840 Added mthodes to request an element to create pads: gst_element_request_pad*
Original commit message from CVS:
Added mthodes to request an element to create pads: gst_element_request_pad*
This can be used to construct a tee and a muxer/mixer/aggregator element.
Moved the tee element to elements/ because it can now be handled with the
new pad request features.
The padfactory also has some changes: a pad can now be of presence REQUEST,
which means that the pad can be requested from this plugin (doh).
2001-01-18 23:46:15 +00:00
Erik Walthinsen
fb871eec23 Updates to cothreads code, including non-working alpha. Changed things a bit, including PPC. Not having a PPC machi...
Original commit message from CVS:
Updates to cothreads code, including non-working alpha.  Changed things a
bit, including PPC.  Not having a PPC machine, I need someone to test
these changes and report back whether they worked or not.
2001-01-18 08:54:25 +00:00
Richard Boulton
a4e3d04aeb Adding nasty hack to rules to generate cothreads.{o,lo}, to get dependencies right. Rules copied from automake, and ...
Original commit message from CVS:
Adding nasty hack to rules to generate cothreads.{o,lo}, to get dependencies
right.  Rules copied from automake, and therefore a bit dependent on automake
keeping doing dependency things the same kind of way, but it should work as
long as automake puts dependencies into .deps/*.P
2001-01-14 22:24:28 +00:00
Erik Walthinsen
9ca8248cc2 Massive build fixup. Will send message to -devel list later with details on the changes and what they mean for Makef...
Original commit message from CVS:
Massive build fixup.  Will send message to -devel list later with details
on the changes and what they mean for Makefile.am writers.  Check
docs/random/omega/build/TODO for a list of things that I had to make sure
of.

NOTE: this requires a complete rebuild of all plugins, since I also
changed the STATE enum to a bitfield instead of sequential numbers.
2001-01-14 21:55:41 +00:00
Erik Walthinsen
ee2d89cb57 turned -launch capabilities into gst_parse_launch()
Original commit message from CVS:
turned -launch capabilities into gst_parse_launch()
2001-01-07 04:00:30 +00:00
Erik Walthinsen
cd744791c5 More build fixes
Original commit message from CVS:
More build fixes
2001-01-01 21:21:25 +00:00
Erik Walthinsen
e70fb19402 fixed a nasty bug where at -O6 teh compiler optimized cothreads.c beyond the point of functioning
Original commit message from CVS:
fixed a nasty bug where at -O6 teh compiler optimized cothreads.c beyond the point of functioning
2001-01-01 06:57:46 +00:00
Wim Taymans
f3f09b43da Added command line parsing for
Original commit message from CVS:
Added command line parsing for
--gst-info-mask, --gst-debug-mask and --help
Dump the FLAGS and options on --help
2001-01-01 03:43:27 +00:00
Wim Taymans
527525a282 Fix some compile warnings
Original commit message from CVS:
Fix some compile warnings
2000-12-31 23:31:51 +00:00
Wim Taymans
1c5119618d Updated the docs
Original commit message from CVS:
Updated the docs
Updated gst/Makefile.am to add CFLAGS
Added test programs to tests/.cvsignore
2000-12-31 17:02:47 +00:00
Richard Boulton
5e5b81ef79 Add gstpropsprivate.h to dist.
Original commit message from CVS:
Add gstpropsprivate.h to dist.
2000-12-31 15:53:07 +00:00
Wim Taymans
c306021ce3 Fixed buffer flag handling gstplay used old flag handling updated some plugins for the new objects/error handling
Original commit message from CVS:
Fixed buffer flag handling
gstplay used old flag handling
updated some plugins for the new objects/error handling
Fixed a serious buffer error in gst_buffer_append
2000-12-29 19:45:45 +00:00
Erik Walthinsen
a80b0c26d5 Added DEBUG, INFO, and ERROR systems. Very little code is converted yet.
Original commit message from CVS:
Added DEBUG, INFO, and ERROR systems.  Very little code is converted yet.
Policy decisions need to be made as to what kinds of cases get what kind
of response, and what the default ERROR response should be.  Right now it
will print out all the information, then have gdb spew a stack trace.
2000-12-29 10:02:17 +00:00
Erik Walthinsen
09eeadb15f Reparented everything to GstElement, removing GstSrc, GstSink, GstFilter, and GstConnection. Also fixed a bug in gst...
Original commit message from CVS:
Reparented everything to GstElement, removing GstSrc, GstSink, GstFilter,
and GstConnection.  Also fixed a bug in gst_bin_iterate_func.
2000-12-29 02:28:04 +00:00
Erik Walthinsen
ca1c48e95c Updated copyright in all the libgst files.
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
2000-12-28 22:12:02 +00:00
Erik Walthinsen
7dcd7a13a1 Mostly minor little changes, but two interesting things: 1) removed a pthread_join from the gst_thread_main_loop. co...
Original commit message from CVS:
Mostly minor little changes, but two interesting things:

1) removed a pthread_join from the gst_thread_main_loop.  commented out
because the thread isn't supposed to run pthread_join, the main process is.

2) Fixed a major bug with cothreads in threads.  Had to add MAP_FIXED to
the mmap() of the cothread stack.  Presumably the gilbc that ships with
redhat 7.0 now places these mmap requests somewhat randomly.  Since they
*must* be exactly where we expect them, it was failing.  MAP_FIXED forces
it to put it where we say.
2000-12-27 03:13:20 +00:00
Erik Walthinsen
a46c5a73f0 More massive changes to the scheduling system. Moved the scheduling code to gstscheduler.[ch], so an child bin can r...
Original commit message from CVS:
More massive changes to the scheduling system.  Moved the scheduling code
to gstscheduler.[ch], so an child bin can replace the scheduler.
Introduced the concept of chains, which are subsets of the list of managed
elements for a given manager bin, which get scheduled as separate entities.
gst_bin_iterate_func should be pretty much fixed now, the scheduling code
gets to do all the hard work.

Cothreaded case work in the couple tests I've tried, chained is next.
2000-12-26 23:51:04 +00:00
Wim Taymans
bbb9799996 Cleanup in gsttypes.c: removed the crazy GList of GHashTables, since the autoplugger will use the GstCaps and element...
Original commit message from CVS:
Cleanup in gsttypes.c:
removed the crazy GList of GHashTables, since the autoplugger will
use the GstCaps and elementfactories instead of the type system.
We don't maintain a list anymore of the elements for the specific
removed unused code in XML loading/saving.

Cleanup in gstelementfactory:
removed the register/unregister methods, register is now implicit when
gst_elementfactory_new is called. _unregister is now _destroy.
Removed logic to register/unregister the types in gsttypes.
added methods to query if the factory can src/sink a GstCaps
Make sure the elementfactory is set in the element_class when a new
element is registered with gst_elementfactory_new.

gst.c: properly register the basic bins
gst_pipeline: use new gstautoplug (next checkin)
gstprops: fixed an error in compatibility check
registry test program changes
plugins: misc changes for the new caps system.
2000-12-19 13:41:55 +00:00
Wim Taymans
a63780a377 Header cleanup: try to include as little as possible; this will probably speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
2000-12-15 01:57:34 +00:00
Wim Taymans
6fa6cd8ce4 First attempt at rebuilding the type/plugin system
Original commit message from CVS:
First attempt at rebuilding the type/plugin system
- make sure caps/props are saved in the registry
autoplugging is completely broken.
removed the typefactories and typeids from all the pads in the plugins
XML load/save is ok (be sure to rerun gstreamer-register)
2000-12-11 00:04:25 +00:00
Wim Taymans
eaa6e55855 separated the properties from the capabilities as we might use the properties for metadata too.
Original commit message from CVS:
separated the properties from the capabilities as we might use the properties
for metadata too.
2000-12-07 18:37:56 +00:00
Wim Taymans
855b6877e9 Fixed autoplugging.
Original commit message from CVS:
Fixed autoplugging.
2000-12-05 18:08:59 +00:00
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
Wim Taymans
4f55ae4ded Added multiple types to the pads.
Original commit message from CVS:
Added multiple types to the pads.
Added first preview of the capabilities system.
Autoplugging is seriously broken with these (and other) changes.
2000-12-03 17:51:29 +00:00
Wim Taymans
c125059f97 Added the excellent mpeg2dec decoder. Not 100% optimized but allready very fast.
Original commit message from CVS:
Added the excellent mpeg2dec decoder. Not 100% optimized but allready
very fast.
More cleanup.
2000-11-04 18:54:07 +00:00
Wim Taymans
2521a319c3 MPEG2 types added for better autoplugging. MPEG2 works more or less. fix in autoplugging. avi now works.
Original commit message from CVS:
MPEG2 types added for better autoplugging. MPEG2 works more or less.
fix in autoplugging. avi now works.
2000-10-21 12:04:40 +00:00
Wim Taymans
04bb8b0142 Added extra Gtk types for better editor properties (FILENAME, enums)
Original commit message from CVS:
Added extra Gtk types for better editor properties (FILENAME, enums)
The disksrcs location property can now be set in the editor: we can
now make our first working mp3 player with gsteditor!!
2000-10-11 19:30:07 +00:00
Wim Taymans
870c6045b2 Fixed a severe timestamp bug in mpeg_play.
Original commit message from CVS:
Fixed a severe timestamp bug in mpeg_play.
Create a new thread upon a multisrc element in autoplugging: the autoplug
example now correctly sets up 5 threads for an mpeg player.
2000-10-09 20:01:17 +00:00
Wim Taymans
4e7f031df7 Loading and saving of XML pipeline descriptions.
Original commit message from CVS:
Loading and saving of XML pipeline descriptions.
GladeXML like operation implemented (you can retrieve parts of a pipeline)
2000-09-27 19:33:10 +00:00
Richard Boulton
3bcccbf82e Make libs/idct only build mmx support if available - hopefully makes it compile on PPC.
Original commit message from CVS:
Make libs/idct only build mmx support if available - hopefully makes it
compile on PPC.
2000-09-21 01:34:34 +00:00
Wim Taymans
cab1728fa5 Added gst_pipeline_add_sink/src to allow multiple sink cases and more complex autoplugging. Update docs too.
Original commit message from CVS:
Added gst_pipeline_add_sink/src to allow multiple sink cases and
more complex autoplugging. Update docs too.
Simplified the pipeline autoplugging code.
Changed the cothread case: One iteration is now a push from the src
element. The disk source does not change its state anymore on eof.
Better type setting for the ac3 parser/decoder and mpeg2parse.
2000-09-17 22:08:09 +00:00
Richard Boulton
11e8ef9074 More work towards a powerPC port, and towards generic portability.
Original commit message from CVS:
More work towards a powerPC port, and towards generic portability.
2000-09-16 00:59:12 +00:00
Richard Boulton
968b5acaa1 Fix on x86 architectures - was just checking for 386, D'oh.
Original commit message from CVS:
Fix on x86 architectures - was just checking for 386, D'oh.
Fix autogen to run autoheader _before_ autoconf, since it generates a
required file (config.h.in, which I just removed from CVS since its an
autogenerated one).  Also fix messed up variables in gst/Makefile.am
2000-09-15 23:04:31 +00:00
Richard Boulton
238bbc23c8 Begun to add support for non i386 architectures, with the help of Chris
Original commit message from CVS:
Begun to add support for non i386 architectures, with the help of Chris
Emerson.  Added bits to configure to figure out architecture, and added
some alternatives for PPC.  Should cause no problems on i386, but I'll
check after this commit, but doesn't yet work on PPC by a fair way...
2000-09-15 22:44:10 +00:00
Wim Taymans
8051d54c36 Due to popular demand :-), I added a vorbis decoder.
Original commit message from CVS:
Due to popular demand :-), I added a vorbis decoder.
The encoder is not yet functional.
Small cosmetic changes to gstcpu.c

Beware:
You *need* to install libvorbis.a from the main vorbis CVS.
you *have* to change the line in libtool to
deplibs_check_method="pass_all"
because else the plugin shared library refuses to link against the
static libvorbis.a library. This is a hack. I have no intention in
including libvorbis into the gstreamer CVS tree and making it
libtool compatible.
2000-09-14 20:31:03 +00:00
Wim Taymans
8d2a4dfbec Added CPU detection.
Original commit message from CVS:
Added CPU detection.
Added SSE optimisation to mpeg_play
Modified the mpeg2 decoder and gstidct to use cpu detection.
Cleanups in the mpeg1 and mpeg2 decoders.
2000-09-12 18:13:48 +00:00
Wim Taymans
23540ccc52 Faster and modular getbits implementation.
Original commit message from CVS:
Faster and modular getbits implementation.
Fixed a bug in the audiosink that could lock up your box on bad MB.
Modified the plugins to use the new getbits functions.
2000-09-07 20:35:15 +00:00
Wim Taymans
6661696de0 Various fixes for the build/install problems update to the docs/manual. Added a simple helloworld example.
Original commit message from CVS:
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
Wim Taymans
202ba2ae4a State change fixes in the threading element.
Original commit message from CVS:
State change fixes in the threading element.
Added bufferpools.
2000-08-14 10:55:35 +00:00
Erik Walthinsen
b6d31c1c72 Megapatch, changes which states are available, how they're used, and how they're set. Also modifies the scheduling s...
Original commit message from CVS:
Megapatch, changes which states are available, how they're used, and how
they're set.  Also modifies the scheduling system, breaking pulled
buffers.  Check mail archives for more details.
2000-07-17 17:14:15 +00:00