Commit graph

84 commits

Author SHA1 Message Date
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
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
8b29840f55 1. Add more warnings for the gst core only. Various trival fixes to quiet the warnings.
Original commit message from CVS:
1. Add more warnings for the gst core only.  Various trival fixes
to quiet the warnings.

2. Fix GstBufferCopyFunc prototype.

3. Re-apply the reverted type!=0 assertion in gst_elementfactory_new.
2001-09-14 22:16:47 +00:00
Wim Taymans
453f2fee05 Removed the old eos and qos functions.
Original commit message from CVS:
Removed the old eos and qos functions.
Removed the functions from the elements.
2001-08-10 17:34:59 +00:00
Erik Walthinsen
ee9426a1a1 Initial code for the event system.
Original commit message from CVS:
Initial code for the event system.
2001-08-06 20:37:21 +00:00
Wim Taymans
4fde5f8410 Properly set the eos flag when no elements can be scheduled.
Original commit message from CVS:
Properly set the eos flag when no elements can be scheduled.
2001-07-15 13:04:38 +00:00
Wim Taymans
dd666aaeff Added a g_assert when a filled bufpen is overwritten.
Original commit message from CVS:
Added a g_assert when a filled bufpen is overwritten.
2001-07-11 19:23:57 +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
Wim Taymans
5c73a7824c Changed a stupid assert in request_pad.
Original commit message from CVS:
Changed a stupid assert in request_pad.
Some fixes for pullregion and EOS conditions.
Remove an unneeded check in the scheduler (check for NULL buffer)
some EOS fixes for pullregion in disksrc.
Removed the macro in the gstparse.h header 'cause it's internal to gstparse.c
Added a check in gstparse for NULL element.
2001-06-15 19:13:45 +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
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
Wim Taymans
1a66e83975 - backported the xml load bug in the properties
Original commit message from CVS:
- backported the xml load bug in the properties
- backported the videosink bug
- make sure the regiontype is set to NONE after a getregion
- an ugly fix (copy the chainfunction outselves) to make the avidecoder
work again.
2001-02-10 14:46:37 +00:00
Erik Walthinsen
c17ed10404 Reworked getregion/pullregion stuff. Region is now specified by a type (OFFSET_LEN, TIME_LEN, etc.) and two guint64'...
Original commit message from CVS:
Reworked getregion/pullregion stuff.  Region is now specified by a type
(OFFSET_LEN, TIME_LEN, etc.) and two guint64's.  They are offset and len,
where offset can be used for the time field, and len would be zero or
the time unit (say, 33ms for video).
2001-02-05 17:16:23 +00:00
Wim Taymans
51cbf22624 This is a megapatch with the following changes:
Original commit message from CVS:
This is a megapatch with the following changes:

- moved the gchar *name to GstObject, removed the ones in GstElement and
GstPad.
- moved the parent handling completely into GstObject. This cause *all* of
the plugins to fail (except those that used gst_pad_get_parent)
- rearanged the XML save handling.
- GstObject now has a class function save/restore_thyself.
- GstObject has a generic method gst_object_save_thyself, this makes it
possible to fire a signal wehever a new object is loaded. This is needed
so we can add XML save hooks.
- GstXML API has changed slightly. You now have to create a GstXML object
first before you can actually load something. This makes it possible to
attach a signal to GstXML whenever an object is loaded. I'm not sure we
will keep this interface.
- GstObject can now print the path_string without knowing about the GstPad and
GstElement types.
- Added gst_bin_get_by_name_recurse_up to lookup an element in the current
element hierarchy.
- added XML namespaces to the saved pipelines the namespace is:
http://gstreamer.net/gst-core/1.0/
namespaces are needed to distinguish user generated XML from the core XML.

Note that the plugins still contain a macro GST_OBJECT_PARENT that will be
replaced with gst_pad_get_parent shortly.
2001-01-29 00:06:02 +00:00
Wim Taymans
5c27fa2ac4 Check for NULL buffers before chaining/pushing them to the next element.
Original commit message from CVS:
Check for NULL buffers before chaining/pushing them to the next element.
NULL buffers happen on EOS.
gst_bin_iterate now returns a gboolean indicating something usefull happened.
It the bin is EOS, it returns FALSE.
2001-01-20 18:20:17 +00:00
Wim Taymans
7ce56f5dab More EOS changes.
Original commit message from CVS:
More EOS changes.
When a bin2 is found inside a bin1, we add the bin2 to the EOS providers
of the bin1. When there is nothing more to schedule in bin1 and bin2 has
fired EOS, bin1 is in EOS.
The queue overrides the EOS notification and calls EOS on the src pad
when the queue is empty and the sink pad is in EOS.
2001-01-20 17:59:25 +00:00
Wim Taymans
fdaa2307da A very small change to make eos somewhat work. no inner bins are checked.
Original commit message from CVS:
A very small change to make eos somewhat work. no inner bins are checked.
When an element fires EOS, the chain with that element is removed from
the scheduler (marked inactive). If all chains are inactive, the bin
fires EOS.
2001-01-20 03:10:44 +00:00
Erik Walthinsen
74f8050844 Major cleanup of the latest ghostpad changes. Fixed everything that broke, correctly. Someone will want to go updat...
Original commit message from CVS:
Major cleanup of the latest ghostpad changes.  Fixed everything that
broke, correctly.  Someone will want to go update the API doc templates.
2001-01-19 09:37:32 +00:00
Erik Walthinsen
c31f9a570c First pass at updating to new ghostpad system. The objects are in place,
Original commit message from CVS:
First pass at updating to new ghostpad system.  The objects are in place,
I now need to go and get all the Bin end of things worked out.  Testing
should be fairly easy, at least for verification.

Everything I've tried so far works with no changes, with is amazing.
That's just cool.  Once again we rewrite an entire subsystem, and nothing
else notices anything but the new features ;-)
2001-01-19 02:23:35 +00:00
Erik Walthinsen
4bdaed3966 removed a leak
Original commit message from CVS:
removed a leak
2001-01-07 04:28:04 +00:00
Erik Walthinsen
1e04cefaf2 Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
Original commit message from CVS:
Mega update of INFO, DEBUG, and ERROR subsystems, renamed with GST_ prefix.
GST_DEBUG now takes a category parameter, which is the same as GST_INFO
system.  They are now called GST_CAT_*.  All the GST_DEBUGs are set to 0
for now, we need to go and fix all these eventually.
2001-01-01 03:14:40 +00:00
Erik Walthinsen
9a0438ba93 Started work on better ghostpad management, and started to build the low- level EOS mechanism.
Original commit message from CVS:
Started work on better ghostpad management, and started to build the low-
level EOS mechanism.

Also removed a couple of printouts that aren't needed any more.
2000-12-31 22:18:05 +00:00
Wim Taymans
c306021ce3 Fixed buffer flag handling gstplay used old flag handling updated some plugins for the new objects/error handling
Original commit message from CVS:
Fixed buffer flag handling
gstplay used old flag handling
updated some plugins for the new objects/error handling
Fixed a serious buffer error in gst_buffer_append
2000-12-29 19:45:45 +00:00
Wim Taymans
fe6128b118 Fixed a serious bug in gst_props_new: properties with a 0 value causes a segfault
Original commit message from CVS:
Fixed a serious bug in gst_props_new: properties with a 0 value causes
a segfault
Fixed a possible bug in gstautoplug when one of the constructed paths
was empty
Commented out a too liberal assert in gstscheduler.c
Added GST_BUFFER_DISCONTINUOUS
tried to fix asyndisksrc
2000-12-29 18:23:41 +00:00
Erik Walthinsen
a80b0c26d5 Added DEBUG, INFO, and ERROR systems. Very little code is converted yet.
Original commit message from CVS:
Added DEBUG, INFO, and ERROR systems.  Very little code is converted yet.
Policy decisions need to be made as to what kinds of cases get what kind
of response, and what the default ERROR response should be.  Right now it
will print out all the information, then have gdb spew a stack trace.
2000-12-29 10:02:17 +00:00
Erik Walthinsen
ca1c48e95c Updated copyright in all the libgst files.
Original commit message from CVS:
Updated copyright in all the libgst files.
Created gst_private.h, set up all files to use it.
2000-12-28 22:12:02 +00:00
Wim Taymans
9655c3b593 Updated the API docs.
Original commit message from CVS:
Updated the API docs.
2000-12-28 21:42:23 +00:00
Wim Taymans
f4a635c8dc Pending editor changes. fixes for autoplug of elementary MPEG1 video streams make sure mp3 types get compiled videosi...
Original commit message from CVS:
Pending editor changes.
fixes for autoplug of elementary MPEG1 video streams
make sure mp3 types get compiled
videosink changes for xml loading
2000-12-28 02:51:07 +00:00
Wim Taymans
41aa51ba45 Fixes for the new scheduler.
Original commit message from CVS:
Fixes for the new scheduler.
Autoplug works again with mp3/mpeg1/ogg
2000-12-28 00:18:26 +00:00
Erik Walthinsen
1c568619e9 Added some cleanup, so create_plan can be called multiple times.
Original commit message from CVS:
Added some cleanup, so create_plan can be called multiple times.
2000-12-27 23:42:15 +00:00
Erik Walthinsen
8139aeca9e Added code to attempt the scheduling of chained cases. Very simply right now. Also added code to allow the use_coth...
Original commit message from CVS:
Added code to attempt the scheduling of chained cases.  Very simply right
now.  Also added code to allow the use_cothread flag of a bin to force all
the chains to use cothreads as well.
2000-12-27 00:46:26 +00:00
Erik Walthinsen
a46c5a73f0 More massive changes to the scheduling system. Moved the scheduling code to gstscheduler.[ch], so an child bin can r...
Original commit message from CVS:
More massive changes to the scheduling system.  Moved the scheduling code
to gstscheduler.[ch], so an child bin can replace the scheduler.
Introduced the concept of chains, which are subsets of the list of managed
elements for a given manager bin, which get scheduled as separate entities.
gst_bin_iterate_func should be pretty much fixed now, the scheduling code
gets to do all the hard work.

Cothreaded case work in the couple tests I've tried, chained is next.
2000-12-26 23:51:04 +00:00