Original commit message from CVS:
A rather large patch:
- changed the API for the padtemplates:
- remove the factories (array of pointers) for the padtemplates,
properties and caps. The static array was a nice idea but converting
all the property values to a gpointer was not a good idea.
float properties were not possible, and casting a gint to a pointer
is not very portable. The new API just uses the _padtemplate_new,
_caps_new and _props_new functions to create the templates.
This has the added benefit that the API is now uniform for static
and dynamic templates and that the code can be made cleaner.
- lots of cleanups in the way the capabilities are constructed (va_list)
- lots of updates for all the plugins (new API)
- docs updates (new API)
- removed the videoraw docs.
Original commit message from CVS:
Lots of updates to the plugins for caps negotiation.
Added YUY2 output to the win32 dlls.
Added a colorspace converter in gstplay
Original commit message from CVS:
Simplified the FOURCC API to the caps, add a GST_MAKE_FOURCC macro
to create a fourcc.
Adjusted the plugins to use the new FOURCC API
Original commit message from CVS:
Modified a lot of plugins to use the caps system.
Modified the caps of audio/raw to our agreed properties.
Added the multidisksrc plugin of Dominic Ludlam
Renamed audiosink/src to osssink/src and updated all the examples using
the old name. Moved oss specific plugins in an oss directory. removed
the old audiosink from the elements/ dir.
removed audioraw.h metadata header files since we now use the properties.
There are still a few plugins that won't build because they include the
old audioraw.h header file. This will be fixed soon.
Make sure the caps are set in the plugins as described by their
padtemplates (this should solve problems with gstmediaplay with various
media files).
*please don't panic when some plugins won't build, just cd manually into
the plugin dirs* This will be fixed soon.
Original commit message from CVS:
Added --enable-plugin-docs configure option, to enable build of the plugin
documentation (currently broken). This defaults to off.
Changed --enable-docs-build to default to on, since all other documentation
should build correctly.
Also, correct typo in manual, and fix up a couple of things in example.c
Original commit message from CVS:
Reworked the capsnegotiation function
audiosink now uses capsnego to set its parameters
mpg123/ac3dec use capsnego instead of metadata
Added the beginnings of a testsuite for capsnego.
Original commit message from CVS:
More doc updates
Manual additions: xml/load save of custom XML, debugging, request pads
added a signal to the example plugin
fixed a bug in mp3parse (ifdef 1)
Original commit message from CVS:
Added a first attempt for XML embedding in the main core XML.
Objects will emit a signal that a user app can connect to in order to
insert its XML into the tree.
You can catch the object_loaded signal in GstXML to parse the user
supplied XML data in the stream. The object_loaded signal is implemented
with a custom made class signal. All GstObject classes now automatically
create a GstSignalObject that serves as a proxy to the user app when an
object is loaded. All objects are currently responsible to emit the
class signal themselves.
runxml and createxml serve as an example how the XML hooks can be used to
insert and retrieve custom XML tags.
Original commit message from CVS:
Lots of plugins fixes where the parentage macros were replaced with the
correct gst_*_get_parent.
Updated the example.
'gstreamer' now is the doc type instead of GST-Pipeline
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.
Original commit message from CVS:
Fix launch so that it can play a list of files, now that EOS works enough.
(It needs to not have to restart gstreamer each time, but good enough for
now ;-) )
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:
Move plugin example code to new location, and put it into build system.
Add work on firstplugin chapter of pwg.
Fix typo in quotes.
Add @'s before commands in manuals.mak
Original commit message from CVS:
Do gst_init first in helloworld, so you can supply gst parameters.
Correct name of frequency cap to rate, in esdsink. Now connects properly.
Original commit message from CVS:
The examples must not be installed
Removed debugging from Makefiles for avidecoder/ac3parse
/test/bindings/dummy.h cannot be installed
Original commit message from CVS:
Massive, massive update of most source files. I went through and cleaned
up all the warnings that I could, which involved fixing some of the plugins.
The configure.in script was re-arranged and cleaned up so, and a check for
libtool 1.3.5 was added to autogen.sh. Added checks for Gtk and GNOME.
Some plugins were removed from the list of things to build for various reasons.
Added GST_DEBUG_FORCE_DISABLE in gstgetbits, since that's time critical and
even an if() from a DEBUG can significantly increase runtimes.
Original commit message from CVS:
Added launch back into make system.
The Makefile wasn't being generated, resulting in make dist failing when
the directory was entered for make dist.
Original commit message from CVS:
Added multiple caps to the pads
Extended the padfactory for the multiple caps
GstCaps now have a name so that future manipulations on them can be done by name
Updated the plugins for the new caps list