Commit graph

73 commits

Author SHA1 Message Date
Wim Taymans
6f9ac3667b Fixed a leak in bin destruction
Original commit message from CVS:
Fixed a leak in bin destruction
More refcounting fixes
2001-05-12 18:04:20 +00:00
Erik Walthinsen
89aa4a3810 - Fixed up a bunch of warnings.
Original commit message from CVS:
- Fixed up a bunch of warnings.
- Fixed buffer_copy (alloc correct size)
- Added start of autoplugger meta-element
2001-05-10 08:16:36 +00:00
Erik Walthinsen
e88151bc2e fixed gst_scheduler_pad_disconnect (never ignore compiler warnings\!) and updated a few INFO lines
Original commit message from CVS:
fixed gst_scheduler_pad_disconnect (never ignore compiler warnings\!) and updated a few INFO lines
2001-05-06 22:12:46 +00:00
Erik Walthinsen
7fdca5f428 Updated the colorization a bit more, and did a significant pass through all the other code to change categories on DE...
Original commit message from CVS:
Updated the colorization a bit more, and did a significant pass through all
the other code to change categories on DEBUG and INFO statements to be
correct, and not simply zero.  There are still more, but this is a good
first pass.
2001-04-28 02:54:53 +00:00
Matt Howell
7678183d1a fixed another thread synch case... better debug
Original commit message from CVS:
fixed another thread synch case... better debug
2001-04-28 01:46:00 +00:00
Matt Howell
cb0068581c initial fix of thread synch for queues and state change
Original commit message from CVS:
initial fix of thread synch for queues and state change
2001-04-27 20:55:47 +00:00
Erik Walthinsen
0e6ec7d33d gstbin.c: commented out the requirement that a bin be !PLAYING to add gstthread.c: fixed an old failed merge that loc...
Original commit message from CVS:
gstbin.c: commented out the requirement that a bin be !PLAYING to add
gstthread.c: fixed an old failed merge that locked the same mutex twice
...in a row
2001-04-26 22:32:13 +00:00
Erik Walthinsen
e6a59c8a62 Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
Original commit message from CVS:
Merged HEAD from BRANCH-INCSCHED1-200104161 into BRANCH-INCSCHED1.
2001-04-16 21:43:28 +00:00
Erik Walthinsen
395527b2f2 latest updates, things are very close to working
Original commit message from CVS:
latest updates, things are very close to working
2001-04-15 23:59:02 +00:00
Erik Walthinsen
f75bb0f38b snapshot for matth to work with while I fly over to Europe....
Original commit message from CVS:
snapshot for matth to work with while I fly over to Europe....
2001-03-30 00:06:43 +00:00
Zaheer Abbas Merali
8a10800420 Fixed locking issue when PLAYING to READY
Original commit message from CVS:
Fixed locking issue when PLAYING to READY
2001-03-16 00:49:05 +00:00
Erik Walthinsen
54e416683a fixed READY_TO_NULL bug
Original commit message from CVS:
fixed READY_TO_NULL bug
2001-03-13 02:20:03 +00:00
Zaheer Abbas Merali
03d8077ee2 removed fine grained locking and added simultaneous waiting for 2 states
Original commit message from CVS:
removed fine grained locking and added simultaneous waiting for 2 states
2001-03-13 01:44:44 +00:00
Zaheer Abbas Merali
e7b0927f99 exactly opposite check needed in wait_thread
Original commit message from CVS:
exactly opposite check needed in wait_thread
2001-03-13 01:24:17 +00:00
Zaheer Abbas Merali
e143ca77fb made wait_thread check for logical true rather than check equality with gboolean
Original commit message from CVS:
made wait_thread check for logical true rather than check equality with gboolean
2001-03-13 01:08:12 +00:00
Zaheer Abbas Merali
518f0ac5d1 changed debug to print unsigned not signed
Original commit message from CVS:
changed debug to print unsigned not signed
2001-03-13 00:57:24 +00:00
Zaheer Abbas Merali
5561a9e79c TYPO: ISSET should be IS_SET
Original commit message from CVS:
TYPO: ISSET should be IS_SET
2001-03-13 00:46:57 +00:00
Zaheer Abbas Merali
9f51259c73 added debug to signal noting the result of the flag after being set
Original commit message from CVS:
added debug to signal noting the result of the flag after being set
2001-03-13 00:45:11 +00:00
Zaheer Abbas Merali
10de3d17c1 Made locks more granular, one lock for each state
Original commit message from CVS:
Made locks more granular, one lock for each state
2001-03-13 00:39:35 +00:00
Zaheer Abbas Merali
33b6cb333e made cond_wait into cond_timedwait
Original commit message from CVS:
made cond_wait into cond_timedwait
2001-03-13 00:09:37 +00:00
Zaheer Abbas Merali
8fc64053fc repositioning of debug after mutex in wait_thread and signal_thread
Original commit message from CVS:
repositioning of debug after mutex in wait_thread and signal_thread
2001-03-12 23:39:25 +00:00
Zaheer Abbas Merali
93cca29397 typo in GST_DEBUG in signal_thread
Original commit message from CVS:
typo in GST_DEBUG in signal_thread
2001-03-12 23:28:38 +00:00
Zaheer Abbas Merali
be811977bf Changed GST_DEBUG in signal_thread and wait_thread to reveal more info
Original commit message from CVS:
Changed GST_DEBUG in signal_thread and wait_thread to reveal more info
2001-03-12 23:27:33 +00:00
Zaheer Abbas Merali
954f21acf6 added a set flag to end of gst_thread_signal_thread and gst_signal_wait_thread to indicate whether signal should set ...
Original commit message from CVS:
added a set flag to end of gst_thread_signal_thread and gst_signal_wait_thread
to indicate whether signal should set flag or unset flag, and whether wait
should wait for flag to be set or to be unset.  this is needed for
PLAYING_TO_PAUSE where STATE_SPINNING needs to be signalled to be unset
2001-03-12 02:44:17 +00:00
Zaheer Abbas Merali
8c5bad4956 making wait for REAPING state when gst_bin_iterate returns non zero
Original commit message from CVS:
making wait for REAPING state when gst_bin_iterate returns non zero
2001-03-12 01:55:13 +00:00
Zaheer Abbas Merali
d2c506810a added debug statement
Original commit message from CVS:
added debug statement
2001-03-12 01:37:35 +00:00
Erik Walthinsen
1abf5ae7a6 some cleanup and compile fixes
Original commit message from CVS:
some cleanup and compile fixes
2001-03-12 00:37:33 +00:00
Zaheer Abbas Merali
9b6906c4df Start of merging syncflags in with states
Original commit message from CVS:
Start of merging syncflags in with states
2001-03-12 00:28:30 +00:00
Erik Walthinsen
781b4f7ecb commit to broken code that needs inspecting
Original commit message from CVS:
commit to broken code that needs inspecting
2001-03-09 18:33:14 +00:00
Erik Walthinsen
df32997396 Yes!, incsched is getting closer.
Original commit message from CVS:
Yes!, incsched is getting closer.
2001-02-17 07:11:12 +00:00
Erik Walthinsen
8edfe3f5de First round of incremental scheduling. Manager setting and managed_elements lists are now handled at bin_add/remove ...
Original commit message from CVS:
First round of incremental scheduling.  Manager setting and managed_elements
lists are now handled at bin_add/remove time.  Scheduling chains can be
created incrementally as well, though there are still some pieces missing.
2001-02-12 23:08:07 +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
75aa948e0c Docs updates
Original commit message from CVS:
Docs updates
Added XML load from memory functionality
Undid the videosink patch, something else is wrong now on my machine:
no MMX acceleration :-(
2001-01-21 23:20:46 +00:00
Wim Taymans
044c4611af More eos handling, bin in bin is handled correctly now.
Original commit message from CVS:
More eos handling, bin in bin is handled correctly now.
Updated gstreamer-launch to loop while !EOS.
2001-01-21 16:06:42 +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
Erik Walthinsen
7c51d6e0ca Cleaned up the docs a bit.
Original commit message from CVS:
Cleaned up the docs a bit.
2001-01-06 22:05:15 +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
Wim Taymans
860ada25b1 Fixed MPEG2 autoplugging
Original commit message from CVS:
Fixed MPEG2 autoplugging
Added some more INFO to gstthread
2000-12-30 17:42:15 +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
Erik Walthinsen
7dcd7a13a1 Mostly minor little changes, but two interesting things: 1) removed a pthread_join from the gst_thread_main_loop. co...
Original commit message from CVS:
Mostly minor little changes, but two interesting things:

1) removed a pthread_join from the gst_thread_main_loop.  commented out
because the thread isn't supposed to run pthread_join, the main process is.

2) Fixed a major bug with cothreads in threads.  Had to add MAP_FIXED to
the mmap() of the cothread stack.  Presumably the gilbc that ships with
redhat 7.0 now places these mmap requests somewhat randomly.  Since they
*must* be exactly where we expect them, it was failing.  MAP_FIXED forces
it to put it where we say.
2000-12-27 03:13:20 +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
Erik Walthinsen
a1268abbd6 Changed "bin" to "thread" in get_thread_new.
Original commit message from CVS:
Changed "bin" to "thread" in get_thread_new.
2000-12-26 20:49:46 +00:00
Wim Taymans
74598fdf6c Added handoff signals to fakesrc and fakesink
Original commit message from CVS:
Added handoff signals to fakesrc and fakesink
Added scheduling property to identity
Added GST_STATE_TRANSITION macro to check for state changes.
Modified gstbin and gstthread to the new state change macros
2000-12-23 03:17:52 +00:00
Wim Taymans
0062e168ca Fixed a bug in gstbin.c the manager was not detected.
Original commit message from CVS:
Fixed a bug in gstbin.c the manager was not detected.
Some other testcases
bin, thread, pipeline use the elementfactory on gst_*_new
2000-12-22 23:23:10 +00:00
Erik Walthinsen
c287566d0c Massive scheduling changes (again). Not entirely complete, but getting closer. Need to think about various scheduli...
Original commit message from CVS:
Massive scheduling changes (again).  Not entirely complete, but getting
closer.  Need to think about various scheduling plans that we might want
to produce, and figure out the rules for what is legal, and how to get
the results we need as far as the plan.
2000-12-20 09:39:43 +00:00
Wim Taymans
bbb9799996 Cleanup in gsttypes.c: removed the crazy GList of GHashTables, since the autoplugger will use the GstCaps and element...
Original commit message from CVS:
Cleanup in gsttypes.c:
removed the crazy GList of GHashTables, since the autoplugger will
use the GstCaps and elementfactories instead of the type system.
We don't maintain a list anymore of the elements for the specific
removed unused code in XML loading/saving.

Cleanup in gstelementfactory:
removed the register/unregister methods, register is now implicit when
gst_elementfactory_new is called. _unregister is now _destroy.
Removed logic to register/unregister the types in gsttypes.
added methods to query if the factory can src/sink a GstCaps
Make sure the elementfactory is set in the element_class when a new
element is registered with gst_elementfactory_new.

gst.c: properly register the basic bins
gst_pipeline: use new gstautoplug (next checkin)
gstprops: fixed an error in compatibility check
registry test program changes
plugins: misc changes for the new caps system.
2000-12-19 13:41:55 +00:00
Wim Taymans
c6ac8a0f6b some editor changes= loading of save pipelines (not working) added include in gstdebug.h for getpid property loading ...
Original commit message from CVS:
some editor changes= loading of save pipelines (not working)
added include in gstdebug.h for getpid
property loading implemented
GstXML can now be queried for the toplevel elements.
2000-12-16 17:12:28 +00:00
Erik Walthinsen
da03fde054 WARNING: Don't grab this updated unless you're really, REALLY sure.
Original commit message from CVS:
WARNING: Don't grab this updated unless you're really, REALLY sure.
WARNING: Wait for the next one.

Whole lotta changes here, including a few random bits:

examples/*/Makefile: updated to use `libtool gcc`, not just `gcc`
gst/
gstbuffer.h: updated to new flag style
gst.c, gstdebug.h: added new debugging for function ptrs
gstpipeline.c: set type of parent_class to the class, not the object
gstthread.c: ditto
plugins/
cdparanoia/cdparanoia.c: added an argument type, updated some defaults
cobin/spindentity.c: updated to new do/while loopfunction style
mp3encode/lame/gstlame.c: argument types, whole lotta lame options
tests/: various changes

Now, for the big changes:  Once again, the scheduling system has changed.
And once again, it broke a whole bunch of things.  The gist of the change
is that there is now a function pointer for gst_pad_push and gst_pad_pull,
instead of a hard-wired function.  Well, currently they are functions, but
that's for debugging purposes only, they just call the function pointer
after spewing lots of DEBUG().

This changed the GstPad structure a bit, and the GstPad API as well.
Where elements used to provide chain() and pull() functions, they provide
chain() and get() functions. gst_pad_set_pull[region]_function has been
changed to get_pad_set_get[region]_function.  This means all the elements
out there that used to have pull functions need to be updated.  The calls
to that function have been changed in the normal elements, but the names
of the functions passed is still _pull[region](), which is an aesthetic
issue more than anything.

As for what doesn't work yet, just about anything dealing with Connections
is hosed, meaning threaded stuff won't work.  This will be fixed about 12
hours from now, after I've slept, etc.  The simplefake.c test works in
both cothreaded and chained cases, but not much else will work due to the
Connection problem.  Needless to say, don't grab this unless you *need*
these features *now*, else wait to update this stuff until tomorrow.

I'm going to sleep now.
2000-12-16 10:18:09 +00:00
Wim Taymans
a63780a377 Header cleanup: try to include as little as possible; this will probably speed up compilation a bit.
Original commit message from CVS:
Header cleanup: try to include as little as possible; this will probably
speed up compilation a bit.
changed the .c files to use #include "..."
Fix for the 'plugins are loaded twice' bug.
Fix 22186: GstObject flags are now used everywhere. Added *_FLAG_LAST so
elements do not use the same flags. Added some padding in the flag enum
for future expansion.
2000-12-15 01:57:34 +00:00