Commit graph

78 commits

Author SHA1 Message Date
Wim Taymans 37a127d9ed - Make the return GList of gst_element_get_pad_list as const
Original commit message from CVS:
- Make the return GList of gst_element_get_pad_list as const
- Pad scheduler refactoring
- Remove gst_pad_set/unset_scheduler as it's not needed
- Reimplement gst_pad_get_scheduler using the parent scheduler
- Remove gst_pad_peek as it cannot work reliably
- Remove the pad bufpen, replace with scheduler private gpointer
- Make queue use the new _get_scheduler implementation
- Remove _pad_unset_scheduler from GstScheduler
- Remove LOOP_SEEK mode from aggregator
- Other fixes for API changes.
2002-09-12 20:52:03 +00:00
Thomas Vander Stichele a1b9526640 Uraeus bought the rights to this patch it makes spideridentity be a real element and thus show up in the editor
Original commit message from CVS:
Uraeus bought the rights to this patch
it makes spideridentity be a real element and thus show up in the editor
2002-09-12 18:49:22 +00:00
Thomas Vander Stichele eec0875bd2 one simple fix in the madness that spider is
Original commit message from CVS:
one simple fix in the madness that spider is
2002-09-12 09:19:00 +00:00
Christian Schaller b9b6c6890a committing many nice little memleaks fixes from Iain, great work dude
Original commit message from CVS:
committing many nice little memleaks fixes from Iain, great work dude
2002-09-08 18:27:36 +00:00
Wim Taymans ae87d97cb2 - Removed unused locking from the cothreads
Original commit message from CVS:
- Removed unused locking from the cothreads
- use G_*_DECLS in .h files
- remove gstlog.h include from gstobject.h, add to .c files
- removed unused refcounting code from gstobject
- small fixes in #includes
- Added Scheduling policy and priority properties to gstthread so that
SCHED_FIFO and SCHED_RR threads can be constructed.
2002-07-08 19:07:30 +00:00
Wim Taymans c8e8981be8 Documentation updates
Original commit message from CVS:
Documentation updates
Make spider forward bufferpools
Remove some old registry code
2002-06-12 22:26:36 +00:00
Wim Taymans 225d11913c Return the result of the forwarded seek instead of TRUE
Original commit message from CVS:
Return the result of the forwarded seek instead of TRUE
2002-06-08 14:58:03 +00:00
Wim Taymans 3824189da5 Add an event function so that seek events are not forwarded when we have a cache, seeking in the cache still needs to...
Original commit message from CVS:
Add an event function so that seek events are not forwarded when we
have a cache, seeking in the cache still needs to be implemented though..
2002-06-08 12:51:11 +00:00
Steve Baker 7ae62fa9bf a couple of fixes here:
Original commit message from CVS:
a couple of fixes here:
- forward eos events to all src pads, even if spider didn't connect them. this ensures that the pipeline will stay in a consistant state even when not all pads are sent data
- don't check for nonnull spider until it is actually needed.  it really is null when it has been disposed and this method is called.
2002-06-07 19:41:35 +00:00
Steve Baker a02e75b8d4 make sure gst_spider_plug isn't called while in playing state
Original commit message from CVS:
make sure gst_spider_plug isn't called while in playing state
2002-06-07 19:37:00 +00:00
Steve Baker 6712bc3afa only use ranked element factories for autoplugging. This is the only commit that needs to be backed out to reinstate ...
Original commit message from CVS:
only use ranked element factories for autoplugging. This is the only commit that needs to be backed out to reinstate previous behaviour.

Before your spider will work again, you will have to update/rebuild plugins and run gst-register.
2002-05-31 08:32:49 +00:00
Andy Wingo c6446629ef fix spider to accomodate filesrc's new behavior (ie, sending a DISCONT before any data)
Original commit message from CVS:
fix spider to accomodate filesrc's new behavior (ie, sending a DISCONT before any data)
2002-05-30 04:33:01 +00:00
Wim Taymans 086de421dc Totally rewritten registry handling.
Original commit message from CVS:
Totally rewritten registry handling.
- move the registry save/load code into a gstregistry subclass, this
will make it possible to use other registries (flat file, web based,
RDBMS type, etc..)
- a simple GMarkup xml registry is implemented
- use standard statically linked plugins for core elements.
- GstPlugin has a very well defined set of functions now
A little bytestream hack..
Added more info to -inspect.
Some more debugging info for clocking.
Small cleanups

I use ./gst-register --gst-plugin-path=/opt/src/sourceforge/gst-plugins/gst-libs:/opt/src/sourceforge/gst-plugins/
to register core and gst-plugins now.
2002-05-08 20:40:48 +00:00
Andy Wingo 8d198fed21 a hack to work around intltool's brokenness a current check for mpeg2dec details->klass reorganizations an element br...
Original commit message from CVS:
* a hack to work around intltool's brokenness
* a current check for mpeg2dec
* details->klass reorganizations
* an element browser that uses details->klass
* separated cdxa parse out from the avi directory
2002-04-20 21:42:53 +00:00
Benjamin Otte cd8a89261c fix 'invalid cast' warning
Original commit message from CVS:
fix 'invalid cast' warning
2002-04-20 12:31:41 +00:00
Thomas Vander Stichele f6721ace69 fix doc warnings
Original commit message from CVS:
fix doc warnings
2002-04-18 19:30:55 +00:00
Benjamin Otte ce8e4a8879 we don't use // in code we commit :)
Original commit message from CVS:
hi wtay (and some others): we don't use // in code we commit :)
2002-04-14 14:59:34 +00:00
Steve Baker 1da7fc3498 fixed d'oh error
Original commit message from CVS:
fixed d'oh error
2002-04-14 10:01:54 +00:00
Andy Wingo b214d35eed commit to make gstreamer follow the gtk function/macro naming conventions:
Original commit message from CVS:
commit to make gstreamer follow the gtk function/macro naming conventions:

GstPadTemplate <-> gst_pad_template <-> GST_PAD_TEMPLATE

and the same for *factory and typefind.
2002-04-11 20:35:18 +00:00
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
Benjamin Otte 8ae7350492 fix all compiler warnings
Original commit message from CVS:
fix all compiler warnings
2002-04-04 19:28:23 +00:00
Andy Wingo 862538e9ac added a bunch of cvsignore stuff off of a fresh checkout and build i will win the race to max LOC changed ;-)
Original commit message from CVS:
added a bunch of cvsignore stuff off of a fresh checkout and build

i will win the race to max LOC changed ;-)
2002-03-25 05:01:02 +00:00
Andy Wingo ed9b628168 filter newlines out of GST_DEBUG statements to reflect new core behavior fixes to adder's caps, again
Original commit message from CVS:
* filter newlines out of GST_DEBUG statements to reflect new core behavior
* fixes to adder's caps, again
2002-03-24 22:07:09 +00:00
Andy Wingo d6b07866ca let's not give our plugins -release versioning make clean before rebuilding after you update on this one...
Original commit message from CVS:
let's not give our plugins -release versioning
make clean before rebuilding after you update on this one...
2002-03-19 05:46:38 +00:00
Andy Wingo 0067d17205 removal of //-style comments don't link plugins to core libs -- the versioning is done internally to the plugins with...
Original commit message from CVS:
* removal of //-style comments
* don't link plugins to core libs -- the versioning is done internally to the plugins with the plugin_info struct,
and symbol resolution is lazy, so we can always know if a plugin can be loaded by the plugin_info data. in theory.
2002-03-19 04:10:13 +00:00
Andy Wingo a43fadec2e s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way added jack ...
Original commit message from CVS:
* s/gst_element_install_std_props/gst_element_class_install_std_props/ -- it just makes more sense that way
* added jack element, doesn't quite work right yet but i didn't want to lose the work -- it does build, register,
and attempt to run though
* imposed some restrictions on the naming of request pads to better allow for reverse parsing
* added '%s' to reverse parsing
* added new bin flag to indicate that it is self-iterating, and some lame code in gst-launch to test it out
* fixen on launch-gui
* added pkg-config stuff for the editor's libs
2002-03-18 04:41:37 +00:00
Benjamin Otte fbe0d0ba6b warning: passing arg 1 of 'gst_caps_unref' from incompatible pointer type
Original commit message from CVS:
warning: passing arg 1 of 'gst_caps_unref' from incompatible pointer type
2002-03-06 08:30:05 +00:00
Benjamin Otte 05d1d0cfd2 warning: unused variable 'templist'
Original commit message from CVS:
warning: unused variable 'templist'
2002-03-06 08:20:10 +00:00
Andy Wingo 0c6802533c document gst_caps_debug change gst_caps_debug to accept a label argument, assists greatly in debugging capsnego bette...
Original commit message from CVS:
* document gst_caps_debug
* change gst_caps_debug to accept a label argument, assists greatly
in debugging capsnego
* better names from gst_object_name_default
* some more debugging in gstpad.c
* require caps to match padtemplates on both side of a connection
* gstspider uses default naming so that names are globally unique
* moved filesrc offset arg to the top -- show up first in a prop list.
in the future we should have flags on props indicating which ones
it might be interesting for the end-user to change.
* initialize cothreads in the more standard way, and provide some more debugging
2002-03-03 00:44:41 +00:00
Benjamin Otte aa66954b9a fix: when starting typefinding, make sure we're paused
Original commit message from CVS:
fix: when starting typefinding, make sure we're paused
2002-03-02 18:27:45 +00:00
Andy Wingo 6ff6eb1017 warning fixes gst_object_set_name (name, NULL) uniquifies the name globally
Original commit message from CVS:
* warning fixes
* gst_object_set_name (name, NULL) uniquifies the name globally
- needs robusticizing
* gst_elementfactory_make can now take NULL as a second argument
2002-02-20 21:31:16 +00:00
Andy Wingo 3114e54dc4 changes to spider: add padtemplates so the connect functions can connect two request-pad elements add a hack in gstel...
Original commit message from CVS:
* changes to spider:
* add padtemplates so the connect functions can connect two request-pad
elements
* add a hack in gstelement.c. please look at this, Company, and see how
we can get around this
* add backwards caps-propagation support in identity, int2float, float2int,
adder, speed, volume
2002-02-19 05:59:07 +00:00
Benjamin Otte e149d96faa major rewrite of the spider.
Original commit message from CVS:
major rewrite of the spider.
Now uses GstSpiderConnection to track current connections and remember the way they're plugged.
Advantages of this approach:
- function prototypes are now much cleaner.
- Allow event propagation (EOS) to elements that are not connected but plugged.
- Allow deconstruction of plugged pipes. (not implemented)
Disadvantage:
- I screwed up naming (always get src and sink the wrong way). It's very inconsistent in the gstspider.[ch] files
- a little more time and memory are needed to manage the structs
2002-02-11 08:18:09 +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
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
Benjamin Otte fd09a5765a update to do the new error handling and notification
Original commit message from CVS:
update to do the new error handling and notification
2002-02-06 18:58:53 +00:00
Benjamin Otte 7ec0610594 bugfixing; use the right function to check probable caps compatibility
Original commit message from CVS:
bugfixing; use the right function to check probable caps compatibility
2002-02-05 20:56:11 +00:00
Benjamin Otte d0a0cdbd9f removed workaround for a bug that is fixed
Original commit message from CVS:
removed workaround for a bug that is fixed
2002-02-05 18:22:37 +00:00
Benjamin Otte b97f4f91c8 - use autoplugging instead of predefined way on sometimes pads
Original commit message from CVS:
- use autoplugging instead of predefined way on sometimes pads
- exchange plugtype with factories in the spider
- revamp the spider, now messier than before...
- bugfixing
- style corrections
2002-02-05 17:08:08 +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
Wim Taymans 991b6231ea Small cleanups
Original commit message from CVS:
Small cleanups
2002-02-02 13:27:33 +00:00
Benjamin Otte e9d5cf15ba fix segfault when pushing events twice
Original commit message from CVS:
fix segfault when pushing events twice
2002-01-30 21:54:06 +00:00
Benjamin Otte b0e9344c56 initial import of the spider autoplugger - not to self: Makefile changes must be committed, too
Original commit message from CVS:
initial import of the spider autoplugger - not to self: Makefile changes must be committed, too
2002-01-28 01:48:34 +00:00
Benjamin Otte 475a7acaa3 initial import of the spider autoplugger
Original commit message from CVS:
initial import of the spider autoplugger
2002-01-28 01:47:31 +00:00
Wim Taymans b2ee38575d Landed the new improved capsnegotiation system.
Original commit message from CVS:
Landed the new improved capsnegotiation system.
The main idea is to keep track of the possible data types that can
pass through a connection. plugins can at any time inspect, adjust and
refine these caps. plugins also get notified when something changes to
the types so that they can reconfigure themselves.
Look at the updated plugins and the soon to be finished doc.
2002-01-13 22:22:42 +00:00
Wim Taymans 4031c2f252 Added EOS to the cache.
Original commit message from CVS:
Added EOS to the cache.
2002-01-13 12:59:23 +00:00
David I. Lehn 8da28910bc s/filter/plugin/ add $(GST_LIBS) to all plugins move Makefile.am things around to a mostly standard layout remove HTT...
Original commit message from CVS:
* s/filter/plugin/
* add $(GST_LIBS) to all plugins
* move Makefile.am things around to a mostly standard layout
* remove HTTP flags/libs from elements since http element moved
2002-01-12 00:47:40 +00:00
Andy Wingo 35aa5cebdf global s/disksrc/filesrc/, but edited by me
Original commit message from CVS:
global s/disksrc/filesrc/, but edited by me
2002-01-06 04:26:37 +00:00
Wim Taymans bd128c199c Tee Fixes. added cothread_stop (not used) improved the pad event dispatcher.
Original commit message from CVS:
Tee Fixes.
added cothread_stop (not used)
improved the pad event dispatcher.
added an event_received signal on the pad.
do less state changes in the autoplugger.
small scheduler fix.
2001-12-25 02:15:46 +00:00
Wim Taymans 087dee1f62 This is an attempt at not segfaulting on errors but reporting some usefull info instead.
Original commit message from CVS:
This is an attempt at not segfaulting on errors but reporting some
usefull info instead.
- bin changes so errors can propagate.
- changed the _FAST macros to _CAST because that is what they do.
- removed all references to cothreads out of the core, they are
really a scheduler issue, handler with a sched_private gpointer.
- added a live buffer count, for debugging buffer leaks.
- added error checking in gst_scheduler_state_transition this solves the
"out of cothreads" problem.
- GST_ELEMENT_NO_ENTRY == GST_ELEMENT_INFINITE_LOOP
- added 2 private element flasg for use by the scheduler
(_COTHREAD_STOPPING) is now
- added scheduler entry points:
- _yield : to create possible scheduling points.
- _interrupt: to stop execution of an element.
- _error: to signal en error condition to the scheduler.
- improved error messages for pads.
- signal gst_element_error where appropriate.
- added the a new bin to the parent before entering it so one can reference
its children.
- queue memleak fixes on dispose.
- added possible deadlock detection in queue (turned off be default)
- GstBasicScheduler is a real class of its own now, hiding its internal
variables.
- GST_ELEMENT_IS_COTHREAD_STOPPING is gone. either call explicit _yield
operations, or make a sane loop.
- Better state change handling in filesrc. Better error reporting/recovery
too.
- updated core plugins.
- detect non decoupled elements on scheduler boundries and error.
2001-12-22 21:18:17 +00:00