Commit graph

268 commits

Author SHA1 Message Date
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
Wim Taymans f5fb79c4ec Fixed the state change code in gstelement that broke with the conversion of the states to a bitfield.
Original commit message from CVS:
Fixed the state change code in gstelement that broke with the conversion
of the states to a bitfield.
2001-01-15 19:25:26 +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
Wim Taymans a72f9832d1 Change MAP_ANONYMOUS to MAP_ANON in the mmap for BSD compatibility
Original commit message from CVS:
Change MAP_ANONYMOUS to MAP_ANON in the mmap for BSD compatibility
2001-01-14 14:57:56 +00:00
Wim Taymans 73ae4b1bce Added an extra signal_cond to queue to make sure that the waiting thread is woken up. Can somebody with queue problem...
Original commit message from CVS:
Added an extra signal_cond to queue to make sure that the waiting thread
is woken up. Can somebody with queue problems verifify that this does
improve the situation a bit. I'm suspecting that something else is going
on, like a pthreads bug or something.
Small updates to the fake elements.
2001-01-14 14:43:57 +00:00
Wim Taymans 22c9d0f1a6 include parser.h instead of gnome-xml/parser.h untill xml-config is fixed...
Original commit message from CVS:
include parser.h instead of gnome-xml/parser.h untill xml-config is
fixed...
2001-01-13 13:51:08 +00:00
Erik Walthinsen 558e9f4308 renamed private to element_private, to make obvious its usage restrictions
Original commit message from CVS:
renamed private to element_private, to make obvious its usage restrictions
2001-01-11 22:09:29 +00:00
Erik Walthinsen 60daf21ed4 added gpointer private to pads, so elements can store ints or pointers for their own use
Original commit message from CVS:
added gpointer private to pads, so elements can store ints or pointers for their own use
2001-01-11 22:03:01 +00:00
Erik Walthinsen 72c7d3527f removed some spare newlines
Original commit message from CVS:
removed some spare newlines
2001-01-11 00:33:51 +00:00
Erik Walthinsen 5e1c88675d minor docs fix
Original commit message from CVS:
minor docs fix
2001-01-10 09:15:00 +00:00
Erik Walthinsen d2b2f9e322 fixed a leak
Original commit message from CVS:
fixed a leak
2001-01-09 04:36:51 +00:00
Wim Taymans 2a4a536fee Manual updates. fixes to gstxml.c gst_xml_get_element was broken
Original commit message from CVS:
Manual updates.
fixes to gstxml.c gst_xml_get_element was broken
2001-01-08 22:08:40 +00:00
Richard Boulton 7291b0f7e8 Correct typo in comment, and make another comment more helpful.
Original commit message from CVS:
Correct typo in comment, and make another comment more helpful.
2001-01-08 22:04:52 +00:00
Wim Taymans 5193d34848 Handle the tee element like bin, thread, pipeline, so that it can be used in gstreamer-inspect and gstreamer-launch...
Original commit message from CVS:
Handle the tee element like bin, thread, pipeline, so that it can be used
in gstreamer-inspect and gstreamer-launch...
2001-01-07 18:36:30 +00:00
Richard Boulton e89f87b6b4 gstreamer-register will now never cause the
Original commit message from CVS:
gstreamer-register will now never cause the
** WARNING **: gstplugin: registry needs rebuild
warning to appear - sets a hidden global in gstplugin.c to turn the
warning off.
Fix a warning in gst/cothreads.c (function was declared extern, defined
static)
2001-01-07 15:20:49 +00:00
Wim Taymans ee7ae65e60 Greatly simplyfied queue locking by only using the elements mutex. This should fix the locking problems we had...
Original commit message from CVS:
Greatly simplyfied queue locking by only using the elements mutex. This
should fix the locking problems we had...
2001-01-07 14:49:23 +00:00
Erik Walthinsen e33b2e5908 more leak fixes
Original commit message from CVS:
more leak fixes
2001-01-07 07:45:54 +00:00
Richard Boulton 81aa7d16b0 Check plugin repository up-to-dateness by scanning through all directories on path, and checking that they and all th...
Original commit message from CVS:
Check plugin repository up-to-dateness by scanning through all directories
on path, and checking that they and all their files are older than the
repository.  Give warning message if not.
2001-01-07 07:01:37 +00:00
Richard Boulton 0a418d15d0 Config directory (which currently just holds the registry)ecan now be set by configure --with-configdir=<directory path>
Original commit message from CVS:
Config directory (which currently just holds the registry)ecan now be set
by configure --with-configdir=<directory path>
2001-01-07 05:30:07 +00:00
Erik Walthinsen 4bdaed3966 removed a leak
Original commit message from CVS:
removed a leak
2001-01-07 04:28:04 +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
Wim Taymans 6ae2ad5edb Added sleep time to identity
Original commit message from CVS:
Added sleep time to identity
Added timeout value in queue (not activated yet)
2001-01-07 03:42:27 +00:00
Erik Walthinsen 7c51d6e0ca Cleaned up the docs a bit.
Original commit message from CVS:
Cleaned up the docs a bit.
2001-01-06 22:05:15 +00:00
Wim Taymans 372b6f5887 Rearranged the mutex locking, still have to think about it though...
Original commit message from CVS:
Rearranged the mutex locking, still have to think about it though...
2001-01-06 19:09:40 +00:00
Wim Taymans f130a170c2 Added a mutex around the mem_chunck alloc routines
Original commit message from CVS:
Added a mutex around the mem_chunck alloc routines
2001-01-06 18:08:04 +00:00
Wim Taymans 3d34ce7b95 Updated the manual and the docs.
Original commit message from CVS:
Updated the manual and the docs.
Removed the esdsink in gst/elements/ we have a real one not in the
plugins dir.
Added more APIs to query the plugins, types and caps. more fields now
have a getter and a setter. This is needed to make gstreamer wrapper
fiendly.
Added gst_element_disconnect beacuse we also have a gst_element_connect
2001-01-06 02:35:17 +00:00
Erik Walthinsen f12fae5c3d fixed missing comment noticed by David Lehn
Original commit message from CVS:
fixed missing comment noticed by David Lehn
2001-01-05 00:28:09 +00:00
Erik Walthinsen df81ae1765 updated API docs
Original commit message from CVS:
updated API docs
2001-01-04 22:16:06 +00:00
Erik Walthinsen 759d83e487 Rearranged cothreads sources a bit, added some API docs.
Original commit message from CVS:
Rearranged cothreads sources a bit, added some API docs.
Added some functions needed for gstreamer-inspect.
Added num_sources to fakesink.
2001-01-04 10:54:27 +00:00
Erik Walthinsen fc1645131b debug updates and a padtemplate counter added
Original commit message from CVS:
debug updates and a padtemplate counter added
2001-01-03 20:44:28 +00:00
Erik Walthinsen 45f05bf6ed Made gst_pad_eos_func a non-static function
Original commit message from CVS:
Made gst_pad_eos_func a non-static function
2001-01-03 20:40:26 +00:00
Wim Taymans 7411cfe17e Made the GstProps a GList instead of a GSList
Original commit message from CVS:
Made the GstProps a GList instead of a GSList
Some fixes to inspect: added the mime type
2001-01-03 20:21:22 +00:00
Richard Boulton 2211a01d91 Various small fixes.
Original commit message from CVS:
Various small fixes.
2001-01-03 18:55:28 +00:00
Wim Taymans baf7b1747c Added a check for libjpeg
Original commit message from CVS:
Added a check for libjpeg
Added and action for the load menu in gstplay
Fixed drag and drop in gstplay
More verbose errors in gstasyndisksrc
2001-01-02 12:04:46 +00:00
Erik Walthinsen ae0d5d1889 Massive, massive update of most source files. I went through and cleaned up all the warnings that I could, which inv...
Original commit message from CVS:
Massive, massive update of most source files.  I went through and cleaned
up all the warnings that I could, which involved fixing some of the plugins.

The configure.in script was re-arranged and cleaned up so, and a check for
libtool 1.3.5 was added to autogen.sh.  Added checks for Gtk and GNOME.

Some plugins were removed from the list of things to build for various reasons.

Added GST_DEBUG_FORCE_DISABLE in gstgetbits, since that's time critical and
even an if() from a DEBUG can significantly increase runtimes.
2001-01-02 08:13:34 +00:00
Wim Taymans dd37e99746 Fixes for gsteditor/gstplay install/build fixed typo in random/eos added num_buffers property to fakesrc
Original commit message from CVS:
Fixes for gsteditor/gstplay install/build
fixed typo in random/eos
added num_buffers property to fakesrc
2001-01-02 01:44:53 +00:00
Erik Walthinsen cd744791c5 More build fixes
Original commit message from CVS:
More build fixes
2001-01-01 21:21:25 +00:00
Wim Taymans 4328a30762 Documentation updates
Original commit message from CVS:
Documentation updates
2001-01-01 17:25:43 +00:00
Erik Walthinsen 2da16ed5ed Re-arranged the build a bit to try to make it more sane. Added some debug.
Original commit message from CVS:
Re-arranged the build a bit to try to make it more sane.  Added some debug.
2001-01-01 08:37:41 +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 62a37e4ac3 Fixed a very bad error with autoplugging.
Original commit message from CVS:
Fixed a very bad error with autoplugging.
2001-01-01 05:26:34 +00:00
Erik Walthinsen 8cc76f5013 updated the debug system so it works nicely now
Original commit message from CVS:
updated the debug system so it works nicely now
2001-01-01 05:18:07 +00:00
Erik Walthinsen db7243a77b Added API to control DEBUG level, updated cmdline code
Original commit message from CVS:
Added API to control DEBUG level, updated cmdline code
2001-01-01 04:53:26 +00:00
Erik Walthinsen 1bf936db6d modified cmdlien code to take both 0xHEX and dec, and added an INFO line in gst_pad_connect()
Original commit message from CVS:
modified cmdlien code to take both 0xHEX and dec, and added an INFO line in gst_pad_connect()
2001-01-01 04:41:40 +00:00
Wim Taymans e2b9080249 Fixed a typo
Original commit message from CVS:
Fixed a typo
2001-01-01 04:04:33 +00:00
Erik Walthinsen e828948edc set categories for all INFOs
Original commit message from CVS:
set categories for all INFOs
2001-01-01 03:57:07 +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
Erik Walthinsen 1e04cefaf2 Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
2001-01-01 03:14:40 +00:00
Erik Walthinsen e154186bc4 fixed stupid (brown paper bag) bug with missing NULL on g_strconcat
Original commit message from CVS:
fixed stupid (brown paper bag) bug with missing NULL on g_strconcat
2001-01-01 02:46:56 +00:00
Erik Walthinsen 70d57d84b1 fixed the segfault
Original commit message from CVS:
fixed the segfault
2001-01-01 02:34:49 +00:00
Wim Taymans 2a1f2f4424 Added --enable-info and --disable-info-system nothing specified = INFO enabled, mask to 0x00000001
Original commit message from CVS:
Added --enable-info and --disable-info-system
nothing specified = INFO enabled, mask to 0x00000001
--enable-info =     INFO enabled, mask to 0xffffffff
--disable-info =    INFO compiled into a nop and thus disabled
2001-01-01 01:56:16 +00:00
Wim Taymans e8e04586aa Added GST_INFO_ENABLED flags
Original commit message from CVS:
Added GST_INFO_ENABLED flags
Added --enable-debug-info
A little fix for the avidecoder
2001-01-01 00:44:28 +00:00
Erik Walthinsen e0aa5bae14 Cleaned up INFO system some more, added API to select categories, modified the printout function to print cleanly for...
Original commit message from CVS:
Cleaned up INFO system some more, added API to select categories, modified
the printout function to print cleanly for GST_INIT info (the default min)
and spew function:line debug_string [element] for everything else.
Eventually could make even that configurable easily enough, just check
against another bitmap instead of checking for == GST_INIT.
2001-01-01 00:17:21 +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
Erik Walthinsen 9a0438ba93 Started work on better ghostpad management, and started to build the low- level EOS mechanism.
Original commit message from CVS:
Started work on better ghostpad management, and started to build the low-
level EOS mechanism.

Also removed a couple of printouts that aren't needed any more.
2000-12-31 22:18:05 +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
Wim Taymans bc4619a44b Added multiple caps to the pads
Original commit message from CVS:
Added multiple caps to the pads
Extended the padfactory for the multiple caps
GstCaps now have a name so that future manipulations on them can be done by name
Updated the plugins for the new caps list
2000-12-31 16:12:48 +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 96c0e20d95 Fixed autoplugging for avi
Original commit message from CVS:
Fixed autoplugging for avi
Fixed a bug in multiple typefind function loading: when a typefind is
requested for a mimetype, all plugins with a typefind function should be
loaded.
2000-12-30 19:04:51 +00:00
Wim Taymans 860ada25b1 Fixed MPEG2 autoplugging
Original commit message from CVS:
Fixed MPEG2 autoplugging
Added some more INFO to gstthread
2000-12-30 17:42:15 +00:00
Wim Taymans 3b805b9209 Docs updates: remove sink, src, filter, connection added gstinfo to docs.
Original commit message from CVS:
Docs updates: remove sink, src, filter, connection
added gstinfo to docs.
Updated some core files for the docs
gsttypefind did not include gst_private
Added CFlags to Makefile.am in gst/elements
2000-12-30 16:13:17 +00:00
Wim Taymans fbc4098833 Added some INFO in gstelements
Original commit message from CVS:
Added some INFO in gstelements
Reverted pad names in gstfakesrc back to what they were
2000-12-30 02:47:11 +00:00
Erik Walthinsen 9813b0ca37 Updated more files to use INFO.
Original commit message from CVS:
Updated more files to use INFO.
2000-12-30 02:41:15 +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
Wim Taymans fe6128b118 Fixed a serious bug in gst_props_new: properties with a 0 value causes a segfault
Original commit message from CVS:
Fixed a serious bug in gst_props_new: properties with a 0 value causes
a segfault
Fixed a possible bug in gstautoplug when one of the constructed paths
was empty
Commented out a too liberal assert in gstscheduler.c
Added GST_BUFFER_DISCONTINUOUS
tried to fix asyndisksrc
2000-12-29 18:23:41 +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 104c1889ed Updated copyright notices.
Original commit message from CVS:
Updated copyright notices.
2000-12-29 05:38:06 +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 1768119da6 missed one file for copyright
Original commit message from CVS:
missed one file for copyright
2000-12-28 22:13:35 +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
Wim Taymans 9655c3b593 Updated the API docs.
Original commit message from CVS:
Updated the API docs.
2000-12-28 21:42:23 +00:00
Erik Walthinsen c706b66123 removed some dead pad_pull/push code
Original commit message from CVS:
removed some dead pad_pull/push code
2000-12-28 21:12:40 +00:00
Wim Taymans f4a635c8dc Pending editor changes. fixes for autoplug of elementary MPEG1 video streams make sure mp3 types get compiled videosi...
Original commit message from CVS:
Pending editor changes.
fixes for autoplug of elementary MPEG1 video streams
make sure mp3 types get compiled
videosink changes for xml loading
2000-12-28 02:51:07 +00:00
Wim Taymans 41aa51ba45 Fixes for the new scheduler.
Original commit message from CVS:
Fixes for the new scheduler.
Autoplug works again with mp3/mpeg1/ogg
2000-12-28 00:18:26 +00:00
Erik Walthinsen 1c568619e9 Added some cleanup, so create_plan can be called multiple times.
Original commit message from CVS:
Added some cleanup, so create_plan can be called multiple times.
2000-12-27 23:42:15 +00:00
Wim Taymans 47c1e14677 Added loop_based option
Original commit message from CVS:
Added loop_based option
Added multiple pad output
2000-12-27 04:16:01 +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 8139aeca9e Added code to attempt the scheduling of chained cases. Very simply right now. Also added code to allow the use_coth...
Original commit message from CVS:
Added code to attempt the scheduling of chained cases.  Very simply right
now.  Also added code to allow the use_cothread flag of a bin to force all
the chains to use cothreads as well.
2000-12-27 00:46:26 +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
Erik Walthinsen a1268abbd6 Changed "bin" to "thread" in get_thread_new.
Original commit message from CVS:
Changed "bin" to "thread" in get_thread_new.
2000-12-26 20:49:46 +00:00
Wim Taymans d207d375a1 Lots of editor changes:
Original commit message from CVS:
Lots of editor changes:
- restucturing of object creation
- loading of xml files
- visual eye candy: color changes on mouseover
- active object is indicated
- property box changes for boolean and enum types
- property box: create properties per element
- show pads/caps in propertybox
added gst_util_get_bool_arg in gstutils.c
added default properties for audiosink
2000-12-25 01:33:06 +00:00
Wim Taymans 74598fdf6c Added handoff signals to fakesrc and fakesink
Original commit message from CVS:
Added handoff signals to fakesrc and fakesink
Added scheduling property to identity
Added GST_STATE_TRANSITION macro to check for state changes.
Modified gstbin and gstthread to the new state change macros
2000-12-23 03:17:52 +00:00
Wim Taymans 0062e168ca Fixed a bug in gstbin.c the manager was not detected.
Original commit message from CVS:
Fixed a bug in gstbin.c the manager was not detected.
Some other testcases
bin, thread, pipeline use the elementfactory on gst_*_new
2000-12-22 23:23:10 +00:00
Wim Taymans 9987a75b1b Implemented some test cases... they all fail :-(
Original commit message from CVS:
Implemented some test cases... they all fail :-(
Added a flag to identity to for loop_based behaviour.
Added a signal to fakesink when a buffer is consumed.
2000-12-22 16:14:33 +00:00
Erik Walthinsen 0c88b21a79 Some fixes to the non-chained case, it works in a very basic way. More use cases will hopefully provide some sanity.
Original commit message from CVS:
Some fixes to the non-chained case, it works in a very basic way.  More use
cases will hopefully provide some sanity.
2000-12-21 07:10:28 +00:00
Erik Walthinsen e8bb90705f Fixing two bugs: 1) I had commented out an unlock. duh.
Original commit message from CVS:
Fixing two bugs:

1) I had commented out an unlock.  duh.
2) changed the _get function to return the buffer rather than call _push

Also uncommented some debugging I'd turned off.  Need to solve the verbosity
problem somehow, I think by way of debug levels as well as info levels...
2000-12-21 01:27:27 +00:00
Erik Walthinsen c287566d0c Massive scheduling changes (again). Not entirely complete, but getting closer. Need to think about various scheduli...
Original commit message from CVS:
Massive scheduling changes (again).  Not entirely complete, but getting
closer.  Need to think about various scheduling plans that we might want
to produce, and figure out the rules for what is legal, and how to get
the results we need as far as the plan.
2000-12-20 09:39:43 +00:00
Wim Taymans efda5ffd9a Added API to dynamically create GstCaps and GstProps
Original commit message from CVS:
Added API to dynamically create GstCaps and GstProps
Changed typefind of mpeg1 to set the GstProps.
autoplugging now works again for mpeg1, whoohoo!
2000-12-19 16:36:10 +00:00
Wim Taymans 0b1967b440 Added the autoplugger. some .dia drawings of the objects the autoplug test program.
Original commit message from CVS:
Added the autoplugger.
some .dia drawings of the objects
the autoplug test program.
2000-12-19 13:44:23 +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 510430d10f The typefind function now returns a GstCaps structure instead of a gboolean. modified some plugins to this new behaviour
Original commit message from CVS:
The typefind function now returns a GstCaps structure instead of a gboolean.
modified some plugins to this new behaviour
Fixed autoplugging for the mpg123 case. When an element is selected in
autoplugging and the caps do not match, another element is selected until the
caps match. only examples/autoplug works because gstmediaplay uses a threaded
setup that does not seem to work with the current scheduling.
2000-12-17 16:24:14 +00:00
Erik Walthinsen 4e1875f826 Some minor compilation fixes...
Original commit message from CVS:
Some minor compilation fixes...
2000-12-17 04:54:57 +00:00
Wim Taymans c6ac8a0f6b some editor changes= loading of save pipelines (not working) added include in gstdebug.h for getpid property loading ...
Original commit message from CVS:
some editor changes= loading of save pipelines (not working)
added include in gstdebug.h for getpid
property loading implemented
GstXML can now be queried for the toplevel elements.
2000-12-16 17:12:28 +00:00
Erik Walthinsen da03fde054 WARNING: Don't grab this updated unless you're really, REALLY sure.
Original commit message from CVS:
WARNING: Don't grab this updated unless you're really, REALLY sure.
WARNING: Wait for the next one.

Whole lotta changes here, including a few random bits:

examples/*/Makefile: updated to use `libtool gcc`, not just `gcc`
gst/
gstbuffer.h: updated to new flag style
gst.c, gstdebug.h: added new debugging for function ptrs
gstpipeline.c: set type of parent_class to the class, not the object
gstthread.c: ditto
plugins/
cdparanoia/cdparanoia.c: added an argument type, updated some defaults
cobin/spindentity.c: updated to new do/while loopfunction style
mp3encode/lame/gstlame.c: argument types, whole lotta lame options
tests/: various changes

Now, for the big changes:  Once again, the scheduling system has changed.
And once again, it broke a whole bunch of things.  The gist of the change
is that there is now a function pointer for gst_pad_push and gst_pad_pull,
instead of a hard-wired function.  Well, currently they are functions, but
that's for debugging purposes only, they just call the function pointer
after spewing lots of DEBUG().

This changed the GstPad structure a bit, and the GstPad API as well.
Where elements used to provide chain() and pull() functions, they provide
chain() and get() functions. gst_pad_set_pull[region]_function has been
changed to get_pad_set_get[region]_function.  This means all the elements
out there that used to have pull functions need to be updated.  The calls
to that function have been changed in the normal elements, but the names
of the functions passed is still _pull[region](), which is an aesthetic
issue more than anything.

As for what doesn't work yet, just about anything dealing with Connections
is hosed, meaning threaded stuff won't work.  This will be fixed about 12
hours from now, after I've slept, etc.  The simplefake.c test works in
both cothreaded and chained cases, but not much else will work due to the
Connection problem.  Needless to say, don't grab this unless you *need*
these features *now*, else wait to update this stuff until tomorrow.

I'm going to sleep now.
2000-12-16 10:18:09 +00:00
Wim Taymans 64a740ad9b Move a step closer to autoplugging. The element selection in the pipeline works.
Original commit message from CVS:
Move a step closer to autoplugging. The element selection in the
pipeline works.
Slight modification to the typefind function handling.
removed the stupid mime types in the mpeg decoders.
Adjust videosink for the new caps handling.
Modified the queue example to show an error in plan creation; Erik can you
solve this? This is the type of pipelines autoplugging uses.
2000-12-15 16:43:26 +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 f8386fbaa0 Some plugins are adjusted to the new pad template mechanisms.
Original commit message from CVS:
Some plugins are adjusted to the new pad template mechanisms.
2000-12-14 17:21:29 +00:00
Wim Taymans 196c67d7ff Changed the GstPadFactory and added the GstPadTemplate.
Original commit message from CVS:
Changed the GstPadFactory and added the GstPadTemplate.

The GstPadFactory is an easy way to define a pad with capabilities.
The GstPadFactory is converted into a GstPadTemplate. The template is
used to create new pads and to expose the possible pads used in an
element to the plugin system.

updated mp3parse, mpg123, cdparanoia to the new API.
Rerun gstreamer-register because the XML definition has changed.
2000-12-13 19:29:35 +00:00
Wim Taymans d78215be9d More Caps changes, this change introduces the padfactory. the GstPadFactory will be used to describe the pads that an...
Original commit message from CVS:
More Caps changes, this change introduces the padfactory. the GstPadFactory
will be used to describe the pads that an element will contain during
its lifetime.
mpg123 and mp3parse serve as an example.
More XML changes to incorporate the padfactories.
2000-12-12 19:29:43 +00:00