Commit graph

59 commits

Author SHA1 Message Date
Benjamin Otte 1e82f617e4 gst/gstclock.*: deprecate old interface and disable functions that aren't in use anymore.
Original commit message from CVS:
2004-01-13  Benjamin Otte  <in7y118@public.uni-hamburg.de>

* gst/gstclock.c: (gst_clock_class_init), (gst_clock_init),
(gst_clock_set_speed), (gst_clock_set_active),
(gst_clock_is_active), (gst_clock_reset),
(gst_clock_handle_discont):
* gst/gstclock.h:
deprecate old interface and disable functions that aren't in use
anymore.
* gst/gstelement.h:
* gst/gstelement.c: (gst_element_get_time), (gst_element_wait),
(gst_element_set_time), (gst_element_adjust_time):
add concept of "element time" and functions to get/set this time.
* gst/gstelement.c: (gst_element_change_state):
update element time correctly.
* gst/gstelement.c: (gst_element_get_compatible_pad_filtered):
This is a debug message, not a g_critical.
* gst/gstpad.c: (gst_pad_event_default):
handle discontinuous events right with element time.
* gst/gstscheduler.c: (gst_scheduler_state_transition):
update to clocking fixes.
set clocks on elements in READY=>PAUSED. The old behaviour caused
a wrong element time on the first element that started playing.
* gst/schedulers/gstbasicscheduler.c:
(gst_basic_scheduler_class_init):
* gst/schedulers/gstoptimalscheduler.c:
(gst_opt_scheduler_class_init):
remove code that just implements the default behaviour.
* gst/elements/gstfakesink.c: (gst_fakesink_chain):
update to use new clocking functions
* testsuite/clock/clock1.c: (gst_clock_debug), (main):
* testsuite/clock/clock2.c: (gst_clock_debug), (main):
update to test new element time.
* gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps):
use _get_allowed_caps instead of _get_caps. This catches filtered
caps correctly.
* testsuite/debug/commandline.c:
update for new GST_DEBUG syntax.
* testsuite/threads/Makefile.am:
disable a test that only works sometimes.
2004-01-14 00:46:48 +00:00
Iain Holmes e10cd625ca Reference the group when we add an element to it.
Original commit message from CVS:
Reference the group when we add an element to it.
2004-01-13 01:34:32 +00:00
Benjamin Otte 46a70fddfb removed GST_*_CAST. Disabling of type checking is done in glib.
Original commit message from CVS:
removed GST_*_CAST. Disabling of type checking is done in glib.
2003-12-13 16:58:29 +00:00
Andy Wingo 8ca1b1fe7f remove copyright field from plugin structs
Original commit message from CVS:
remove copyright field from plugin structs
2003-12-04 10:02:41 +00:00
Benjamin Otte 907e3e97d9 update plugin initialization restructuring (see email for details
Original commit message from CVS:
update plugin initialization restructuring (see email for details
2003-10-31 19:32:47 +00:00
Andy Wingo 31d748d332 s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also inc...
Original commit message from CVS:
s/GstBuffer/GstData/ in the API where you can pass events. Fix the plugins to deal with that. Fixes #113488. Also includes scheduler patches, and probably fixes some queue bugs relating to events and buffers.
2003-10-08 16:06:02 +00:00
Thomas Vander Stichele 1adec99a85 forward port of 123517 adds more debug info to optscheduler
Original commit message from CVS:
forward port of 123517
adds more debug info to optscheduler
2003-10-05 15:18:11 +00:00
Iain Holmes ebaed96716 When scheduling a group, check that its not the group thats currently in the top of the runqueue.
Original commit message from CVS:
When scheduling a group, check that its not the group thats currently in the
top of the runqueue.

Then, when scheduling a different group, disable the first group and search for the next enabled group to run. Stops deadlocking in loop based elements.

Also remove the g_list_length's from the debugging statements for a bit of speed
2003-09-27 14:13:41 +00:00
Angel Carpintero 7e6ea67d56 fix the error that break the built
Original commit message from CVS:
fix the error that break the built
2003-08-27 10:19:08 +00:00
Thomas Vander Stichele 4aeb784a6f fixes event function setting on unconnected pads
Original commit message from CVS:
fixes event function setting on unconnected pads
2003-08-26 10:50:35 +00:00
Andy Wingo ff57e00592 run pre_run_func and post_run_func when working without a cothread -- fixes threadsafe element props
Original commit message from CVS:
run pre_run_func and post_run_func when working without a cothread -- fixes threadsafe element props
2003-07-16 15:39:46 +00:00
Benjamin Otte 803ce6bf48 GST_DEBUG reorganization containing loads of stuff:
Original commit message from CVS:
GST_DEBUG reorganization
This is a big diff (ca 450k), containing loads of stuff:
- gstinfo.[ch] complete rewrite
- changing of all GST_DEBUG messages to reflect that change
- reorganization of subsystem disabling
- addition of gstconfig.h.in so we can track the disablings
- <gst/gst.h> does not include <unistd.h> and <config.h> anymore
- documentation updated for gstinfo stuff (build the docs yourself to know what changed)
- bugfixes for making of the docs (files from CVS are not deleted anymore
- testsuite for debugging changes in testsuite/debug

expect breakage
2003-06-29 14:05:49 +00:00
Wim Taymans 61a4a6389f try to fix #114252
Original commit message from CVS:
try to fix #114252
2003-06-07 11:36:42 +00:00
David Schleef 214c557a6d Change GST_DEBUG_FUNCPTR() to return a pointer of the same type that it is called with. Fix lots of warnings due to ...
Original commit message from CVS:
Change GST_DEBUG_FUNCPTR() to return a pointer of the same type that it
is called with.  Fix lots of warnings due to change.
2003-05-18 23:34:12 +00:00
Wim Taymans 63db8dfb67 - enable chain if an active group is added to it
Original commit message from CVS:
- enable chain if an active group is added to it
- enable group if a PLAYING element is added to it
2003-03-28 17:29:57 +00:00
Wim Taymans 5b91593b0e Set initial flags on various scheduler structures
Original commit message from CVS:
Set initial flags on various scheduler structures
2003-03-25 19:34:30 +00:00
Wim Taymans 4e44ab15b5 - fix unlink between decoupled elements
Original commit message from CVS:
- fix unlink between decoupled elements
- clear the entry point of a group when we remove the element
- fix a potential problem in _merge_groups that could be triggered when
someone is holding an extra refcount to the group.
2003-03-13 18:46:21 +00:00
Wim Taymans 678ea8bbbb Fix optimal scheduler with cothreads
Original commit message from CVS:
Fix optimal scheduler with cothreads
2003-03-11 23:26:18 +00:00
Benjamin Otte c3ebe159bd added (hopefully) compatible cothreads emulation by using GThreads.
Original commit message from CVS:
added (hopefully) compatible cothreads emulation by using GThreads.
use '--gst-scheduler=basicgthread' to try it out
includes bugfix for opt to call do_cothreads_init when using threads
2003-03-11 21:01:31 +00:00
Wim Taymans aab288b33e Never take away the group from a loop based element
Original commit message from CVS:
Never take away the group from a loop based element
2003-03-04 20:55:25 +00:00
Wim Taymans 5bda977d93 Fix the get_wrapper to handle the case where the peer group is disabled
Original commit message from CVS:
Fix the get_wrapper to handle the case where the peer group is disabled
2003-02-28 23:14:50 +00:00
Wim Taymans f006787228 Stupid bug, always use the runqueue to start scheduling things.
Original commit message from CVS:
Stupid bug, always use the runqueue to start scheduling things.
2003-02-28 17:50:04 +00:00
Wim Taymans 777cae1b0b Schedule next chain on interrupt
Original commit message from CVS:
Schedule next chain on interrupt
2003-02-27 23:47:40 +00:00
Wim Taymans 71775c37e3 - More refcounting fixes that now sustain abuse from spider, key is to be careful when iterating over a list when our...
Original commit message from CVS:
- More refcounting fixes that now sustain abuse from spider, key is to be
careful when iterating over a list when our current pointer could be
removed.
2003-02-27 23:07:30 +00:00
Wim Taymans e44d5c1d4a Removed an assert that will not hold when the chain currently executing was merged into another one.
Original commit message from CVS:
Removed an assert that will not hold when the chain currently executing
was merged into another one.
2003-02-27 21:23:39 +00:00
Wim Taymans 2b3c56c4d1 print refcount in _show
Original commit message from CVS:
print refcount in _show
2003-02-27 18:29:07 +00:00
Wim Taymans 91d33d766a Added refcounting to the optimal scheduler to guard against modifications during iterations
Original commit message from CVS:
Added refcounting to the optimal scheduler to guard against modifications
during iterations
2003-02-27 18:21:34 +00:00
Wim Taymans a2b7df0911 More sensible name for the scheduler when compiled without cothreads
Original commit message from CVS:
More sensible name for the scheduler when compiled without cothreads
2003-02-10 20:11:14 +00:00
Wim Taymans 50fccd3791 Clear any queued buffers when going to READY.
Original commit message from CVS:
Clear any queued buffers when going to READY.
2003-02-06 20:22:34 +00:00
Ronald S. Bultje 637326bc8d older gccs crack here
Original commit message from CVS:
older gccs crack here
2003-02-05 17:09:50 +00:00
Wim Taymans d7e33dd2ce - Use the eventhandler instead of the event function to send events.
Original commit message from CVS:
- Use the eventhandler instead of the event function to send events.
- make the scheduler setup the eventhandlers
- intercept flush events on pads links that can potentially queue data
and flush it.
- some more debugging info in spider.

I can think of one case where this flush might fail: unconnected pads where
the scheduler has not set up the eventhandler yet. I'll come up with a
solution for that soon.
2003-02-03 22:50:55 +00:00
Wim Taymans b87dbe8c98 Some extra debug info
Original commit message from CVS:
Some extra debug info
2003-02-02 19:14:26 +00:00
Wim Taymans 59a224893a Some more debugging
Original commit message from CVS:
Some more debugging
2003-01-20 23:11:51 +00:00
Wim Taymans 59bd88118f Added interrupt back in spider, make opt scheduler schedule next chain on interrupt (like basic did)
Original commit message from CVS:
Added interrupt back in spider, make opt scheduler schedule next chain
on interrupt (like basic did)
2003-01-12 20:28:08 +00:00
Wim Taymans 89bf2733e9 - return boolean in _interrupt to better inform element
Original commit message from CVS:
- return boolean in _interrupt to better inform element
- fix default bufferpool unref
2003-01-11 16:27:45 +00:00
David I. Lehn 5a74101933 more connect -> link updates
Original commit message from CVS:
more connect -> link updates
2003-01-09 22:59:37 +00:00
Thomas Vander Stichele 5529bbc7dc first pass of connect->link gst-plugins and other stuff compiles without change at this point
Original commit message from CVS:
first pass of connect->link
gst-plugins and other stuff compiles without change at this point
2003-01-09 14:15:37 +00:00
Wim Taymans e8b63df877 Provide intrastructure to not have to pass NULL buffers on errors and interrupts, this should fix some issues with th...
Original commit message from CVS:
Provide intrastructure to not have to pass NULL buffers on errors and
interrupts, this should fix some issues with the optimal scheduler.
2003-01-08 21:33:20 +00:00
Wim Taymans 6653167f11 - Remove annoying \n from cothread INFO/DEBUG messages
Original commit message from CVS:
- Remove annoying \n from cothread INFO/DEBUG messages
- only set an element to PAUSED when it gave an error during PLAYING
- ensure internal consistency of opt scheduler structures
- Added mex_recursion to opt scheduler
2003-01-01 04:28:33 +00:00
Wim Taymans a03425c8b3 - disable pads when going to PAUSED, we want to make sure no data is passing when an element is not PLAYING.
Original commit message from CVS:
- disable pads when going to PAUSED, we want to make sure no data is
passing when an element is not PLAYING.
- changed the clock sync API, element should now get a ClockID first and
sync on that. This makes it possible to cancel clock requests.
2002-12-27 22:57:13 +00:00
Wim Taymans 2694db659d Fix merge_groups
Original commit message from CVS:
Fix merge_groups
2002-12-26 22:11:04 +00:00
Wim Taymans abfc7a0ed8 implemented yield/interrupt
Original commit message from CVS:
implemented yield/interrupt
2002-12-21 02:25:54 +00:00
Wim Taymans 4a63ac4d02 Destroy cothreads first before destroying context
Original commit message from CVS:
Destroy cothreads first before destroying context
2002-12-20 18:49:17 +00:00
Wim Taymans 7e16eb73de Delete chains only once..
Original commit message from CVS:
Delete chains only once..
2002-12-19 19:45:13 +00:00
Wim Taymans e7ccc2ec08 - Factor out some error functions
Original commit message from CVS:
- Factor out some error functions
- handle the cases where multipad get to multi-sink loop/chain based
elements are connected.
2002-12-16 21:21:02 +00:00
Wim Taymans 103d810e2c Decoupled elements needs special case when we look for grouped elements.
Original commit message from CVS:
Decoupled elements needs special case when we look for grouped elements.
2002-12-15 22:52:48 +00:00
Wim Taymans bd9dc3604f Some cleanups, added FIXMEs
Original commit message from CVS:
Some cleanups, added FIXMEs
2002-12-15 22:02:20 +00:00
Wim Taymans 8f06b55c38 - Removed old deprecated fastscheduler
Original commit message from CVS:
- Removed old deprecated fastscheduler
- ifdef out cothread specific code in optimalscheduler
- added more g_asserts to optimalscheduler
- create separate scheduler called "opt", removed property from scheduler
- fixed iterations property
2002-12-15 18:21:43 +00:00
Wim Taymans 11b376c838 Improve the optimal scheduler, mainly element remove and pad disconnect
Original commit message from CVS:
Improve the optimal scheduler, mainly element remove and pad disconnect
2002-12-15 12:18:04 +00:00
Wim Taymans 0d994e41ad turn off cothreads, fix some typos
Original commit message from CVS:
turn off cothreads, fix some typos
2002-12-09 22:31:16 +00:00