Original commit message from CVS:
Implemented the plugable autopluggers.
- one can aad an autoplugger to a plugin with gst_plugin_add_autoplugger
- the autopluggers can be queried using _get_list
- save/load autoplugger descriptions in the XML registry
- load the autoplugger only when needed
- a signal can be attached to the autoplugger to be notified of
new objects.
- improved the media player to use the new autoplugger
- updated gstreamer-inspect for the autoplugger and types
added EOS to the disksrc
fixed two bugs in properties loading (min/max, comment tags)
Original commit message from CVS:
Updated the autoplugger:
- moved all of the code out of gstpipeline.c to autoplug.c
- The autoplugger now creates a GstElement based on the given src and
sink caps. The API now is:
GstElement* gst_autoplug_caps_list (GList *srcpad, GList *sinkpad, ...);
- the typefind function is moved from gstpipeline.c to gstplay.c. Not sure
if this is right behaviour but we need at least a bin in order to run
the typedetect functions.
- fixed a bug in gstbin.c where the MANAGER flag of the bin was not cleared
when going to the NULL state.
- a bug in the videosink was fixed. It was possible that more instances
of the video widget were created, causing major errors.
- commented out most of the 'old' autoplug examples.
- added the new autoplugger to gstplay.c. There still is a bit of hacking
needed to insert a queue into the autogenerated element. This will be fixed
when the autoplugger can also create the video/audio elements.
Fixed some more extranous spaces problems in various files.
Original commit message from CVS:
Massive build fixup. Will send message to -devel list later with details
on the changes and what they mean for Makefile.am writers. Check
docs/random/omega/build/TODO for a list of things that I had to make sure
of.
NOTE: this requires a complete rebuild of all plugins, since I also
changed the STATE enum to a bitfield instead of sequential numbers.
Original commit message from CVS:
Updated the manual and the docs.
Removed the esdsink in gst/elements/ we have a real one not in the
plugins dir.
Added more APIs to query the plugins, types and caps. more fields now
have a getter and a setter. This is needed to make gstreamer wrapper
fiendly.
Added gst_element_disconnect beacuse we also have a gst_element_connect
Original commit message from CVS:
Rearranged cothreads sources a bit, added some API docs.
Added some functions needed for gstreamer-inspect.
Added num_sources to fakesink.
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.
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.
Original commit message from CVS:
First attempt at rebuilding the type/plugin system
- make sure caps/props are saved in the registry
autoplugging is completely broken.
removed the typefactories and typeids from all the pads in the plugins
XML load/save is ok (be sure to rerun gstreamer-register)
Original commit message from CVS:
Externalized the plugin information in /etc/gstreamer/reg.xml
- no need to do a plugin_load_all()
- plugins are loaded when needed
- typedetect functions are loaded when needed (still buggy)
- no need to check for the existance of the plugin in the codecs
- added gstreamer-register to create the reg.xml file
- renamed launch to gstreamer-launch
- plugins need to register the typefactory they provide
modified the plugins to meet the new design
modified the plugins to correctly set their pad types
autoplugging can be done without loading the plugins now
Original commit message from CVS:
Various cleanups. Moved the overlay code to a specialized widget.
One error I cannot seem to fix: switching desktops does not disable the
overlay.