Commit graph

83 commits

Author SHA1 Message Date
David Schleef e7db7a70ad Change from pthreads to GThreads
Original commit message from CVS:
Change from pthreads to GThreads
2002-11-01 21:38:39 +00:00
Thomas Vander Stichele 3a5b408709 useful comments change thread -> cothread in varnames where it's applicable code cleanups
Original commit message from CVS:
* useful comments
* change thread -> cothread in varnames where it's applicable
* code cleanups
2002-09-12 18:56:31 +00:00
Thomas Vander Stichele 76d31f5af1 readable cleanups
Original commit message from CVS:
readable cleanups
2002-08-13 14:11:33 +00:00
Thomas Vander Stichele c1e2b0009b fix for older glibc's
Original commit message from CVS:
fix for older glibc's
2002-08-13 13:56:05 +00:00
Wim Taymans 1975b199d2 Turn some g_prints into g_warnings as that's what they really are
Original commit message from CVS:
Turn some g_prints into g_warnings as that's what they really are
2002-07-28 01:04:33 +00:00
Andy Wingo efafdb2aa6 be more lenient when loading unconnected pads
Original commit message from CVS:
be more lenient when loading unconnected pads
2002-07-12 19:13:19 +00:00
Thomas Vander Stichele a64e400a97 lioux's virtual patch
Original commit message from CVS:
lioux's virtual patch
2002-07-11 21:38:23 +00:00
Wim Taymans 80c371342b This one removes the unused code..
Original commit message from CVS:
This one removes the unused code..
2002-07-08 19:10:11 +00:00
Christian Schaller cc682cae6c commented out the munmap stuff again
Original commit message from CVS:
commented out the munmap stuff again
2002-06-29 16:26:47 +00:00
Thomas Vander Stichele a155db2bfb more protective programming cothread 0 cleans up higher cothreads if they're still around use a magic number to prote...
Original commit message from CVS:
more protective programming
cothread 0 cleans up higher cothreads if they're still around
use a magic number to protect against mem corruption in the struct
flames welcome
2002-06-28 10:58:05 +00:00
Thomas Vander Stichele 781f489e87 no newlines
Original commit message from CVS:
no newlines
2002-06-27 22:24:36 +00:00
Thomas Vander Stichele aa55a0450d no newlines
Original commit message from CVS:
no newlines
2002-06-27 22:23:51 +00:00
Thomas Vander Stichele ef2f6e1fc4 ok, my latest added error checking and stuff this reverts uraeus's patch but should tell us what goes wrong with munmap
Original commit message from CVS:
ok, my latest added error checking and stuff
this reverts uraeus's patch but should tell us what goes wrong with munmap
2002-06-27 22:17:17 +00:00
Christian Schaller 7cc370b0bf Fixes suggested by thomasvs to get rhythmbox working with basic threads
Original commit message from CVS:
Fixes suggested by thomasvs to get rhythmbox working with basic threads

- int res;
+ int res = 0;

-  res = munmap ((void *) thread, COTHREAD_STACKSIZE);
+/*    res = munmap ((void *) thread, COTHREAD_STACKSIZE); */
2002-06-27 21:35:56 +00:00
Thomas Vander Stichele 8433fe5775 some debug info remove the preventive munmap reinstate the other munmap for cothread stocks which really should be th...
Original commit message from CVS:
some debug info
remove the preventive munmap
reinstate the other munmap for cothread stocks which really should be there IMO
2002-06-27 15:52:13 +00:00
Thomas Vander Stichele b7bc06aee5 ok, this seems to be the right fix for the basic scheduler.
Original commit message from CVS:
ok, this seems to be the right fix for the basic scheduler.
I'd appreciate it if :
a) someone looks over these minimal changes and tells me if they're done
in the right way (especially the alignment argument ;))
b) others run lots of pipes with basic and tell me if they still have
issues
If all goes well I want to revert to the basic scheduler and do a release
2002-06-26 08:22:17 +00:00
Thomas Vander Stichele f4046ced1c hahaha
Original commit message from CVS:
hahaha
2002-06-25 12:09:32 +00:00
Thomas Vander Stichele 1ecc22c610 blind flying adding more debug output cleaning up according to man pages
Original commit message from CVS:
blind flying
adding more debug output
cleaning up according to man pages
2002-06-25 12:08:10 +00:00
Wim Taymans 32f702aa20 Better error handling when mmap'ing
Original commit message from CVS:
Better error handling when mmap'ing
2002-06-15 16:12:20 +00:00
Wim Taymans e4637a0a82 Some cleanups, more debugging info
Original commit message from CVS:
Some cleanups, more debugging info
2002-05-29 14:59:48 +00:00
Thomas Vander Stichele de6c6bcc5d doc fixes
Original commit message from CVS:
doc fixes
2002-04-19 10:26:56 +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 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
Benjamin Otte aadf99137f make sure cothread->priv is NULL when uninited because we now check it (added debugging line to gst_bin_remove while ...
Original commit message from CVS:
make sure cothread->priv is NULL when uninited because we now check it
(added debugging line to gst_bin_remove while debugging)
2002-02-24 19:08:30 +00:00
Wim Taymans 929b4bd3d1 Added a private field to the cothread state.
Original commit message from CVS:
Added a private field to the cothread state.
2002-02-23 13:41:17 +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 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 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 c05a4511cd Removed the munmap for now
Original commit message from CVS:
Removed the munmap for now
2001-12-23 23:36:44 +00:00
Wim Taymans 6c538d527b Fix an event leak
Original commit message from CVS:
Fix an event leak
Ne need to save signals on longjmp
2001-12-23 14:50:44 +00:00
Wim Taymans bdd6df925e Better cothread cleanup
Original commit message from CVS:
Better cothread cleanup
2001-12-23 14:27:48 +00:00
Wim Taymans 467035ce70 Never destroy the current cothread.
Original commit message from CVS:
Never destroy the current cothread.
Don't try to signal the scheduler if we don't have one
2001-12-22 23:19:17 +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
Wim Taymans 5ad018148c Some more work on cleanup.
Original commit message from CVS:
Some more work on cleanup.
- added two functions in the scheduler _setup and _reset to initialize
the context. In the case of the cothread context we have to map the
cothread stack space onto the threads stack.
- setup/reset the scheduler context in the threads context.
- fix the ghostpad cleanup.
- slightly changed the scheduler code to cleanly remove connections.
2001-12-19 19:22:53 +00:00
Wim Taymans e279738a3f Adde cothread context cleanup code
Original commit message from CVS:
Adde cothread context cleanup code
2001-12-18 16:49:13 +00:00
Christian Schaller d6b9ae8b63 aye ladie, no more ugly // comments here, even if Taaz gets upset about it
Original commit message from CVS:
aye ladie, no more ugly // comments here, even if Taaz gets upset about it
2001-12-14 22:59:21 +00:00
Wim Taymans 9f23c76bea Aplied more fixage from Michael Meeks.
Original commit message from CVS:
Aplied more fixage from Michael Meeks.
2001-12-13 23:14:39 +00:00
Wim Taymans cccc097ca5 API docs. revived _buffer_ref_by_count fast types for scheduler and bin.
Original commit message from CVS:
API docs.
revived _buffer_ref_by_count
fast types for scheduler and bin.
error checking on plugin features;
removed some prototypes that were not implemented (gst_pipeline_iterate
comes to mind)
remove gst_pad_event until we know what it's supposed to do.
remove sinesrc, it wasn't compiles anymore, so...
updates to various elements that used the old event API.
2001-10-21 18:00:31 +00:00
Erik Walthinsen c6a04366a3 gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions gstbin.c: removed a reference to config.h...
Original commit message from CVS:
gstinfo.[ch], cothreads.c: added initial support for -finstrument_functions
gstbin.c: removed a reference to config.h
gstbuffer.[ch]: added gst_buffer_is_span_fast(), used it in gst_buffer_span
elements/gstfilesrc.c: initial work fleshing out the event handling code

everywhere else: wrapped XML stuff in #ifndef's
2001-09-10 19:46:01 +00:00
Wim Taymans c416297af4 Changed the maxcothreads to 16. connect to the new_ghost_pad signal in parse.
Original commit message from CVS:
Changed the maxcothreads to 16.
connect to the new_ghost_pad signal in parse.
2001-06-06 18:29:57 +00:00
Wim Taymans db0325ee37 Use the STACKSIZE and number of cothreads to calculate the cothread stack space (easier to change the number of cothr...
Original commit message from CVS:
Use the STACKSIZE and number of cothreads to calculate the cothread stack
space (easier to change the number of cothreads).
2001-06-04 16:02:48 +00:00
Wim Taymans b93de9e922 Docs updates
Original commit message from CVS:
Docs updates
Changed the cothread to use sigjmp_buf
removed some unused methods.
Some code cleanups.
2001-05-27 14:37:29 +00:00
Erik Walthinsen f3098e9546 fixed cothread locking and set_arg/get_arg safety, and switched to 64 cothreads of 32KB
Original commit message from CVS:
fixed cothread locking and set_arg/get_arg safety, and switched to 64 cothreads of 32KB
2001-05-26 22:58:15 +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
David I. Lehn 18adcf5a3f - Fix cothread pointers and allocation so full 2M stack space available:
Original commit message from CVS:
- Fix cothread pointers and allocation so full 2M stack space available:
- Double maximums to use full stack space:
- COTHREAD_STACKSIZE = 16k
- COTHREAD_MAXTHREADS = 128
- cothread changes only verified on x86
- cothread_create returns NULL if nthreads == MAXTHREADS though not yet handled by gstschedule caller
2001-05-16 07:16:47 +00:00
Erik Walthinsen 4cbdcef47f move cothread_context definition over to the .c
Original commit message from CVS:
move cothread_context definition over to the .c
2001-05-10 22:35:50 +00:00
Erik Walthinsen afd1953a04 moved cothread parameters into .c to avoid rebuilding libgst.la every time
Original commit message from CVS:
moved cothread parameters into .c to avoid rebuilding libgst.la every time
2001-05-10 22:10:19 +00:00
Erik Walthinsen ca4e87219c added sparc cothreads
Original commit message from CVS:
added sparc cothreads
2001-03-02 18:30:37 +00:00