Commit graph

156 commits

Author SHA1 Message Date
Wim Taymans
1123103926 - Added _LOCKED_STATE element flag
Original commit message from CVS:
- Added _LOCKED_STATE element flag
- parent bin does not perform state changes on _LOCKED_STATE elements
2003-03-25 19:39:18 +00:00
Wim Taymans
ddd3265b11 Add refcounting around _iterate to guard against unreffing in scheduling callbacks or other nastyties
Original commit message from CVS:
Add refcounting around _iterate to guard against unreffing in scheduling
callbacks or other nastyties
2003-02-27 18:18:32 +00:00
Wim Taymans
a3abc06133 fixed 105883
Original commit message from CVS:
fixed 105883
2003-02-12 17:23:45 +00:00
Wim Taymans
48c70d75cb Close bug #105570 (added gst_bin_remove_many patch from omega)
Original commit message from CVS:
Close bug #105570 (added gst_bin_remove_many patch from omega)
2003-02-11 20:15:50 +00:00
Wim Taymans
1d8d165f41 Fix recursive clock _get problem
Original commit message from CVS:
Fix recursive clock _get problem
2003-02-11 18:22:34 +00:00
Wim Taymans
b030b5cef2 - Add more --disable options
Original commit message from CVS:
- Add more --disable options
- fix makefiles to only compile non-disabled features
- some compile fixes.
- removed extratypes, added gsturitype
- make get/set clock on a bin overridable
- some portability fixes for GUINT64
- separate pools from gstregistry.[ch] into gstregistrypool.[ch]
- make gstobject size fixed, even if we disabled load/save
- don't use 'new' as a variable as it is not a valib C++ variable
2003-02-10 20:32:32 +00:00
Erik Walthinsen
0da768dacb Fix various inconsistencies discovered while attempting to fix --disable-*.
Original commit message from CVS:
Fix various inconsistencies discovered while attempting to fix --disable-*.
Uraeus: this should fix the bison.simple problem that you've had.
2003-02-10 07:53:58 +00:00
Wim Taymans
1ed68c8126 - make add/remove overridable for custom bins
Original commit message from CVS:
- make add/remove overridable for custom bins
2003-01-11 20:08:03 +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
68b53ac4ab - Cleanups
Original commit message from CVS:
- Cleanups
- Added padding to structs
- fixed typechecking/casts
- reduced casts
- implemented remove_element in gstbin
- implemented set index on bin
2002-12-19 21:31:03 +00:00
Wim Taymans
91b824a34c - Reworked the clock to prepare for async notifications
Original commit message from CVS:
- Reworked the clock to prepare for async notifications
- moved some common scheduler checking to gstbin
- added some vmethods to gstbin for future use
- more fixes to the optimal scheduler
- use new clock api in the schedulers
2002-11-02 13:54:34 +00:00
Thomas Vander Stichele
0933f2df88 how did this get by ?
Original commit message from CVS:
how did this get by ?
2002-10-29 21:34:14 +00:00
Andy Wingo
c92874adad licenses, ugg
Original commit message from CVS:
licenses, ugg
2002-09-29 18:12:52 +00:00
Thomas Vander Stichele
f0c104309d better warning (?)
Original commit message from CVS:
better warning (?)
2002-09-15 18:20:41 +00:00
Thomas Vander Stichele
b5b28a3c8b cleanups
Original commit message from CVS:
cleanups
2002-09-12 18:55:21 +00:00
Wim Taymans
a444a6ccc5 - move the state_change signal emit to a better place, before changing the parent state
Original commit message from CVS:
- move the state_change signal emit to a better place, before changing
the parent state
- also call the parent state change handler in a bin
2002-07-28 01:46:38 +00:00
Wim Taymans
de12c3557a Removed gst_bin_change_state_type it doesn't work and the concept is outdated, we'll find something better soon..
Original commit message from CVS:
Removed gst_bin_change_state_type it doesn't work and the concept is
outdated, we'll find something better soon..
2002-07-24 20:37:09 +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
f8ca62be6e Only revert the state of the failed element
Original commit message from CVS:
Only revert the state of the failed element
2002-06-17 16:00:10 +00:00
Thomas Vander Stichele
4cd77fab14 xavpatch
Original commit message from CVS:
xavpatch
2002-06-11 21:03:48 +00:00
Steve Baker
a415cdd34e remove the "iterate_started" signal and replace it with pre_iterate and post_iterate callbacks.
Original commit message from CVS:
remove the "iterate_started" signal and replace it with pre_iterate and post_iterate callbacks.

Apps can now put a lock around an iterate so they can do stuff on the bin from another thread. much nicer than the signal approach.
2002-06-10 16:48:47 +00:00
Steve Baker
9546949ebf added a "iterate_started" signal which fires before the iterate of a bin. useful for non-threadsafe operations like s...
Original commit message from CVS:
added a "iterate_started" signal which fires before the iterate of a bin. useful for non-threadsafe operations like seek in threaded pipelines
2002-06-07 19:34:52 +00:00
Wim Taymans
d88e845615 Poll instead of blocking when waiting for a state change
Original commit message from CVS:
Poll instead of blocking when waiting for a state change
2002-06-03 19:50:41 +00:00
Thomas Vander Stichele
54486bc893 doc fixes
Original commit message from CVS:
doc fixes
2002-04-23 15:02:35 +00:00
Thomas Vander Stichele
d38b086c67 api renaming
Original commit message from CVS:
api renaming
2002-04-23 11:15:18 +00:00
Thomas Vander Stichele
bede14df34 give useful warning when not unique
Original commit message from CVS:
give useful warning when not unique
2002-04-21 14:16:36 +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
8cd991a9d6 - make all _get_list functions return a const reference to original lists and no copy
Original commit message from CVS:
- make all _get_list functions return a const reference to original lists and no copy
- redo code accordingly
- fix compile issue in dparam stuff
2002-04-19 19:49:41 +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
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
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
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
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
Andy Wingo
cbc6f66cf4 add two apis: gst_element_connect_elements_many (elem1, elem2, ...)
Original commit message from CVS:
* add two apis:
* gst_element_connect_elements_many (elem1, elem2, ...)
- calls gst_element_connect_elements() in order
- should be called gst_element_connect_many, but we need to rename gst_element_connect_elements first
- simplifies common-case code
* gst_bin_add_many (bin, elem1, ...)
- calls gst_bin_add on all of the elems
- again, simplifying common code
2002-02-21 14:44:27 +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
92eb128d0f some object cleanup fixes
Original commit message from CVS:
some object cleanup fixes
2002-02-17 19:58:29 +00:00
Benjamin Otte
a2c24524e2 This patch (nearly) completes the removal of vertical events from the core.
Original commit message from CVS:
This patch (nearly) completes the removal of vertical events from the
core.
What it does:
- removal of the EVENT signal of GstElement (to be replaced by
g_object_notify)
- changing of the ERROR signal to allow recursive notification (like
deep_notify)
- implementing recursive notification with error events.
- removal of some functions in gstbin.c that are not used anymore.
- The function gst_element_info and gst_element_send_event now do
nothing but printing a warning, that these functions are gone. This is
done to allow plugins to catch up.
- Some bugfixes in XML saving are included, they simply were in the
file.
2002-02-06 19:05:19 +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
Andy Wingo
a43702feb0 miscellaneous fixes, added gst_pad_unset_sched() api.
Original commit message from CVS:
miscellaneous fixes, added gst_pad_unset_sched() api.

although I unref the old pipeline and the cothread context gets freed in dynamic-pipeline.c,
I still get segfaults.
2002-01-19 06:29:40 +00:00
Andy Wingo
a7c3fc7d6c cleaning up duplicated code in gstbin.c added some sanity checks in gstpad.c added checks for failed connections in g...
Original commit message from CVS:
* cleaning up duplicated code in gstbin.c
* added some sanity checks in gstpad.c
* added checks for failed connections in gstparse.c
* better docs in gstxml.c
2002-01-18 22:44:19 +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
f1827a5697 /me should compile first
Original commit message from CVS:
/me should compile first
2002-01-01 16:01:00 +00:00
Wim Taymans
0a74077dcc API doc updates.
Original commit message from CVS:
API doc updates.
2002-01-01 15:58:51 +00:00
Wim Taymans
a4e4bb5795 Small cleanups
Original commit message from CVS:
Small cleanups
Added a bound to the number of switches, also fix a small bug
2002-01-01 13:51:04 +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
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