Commit graph

96 commits

Author SHA1 Message Date
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
Christian Schaller
3f55af9bb4 Ok, all // comments removed except the bloddy nested ones
Original commit message from CVS:
Ok, all // comments removed except the bloddy nested ones
2001-12-17 22:26:56 +00:00
Thomas Vander Stichele
40e6dccb43 merged back from build branch let's hope you all agree
Original commit message from CVS:
merged back from build branch
let's hope you all agree
2001-12-16 14:23:19 +00:00
Wim Taymans
ca2bc32210 Some small cleanups
Original commit message from CVS:
Some small cleanups
2001-12-12 13:15:32 +00:00
Wim Taymans
84f55bb12a schedule ws renamed to scheduler.
Original commit message from CVS:
schedule ws renamed to scheduler.
2001-12-12 12:13:38 +00:00
Thomas Vander Stichele
998ea06629 Mama always said : "do one, do them all"
Original commit message from CVS:
Mama always said : "do one, do them all"
2001-12-08 15:40:58 +00:00
Thomas Vander Stichele
5707f12316 and this one
Original commit message from CVS:
and this one
2001-12-08 15:05:38 +00:00
Thomas Vander Stichele
6cf46846e9 added GST_CFLAGS
Original commit message from CVS:
added GST_CFLAGS
2001-12-08 14:18:23 +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
Andy Wingo
d1e9cc692b quoting from the comment i put in gststaticautoplug.c: it is likely that the plugin is not loaded yet. thus when it l...
Original commit message from CVS:
quoting from the comment i put in gststaticautoplug.c:

it is likely that the plugin is not loaded yet. thus when it loads it
will replace the elementfactory that gst built from the cache, and the
GST_OBJECT_NAME will no longer be valid. thus we must g_strdup its name.

this might be an implementation problem, i don't know, if a program keeps
a reference to a cached factory after a factory has been added on plugin
initialization. i really don't know though.
2001-11-24 20:37:40 +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
Joshua N. Pritikin
75a30f1f61 Nobody checks the return value of gst_pad_connect. This patch renames gst_pad_connect to gst_pad_try_connect and mak...
Original commit message from CVS:
Nobody checks the return value of gst_pad_connect.  This patch
renames gst_pad_connect to gst_pad_try_connect and makes
gst_pad_connect return void.
2001-09-14 19:45:20 +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
Steve Baker
3cda4e2eaa sync with the current CVS glib API
Original commit message from CVS:
sync with the current CVS glib API
2001-08-13 19:00:13 +00:00
Wim Taymans
a7e160f409 Make sure the autoplugger doesn't try to connect elements with request pads for now.
Original commit message from CVS:
Make sure the autoplugger doesn't try to connect elements with request pads
for now.
2001-07-18 19:04:29 +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
David I. Lehn
cd3595577b Added manpage
Original commit message from CVS:
Added manpage
Ignore built autoplugtest binary
Bump debian version to 0.2.0
2001-06-07 16:56:27 +00:00
Wim Taymans
3c18e42b39 Fixed some warnings.
Original commit message from CVS:
Fixed some warnings.
2001-06-01 18:30:40 +00:00
Erik Walthinsen
a3d7869aaa various build fixes
Original commit message from CVS:
various build fixes
2001-05-27 21:56:04 +00:00
Erik Walthinsen
b845ee86f8 removed some more noise, converted to GST_DEBUG
Original commit message from CVS:
removed some more noise, converted to GST_DEBUG
2001-05-25 21:31:12 +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
Richard Boulton
610e9e8227 Merged from BRANCH-PLUGINVER1
Original commit message from CVS:
Merged from BRANCH-PLUGINVER1
2001-04-22 12:30:14 +00:00
Wim Taymans
57a5017c8b Fixed a few plugins so that mpeg1 encoding sorta works.
Original commit message from CVS:
Fixed a few plugins so that mpeg1 encoding sorta works.
Added an mpeg1 encoder example, it uses the autoplugger to convert
the stream to audio/video, which is then fed to the encoders.
2001-04-21 17:45:56 +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
9d423650d3 changed some INFOs to DEBUGs
Original commit message from CVS:
changed some INFOs to DEBUGs
2001-04-15 22:52:45 +00:00
Wim Taymans
335080574f Lots of updates to the plugins for caps negotiation.
Original commit message from CVS:
Lots of updates to the plugins for caps negotiation.
Added YUY2 output to the win32 dlls.
Added a colorspace converter in gstplay
2001-04-12 18:11:19 +00:00
Wim Taymans
29cb713b21 More work on capsnego, mostly proxying
Original commit message from CVS:
More work on capsnego, mostly proxying
Added another testsuite for capsnego
Added caps to vorbisdec, mp3parse, mp1videoparse
Redid the queue proxy handling a bit.
2001-03-18 16:17:39 +00:00
Wim Taymans
3ec275832a Merged the CAPSNEGO1 branch..
Original commit message from CVS:
Merged the CAPSNEGO1 branch..
2001-03-12 21:02:12 +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