Commit graph

340 commits

Author SHA1 Message Date
Wim Taymans e3c9576f3c Fix some wrong prototypes and funtion args
Original commit message from CVS:
Fix some wrong prototypes and funtion args
2002-07-28 01:06:16 +00:00
Wim Taymans 6db19b953c - Implemented seekmasks, query types and formats in various plugins
Original commit message from CVS:
- Implemented seekmasks, query types and formats in various plugins
- use GST_PAD_IS_USABLE if possible
2002-07-24 21:08:43 +00:00
Wim Taymans a1a3d3455f - More element API docs.
Original commit message from CVS:
- More element API docs.
- more nego changes for READY->PAUSED
2002-07-24 21:06:17 +00:00
Andy Wingo 74eba3a615 add default bufferpool, clean up some code, add bufferpool testing to fakesrc
Original commit message from CVS:
add default bufferpool, clean up some code, add bufferpool testing to fakesrc
2002-07-24 18:31:12 +00:00
Wim Taymans e9f84e2738 - Documentation updates, renamed some _ methods because gtkdoc didn't want to generate docs for them.
Original commit message from CVS:
- Documentation updates, renamed some _ methods because gtkdoc didn't
want to generate docs for them.
- Add some more events for future use.
2002-07-13 23:12:22 +00:00
Wim Taymans fcb10a6c85 - Removed bufferpool code and move that to gstbuffer.c
Original commit message from CVS:
- Removed bufferpool code and move that to gstbuffer.c
- implemented refcounting on GstData
- implemented new buffer code based on Company's work in the EVENTS2 branch
- added boxed types for GstData/GstEvent/GstBuffer/GstBufferPool
- added refcounting to bufferpools and events
- use lockfree allocation for buffers
- simplified the clock, use lockfree allocation
- use GQueue in GstQueue for faster access to the tail element
- update core plugins to the new event API
2002-07-08 19:22:02 +00:00
Wim Taymans 23dbddcd2c Don't seek past the end of the file
Original commit message from CVS:
Don't seek past the end of the file
Fix a bug where the mapend was incorrectly calculated when we read past
the end of the file.
2002-06-22 09:23:40 +00:00
Wim Taymans 9286f126e2 Added a size event to optimize buffer sizes make filesrc update its blocksize when it receives a size event
Original commit message from CVS:
Added a size event to optimize buffer sizes
make filesrc update its blocksize when it receives a size event
2002-06-13 22:27:40 +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 19055c8091 Removed deprecated disksink
Original commit message from CVS:
Removed deprecated disksink
2002-06-11 21:06:53 +00:00
Wim Taymans da176ab8ca Added the flush flag
Original commit message from CVS:
Added the flush flag
2002-06-09 12:13:56 +00:00
Wim Taymans 3ab6d4c0e2 Whan the buffer is filled, the buffer is kept and added to the queue when there is room again. Don't do this after a ...
Original commit message from CVS:
Whan the buffer is filled, the buffer is kept and added to the queue
when there is room again. Don't do this after a flush.
2002-06-09 12:13:30 +00:00
Wim Taymans ce100a8211 Revert queue event forwarding, added comments what it is supposed to do.
Original commit message from CVS:
Revert queue event forwarding, added comments what it is supposed to do.
2002-06-08 16:30:43 +00:00
Steve Baker 89f8aec72e g_print bad
Original commit message from CVS:
g_print bad
2002-06-08 16:15:02 +00:00
Steve Baker e9e6b0797d put upstream events in an async queue and resend them at the start of the chain. not working as expected yet but a start
Original commit message from CVS:
put upstream events in an async queue and resend them at the start of the chain. not working as expected yet but a start
2002-06-08 16:13:18 +00:00
Wim Taymans f50d53e209 A discont event is the right way to handle seeking on filesink IMO
Original commit message from CVS:
A discont event is the right way to handle seeking on filesink IMO
2002-06-08 15:00:30 +00:00
Steve Baker 075ca64022 file is opened in ready->paused rather than null->ready. this makes it easier to set the location more than once
Original commit message from CVS:
file is opened in ready->paused rather than null->ready. this makes it easier to set the location more than once
2002-06-07 19:32:53 +00:00
Wim Taymans b7b63ff4cd Make sure we interrupt the right scheduler on the right pad.
Original commit message from CVS:
Make sure we interrupt the right scheduler on the right pad.
2002-06-05 18:10:07 +00:00
Wim Taymans 005a79ba91 No \n for DEBUG, thank you
Original commit message from CVS:
No \n for DEBUG, thank you
2002-06-04 21:04:41 +00:00
Steve Baker 8713cd5e0e add an optional timeout for when queue blocks. when timeout is reached a GST_EVENT_FILLER is sent downstream
Original commit message from CVS:
add an optional timeout for when queue blocks. when timeout is reached a GST_EVENT_FILLER is sent downstream
This is needed for gst-player since videosink has to be in the same thread as the ui, and spider blocks when there is no video (thus freezing the ui).
2002-06-03 15:44:28 +00:00
Wim Taymans 74f97cd6f8 Don't update state if the peer event failed
Original commit message from CVS:
Don't update state if the peer event failed
2002-06-02 15:34:34 +00:00
Wim Taymans 54580cf3fb unlock the queue
Original commit message from CVS:
unlock the queue
2002-06-02 11:51:26 +00:00
Wim Taymans 9940947219 Remove crappy event code from tee
Original commit message from CVS:
Remove crappy event code from tee
Some more debugging info in filesrc
2002-05-31 21:36:11 +00:00
Wim Taymans a599a5b1df Created an overridable method for seeking on an element, along with a default implementation.
Original commit message from CVS:
Created an overridable method for seeking on an element, along with a default
implementation.
make queue flush on discont (not entirely correct)
removed the new_media from the discont event.
2002-05-30 19:03:30 +00:00
Wim Taymans 6f96a24d2e - The clock_wait now returns the difference between requested time and unlock time.
Original commit message from CVS:
- The clock_wait now returns the difference between requested time and
unlock time.
- Misc defines like GST_SECOND in gstclock.h
- remove pre/post in gstelement.c until fixed.
- added release_locks to gstelement so that the element can unlock itself
- added some more predefined events.
- added folowing functions to gstpad:
- convert function: get the relation between formats on this pad
- query function: get stats about the pad (position/total/latency)
- internal connect function: find out how this pad connects to other
pad internally to the element.
- generic pad_dispatcher.
- removed the last bits of pullregion
- use release_locks on the queue.
- added some events to queue
- make gstthread use the new release_locks function
- make the scheduler use the new clock_wait functions
- added events to fakesink
- added query functions to filesrc
- swap type and offset in the bytestream seek API to match fseek
- added some event handling in bytestream.
2002-05-26 21:54:27 +00:00
Andy Wingo ad88770782 add gerror to gstplugin.c -- not fully propagated to periphery apis fix recursive dir creation in the xml registry co...
Original commit message from CVS:
* add gerror to gstplugin.c -- not fully propagated to periphery apis
* fix recursive dir creation in the xml registry
* comment identity props
* fix dependency resolution in lib loading
2002-05-20 23:11:10 +00:00
David I. Lehn 37d29b584f formatting
Original commit message from CVS:
formatting
2002-05-14 00:40:15 +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
Wim Taymans df159cbf0d Small cleanups
Original commit message from CVS:
Small cleanups
2002-05-01 20:02:40 +00:00
Thomas Vander Stichele 651f3262ab rename operation
Original commit message from CVS:
rename operation
2002-04-28 17:08:59 +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 b2d503d528 declare those stuff extern. My windec doesn't like it without :)
Original commit message from CVS:
declare those stuff extern. My windec doesn't like it without :)
2002-04-14 23:02:41 +00:00
Steve Baker 2d5f9bf48f ARG_LOCATIONS is a pointer
Original commit message from CVS:
ARG_LOCATIONS is a pointer
2002-04-14 10:00:21 +00:00
Steve Baker c70bfc60b6 ARG_ERROR_AFTER is an int
Original commit message from CVS:
ARG_ERROR_AFTER is an int
2002-04-14 09:59:13 +00:00
Steve Baker adddd11e71 offset is an int64
Original commit message from CVS:
offset is an int64
2002-04-14 09:58:14 +00:00
Steve Baker de355109ae make the NULL check silent since it might be valid.
Original commit message from CVS:
make the NULL check silent since it might be valid.
2002-04-14 09:57:15 +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
Wim Taymans ffe760e476 GST_DEBUG and _INFO should have no trailing \n
Original commit message from CVS:
GST_DEBUG and _INFO should have no trailing \n
2002-04-03 18:26:03 +00:00
Wim Taymans c14adca257 Fix a compile error.
Original commit message from CVS:
Fix a compile error.
2002-04-03 06:27:25 +00:00
jim thornton 7fb5bcfdff Buffer flag symbols are enum values, so |'ing together doesn't do the right thing, must use GST_BUFFER_FLAG_SET macro
Original commit message from CVS:
patch from jim thornton <jthornton@parc.com>:

Buffer flag symbols are enum values, so |'ing together doesn't do the right
thing, must use GST_BUFFER_FLAG_SET macro
2002-04-02 16:33:21 +00:00
Wim Taymans d7a5d173c8 Documentation updates
Original commit message from CVS:
Documentation updates
Added dump to identity
Fix some warnings in gstelement
2002-03-31 14:04:50 +00:00
Andy Wingo cfb228b0f9 add notify back to filesrc, it's needed for MVC applications remove notify printouts from gst-launch cleanup in gst-p...
Original commit message from CVS:
* add notify back to filesrc, it's needed for MVC applications
* remove notify printouts from gst-launch
* cleanup in gst-plugins configure.ac
* some jack updates
* remove SELF_ITERATING flag in favor of SEF_SCHEDULABLE (not a clear name,
but it's what we have for the moment)
* improve parsing of request pad names, no more sscanf
* fixes to the fastscheduler Makefile.am
2002-03-30 19:31:14 +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 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 6ae5f15064 s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/ @-substitued variables variables are defined as make variables automagi...
Original commit message from CVS:
s/@GST_PLUGIN_LDFLAGS@/$(GST_PLUGIN_LDFLAGS)/

@-substitued variables variables are defined as make variables automagically,
and this gives the user the freedom to say make GST_PLUGIN_LDFLAGS=-myflag
2002-03-19 01:39:45 +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
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
Wim Taymans 8bb166dace Added last_message.
Original commit message from CVS:
Added last_message.
2002-02-28 23:39:08 +00:00
Benjamin Otte 24fb9e8282 fixes:
Original commit message from CVS:
fixes:
- g_free accepts NULL
- indenting
- last_message is readable, not writeable
- warn on invalid property id
2002-02-24 13:38:10 +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
Andy Wingo 7e7cf82d70 capsnego fixes in adder, speed, and identity
Original commit message from CVS:
capsnego fixes in adder, speed, and identity
2002-02-17 17:34:23 +00:00
Andy Wingo b45b280847 convert identity to g_object_notify stuff i hate last-message, it's stupid
Original commit message from CVS:
convert identity to g_object_notify stuff
i hate last-message, it's stupid
2002-02-17 06:00:20 +00:00
Ronald S. Bultje eaa783598a This is probably cleaner
Original commit message from CVS:
This is probably cleaner
2002-02-13 18:28:21 +00:00
Thomas Vander Stichele 70834db6ad updating tee to use properties
Original commit message from CVS:
updating tee to use properties
2002-02-12 13:57:14 +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 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
Ronald S. Bultje c2dc4b26c1 Wim, please upload the header files too next time ;)
Original commit message from CVS:
Wim, please upload the header files too next time ;)
2002-02-07 11:05:27 +00:00
Wim Taymans 19e0ea0458 Converted a few _info events to properties..
Original commit message from CVS:
Converted a few _info events to properties..
2002-02-06 21:57:35 +00:00
Benjamin Otte 5efa475181 initial checkin for the deep_notify signal which replaces INFO events in the long run.
Original commit message from CVS:
initial checkin for the deep_notify signal which replaces INFO events in the long run.
PLEASE do not use gst_element_[info,message,error] anymore. Use g_object_notify instead.
Thank you.
2002-02-05 21:11:43 +00:00
Thomas Vander Stichele c3ee55473f this fix makes sure that we actually request a pad from the template with an unused name this isn't optimal but gets ...
Original commit message from CVS:
this fix makes sure that we actually request a pad from the template with
an unused name
this isn't optimal but gets the job done

should we move this code fragment to it's own helper function to use
everywhere stuff is requested according to a template ?
2002-02-05 17:42:40 +00:00
Thomas Vander Stichele 1795cddc9f small compile fix
Original commit message from CVS:
small compile fix
2002-02-04 23:28:55 +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
Ronald S. Bultje 3ea3b8e8ab Some small adjustments for for better open-a-new-file handling
Original commit message from CVS:
Some small adjustments for for better open-a-new-file handling
2002-02-03 15:47:20 +00:00
Wim Taymans f0e4bd3b5c Make filesrc respond to seek
Original commit message from CVS:
Make filesrc respond to seek
2002-02-02 13:24:25 +00:00
Wim Taymans b37f73757a Fix a serious leak in tee
Original commit message from CVS:
Fix a serious leak in tee
2002-02-02 00:22:34 +00:00
Ronald S. Bultje 02605b1754 Allow new headers to be written - or we will never create valid second files for avimux
Original commit message from CVS:
Allow new headers to be written - or we will never create valid second files for avimux
2002-01-31 21:03:39 +00:00
Ronald S. Bultje 6db16f9677 Allow multiple files to be created with disksink and integrate a new event for that
Original commit message from CVS:
Allow multiple files to be created with disksink and integrate a new event for that
2002-01-31 15:38:04 +00:00
Thomas Vander Stichele 2a75dee620 removing versioning please check ;)
Original commit message from CVS:
removing versioning
please check ;)
2002-01-30 10:15:26 +00:00
Benjamin Otte 7fe00b9485 dude, use glib swap functions
Original commit message from CVS:
dude, use glib swap functions
2002-01-29 20:42:18 +00:00
Benjamin Otte aaf8407f85 inclusion of GstMD5Sink
Original commit message from CVS:
inclusion of GstMD5Sink
2002-01-29 20:06:07 +00:00
Wim Taymans 5290fba98d Do the right thing on SET/CUR/END seek types.
Original commit message from CVS:
Do the right thing on SET/CUR/END seek types.
2002-01-26 18:28:55 +00:00
Martin Enlund 7b1d5c7abd Previously filesrc would segfault when fed with the name of a directory.
Original commit message from CVS:
Previously filesrc would segfault when fed with the name of a directory.
Added check to ensure that the given file is a regular file.
2002-01-15 22:33:15 +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
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 d262bea863 summary: fix xml in gstreamer 1) make clear distinction between loading xml that actually creates objects and loading...
Original commit message from CVS:
summary: fix xml in gstreamer

1) make clear distinction between loading xml that actually creates objects and loading xml that just
synchronizes properties with objects. moved most of gst_element_restore_thyself functionality to
gst_xml_make_element. this new function name can change if it sucks.
2) many various fixes. createxml and runxml work now.
3) doc updates.
4) GstSignalObject is stil broken. i have no idea what it's supposed to do.
2002-01-11 15:49:47 +00:00
Wim Taymans 03391373ef Some small cleanups. added a drop_probaility arg to identity, so it occasionally can drop buffers to simulate network...
Original commit message from CVS:
Some small cleanups.
added a drop_probaility arg to identity, so it occasionally can drop buffers
to simulate network packet loss
2002-01-01 13:46:04 +00:00
Wim Taymans ad6c7ef940 yes, it does return a gboolean.
Original commit message from CVS:
yes, it does return a gboolean.
2001-12-31 16:02:50 +00:00
Thomas Vander Stichele d1d3d5344f can someone fix this better than me and remove FIXME's ?
Original commit message from CVS:
can someone fix this better than me and remove FIXME's ?
2001-12-31 15:54:42 +00:00
Wim Taymans 881672937a And remove some of the debugging crap
Original commit message from CVS:
And remove some of the debugging crap
2001-12-29 03:09:23 +00:00
Wim Taymans 7a4596415c And the .h file..
Original commit message from CVS:
And the .h file..
2001-12-29 03:05:34 +00:00
Wim Taymans 893c03f784 Changed to a GList as a GSList seems to have ..uhm.. issues
Original commit message from CVS:
Changed to a GList as a GSList seems to have ..uhm.. issues
2001-12-29 03:02:14 +00:00
Wim Taymans 90355128b5 - Removed deprecated buffer flags.
Original commit message from CVS:
- Removed deprecated buffer flags.
- removed gst_element_signal_eos, replaced with gst_element_set_eos
to set the object to PAUSED, signal an eos event etc..
- small updates to documentation
- repair some plugins
2001-12-28 20:20:26 +00:00
Wim Taymans 01d2b54b37 Fix cleanup for filesrc
Original commit message from CVS:
Fix cleanup for filesrc
2001-12-28 15:19:38 +00:00
Wim Taymans e7f54b1e74 - Added a function to get the currently executing cothread
Original commit message from CVS:
- Added a function to get the currently executing cothread
- Removed some useless includes
- _interrupt now returns a boolean so the behaviour after the interrupt
can be controlled by the scheduler.
- Added a better way to set/get the default scheduler.
- make thread and pipeline get the default scheduler.
2001-12-27 00:47:41 +00:00
Wim Taymans 2198726630 Added a property to make identity fail after N buffers
Original commit message from CVS:
Added a property to make identity fail after N buffers
2001-12-27 00:40:50 +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
Andy Wingo aa9bc272af removed httpsrc from core
Original commit message from CVS:
removed httpsrc from core
2001-12-24 21:33:03 +00:00
Wim Taymans 7ec6702121 Better, cleaner state management of the scheduler by adding scheduler state flags.
Original commit message from CVS:
Better, cleaner state management of the scheduler by adding scheduler state
flags.
typefind has to interrupt instead of yield.
Fix a leak in the queue when it's dropping buffers.
2001-12-24 15:14:03 +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
Wim Taymans f5affde61c - Reclaim cothread state even if the cothread was never activated after the free.
Original commit message from CVS:
- Reclaim cothread state even if the cothread was never activated after
the free.
- fix the bin state change when there are no more children.
- use a real method to signal the parent bin of a state change.
- move the state change policy in the scheduler.
- remove the unused and ridiculous state change event
- don't free the cothread state when the element is disabled. only free it
when the element is removed from the scheduler.
2001-12-20 20:03:10 +00:00
Wim Taymans a8b1346857 cothread cleanup.
Original commit message from CVS:
cothread cleanup.
- removed some old code.
- ran the thing through indent
- rename cothread_init/free to cothread_context_init/free
- implement cothread_free/destroy to clear the cothread_state slot
- make cothread_init reuse empty slots.
minor cleanups in error reporting (gstpad, gstelement)
code cleanup in gstthread
make unexpected state changes in gstthread less fatal
free the cothread_state in the scheduler.

This one passes all the current cvs testcases including dynamic-pipeline.
2001-12-20 02:41:34 +00:00
Zaheer Abbas Merali eb45d89cfb Added capsnego to the Tee Element
Original commit message from CVS:
Added capsnego to the Tee Element
2001-12-19 01:17:54 +00:00
Wim Taymans 56d3cdf64a - Elements can now send events to their parent.
Original commit message from CVS:
- Elements can now send events to their parent.
- remove the g_signals from the core for parent<->child communication
- the application can easily get element info by listening for an event
signal from the toplevel bin.
- added gst_element_info()/_error().
- fakesrc and fakesink use the info event instead of g_print.
- GST_TYPE_* causes segfaults with elect fence, rever to G_TYPE_POINTER
until we know what's wrong.
- various leaks fixed wrt element destroy.
- The object that created the event is now stored as GST_EVENT_SRC
2001-12-18 19:03:07 +00:00
Wim Taymans 9a011a79c0 Reset the offset when going to READY
Original commit message from CVS:
Reset the offset when going to READY
2001-12-18 16:54:11 +00:00
Christian Schaller 7886394507 more of the popular // fixes
Original commit message from CVS:
more of the popular // fixes
2001-12-17 18:14:51 +00:00
Andrew Mitchell f518f8e795 Re-add fix from the branch
Original commit message from CVS:
Re-add fix from the branch
2001-12-17 04:22:11 +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 cbe353a146 Added en axtra include for sys_errlist
Original commit message from CVS:
Added en axtra include for sys_errlist
2001-12-15 22:59:24 +00:00