0.9.8:

2008-12-22  José Alburquerque  <jaalburqu@svn.gnome.org>

	* README: Added mailing list comment.
	* gstreamer/src/taglist.hg: Added _IGNOREs.
	* gstreamer/src/generate-methods.sh:
	* gstreamerbase/src/generate-methods.sh:
	* gstreamerbase/src/gstbase_methods.defs: Don't include plug-in
	directories for method generation and regenerate gstbase_methods.defs
	so that plug-in methods are not included in defs file.
	* gstreamer/src/element.hg:
	* gstreamer/src/index.ccg: Typos.

2008-12-19  José Alburquerque  <jaalburqu@svn.gnome.org>

	* README: Added comment about how to report bugs.

2008-12-19  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added warning
	to plug-in Doxygen blocks (class docs) that using the underlying C
	*type* of the wrapped plug-in is not guaranteed to be API stable
	across releases.

2008-12-17  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc:
	* build_shared/Makefile_gensrc.am_fragment: Modified plug-in
	generation so that the required parameter of the generation tool (the
	plug-in name) is passed using camel casing so that this can be used as
	the C++ class name.  This ensures that the C++ class name remains
	constant even if the plug-in's underlying C type changes (no more
	worries about ABI issues in this sense).  Modified build process so
	that the C++ class names are specified along with the .hg file.

	* gstreamerbase/gstreamerbasemm/Makefile.am: Removed unneeded
	libgstreamermm-0.10.la build dependency of the gstreamerbasemm
	library.

2008-12-16  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/cddabasesrc.ccg:
	* gstreamerbase/src/cddabasesrc.hg: Added cdparanoiasrc giosink giosrc
	giostreamsink giostreamsrc xvimagesink plug-ins.  They did not exist in
	jhbuild environment because gst-plugins-base module must be be built
	with '--enable-experimental' and certain dependencies did not exist on
	my system (for cdparanoiasrc and xvimagesink plug-ins).  Also added
	base class CddaBaseSrc from which cdparanoiasrc plug-in derives.
	* tools/m4/ctocpp.m4: Added C to C++ translations for gio types.
	* gstreamerbase/gstreamerbasemm.h: Added base classes to includes.

	* configure.ac:
	* gstreamerbase/gstreamerbasemm-0.10.pc.in: Added giomm-2.4 and
	gstreamer-cdda.0.10 (for CddaBaseSrc base class) dependencies to
	gstreamerbase branch.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added code to
	determine if parent type of plug-in is wrapped or will be generated as
	a plug-in; If the parent type is not public, a parent class that is
	public is used as the plug-ins parent type.

	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_enums.defs.patch:
	* gstreamerbase/src/gstbase_signals.defs:
	* gstreamerbase/src/gstbase_signals.defs.patch: Went back two weeks to
	a gst-plugins-base version that uses GstAudioresample instead of
	GstSpeexResample as the type of the audioresample plug-in and
	regenerated these files in case a release of gstreamermm is made
	before a new release of GStreamer modules because the change from
	GstAudioresample to GstSpeexResample was made just two weeks ago and
	is not reflected in current releases of GStreamer modules.  When a new
	GStreamer release is made with the change they can be regenerated
	then.  Changing type names like this in GStreamer plug-ins (I hope it
	is not a common practice) makes me worry about ABI issues (if we
	should worry about such things in gstreamermm) because the plug-in
	class type names are taken from the GStreamer types and if they change
	this would make it appear that a class has been removed and a new one
	added in gstreamermm or gstreamerbasemm when plug-ins are generated.

2008-12-16  José Alburquerque  <jaalburqu@svn.gnome.org>

	* build_shared/Makefile_build_gensrc.am_fragment:
	* gstreamer/gstreamermm/Makefile.am:
	* gstreamerbase/gstreamerbasemm/Makefile.am: Removed wrap_init.cc from
	distribution because it depends on plug-in generation and should be
	generated in build system.

	* build_shared/Makefile_gensrc.am_fragment: Used variable
	$(files_plugin_stamp) instead of complex $(foreach ...) expression in
	CLEANFILES and in BUILT_SOURCES.  Modified plugin .hg generation to
	pipe the output of generate_plugin_gmmproc_file to m4 instead of using
	$(eval ...) to define variables for temporary files.  Modified build
	process to generate plug-in .hg and .ccg files and then run through
	gmmproc.  Added wrap_init.cc to BUILT_SOURCES because it is now not
	distributed.

	* tools/m4/Makefile.am: Added ctocpp*.m4 to distribution.

2008-12-15  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/audiofilter.hg:
	* gstreamerbase/src/videosink.hg: Added base classes to
	gstreamerbasemm base classes Doxygen group.
	* gstreamer/src/element.hg: Re-ordered Doxygen groups so that base
	classes come before plug-ins.
	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Typo.

2008-12-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Removed gdpdeplay
	and gdppay plug-ins because they cause strange warnings when their
	wrap_new() methods are registered in GstBase::wrap_init():
	* Makefile.am: Build examples before tests.

	Discovered that the media player example only works outside of jhbuild
	now.  The error when attempting to play a media file in jhbuild
	environment:

	Error: Missing element 'input-selector' - check your GStreamer
	installation.

2008-12-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Removed some
	plug-ins that were not generated in jhbuild.  Will re-add them after
	making sure they are generated.

	* examples/media_player_gtkmm/main.cc:
	* examples/media_player_gtkmm/player_window.cc:
	* examples/media_player_gtkmm/player_window.h: Modified example to use
	GstBase::PlayBin2 and GstBase::XImageSink plug-ins.  They work, but
	some warnings that have to be looked into are generated (I hope
	they're not too bad :-)

2008-12-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Added comment
	about when *Class delcaration is included in .ccg file.

2008-12-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/audiofilter.ccg:
	* gstreamerbase/src/audiofilter.hg:
	* gstreamerbase/src/videosink.ccg:
	* gstreamerbase/src/videosink.hg: Added GstBase::AudioFilter and
	GstBase::VideoSink base classes (from which some plug-ins derive) and
	a list of most of the gst-plugins-base plug-ins to be generated (the
	rest are TODO's to be done bit by bit).
	* configure.ac:
	* gstreamerbase/gstreamerbasemm-0.10.pc.in: Added gstreamer-video-0.10
	to list of package dependencies of gstreamerbasemm and to the
	gstreamerbasemm pk-config file (needed for GstBase::VideoSink).
	* gstreamerbase/src/audiosink.hg:
	* gstreamerbase/src/audiosrc.hg: Added GStreamer includes so plug-ins
	that include the .h files have access to the *Class structures.

	* tools/extra_defs_gen/generate_defs_gstbase.cc:
	* gstreamerbase/src/gstbase_signals.defs: Rewrote
	genereate_defs_gstbase tool to include GstPlayBaseBin (base class of
	GstPlayBin) so its properties can be wrapped.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Renamed global
	includeRoot to more appropriate parentInclude (the include of the
	parent class); Rewrote get_cast_macro() to use a similar algorithm for
	inserting the underscore ('_') in the given type name as gmmproc does
	more or less (just a guess, but the generate *_get_type() functions of
	the plug-in specific enums in the *.ccg files have names that gmmproc
	is happy with).  Made *Class definition in *.ccg files optional based
	on whether there are wrapped signals in plugin.  Modified so that the
	plug-in name can also be a type name (e.g. GstPipeline, etc.) and so
	that when the --suggest-hg option is used the other options like
	--namespace, and --target are not needed.

	* tools/m4/convert_gst.m4: Fixed GstBuffer conversion to work with
	gstreamerbase branch.

	* tools/m4/ctocpp_base.m4: Added gdouble C to C++ translation.
	* tools/m4/ctocpp.m4: Added GstElement and GstTagList C to C++
	translation (for plug-in generation).

2008-12-11  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/m4/convert_gst.m4:
	* gstreamer/src/basesink.hg:
	* gstreamer/src/basesrc.hg:
	* gstreamer/src/basetransform.hg:
	* gstreamer/src/bin.ccg:
	* gstreamer/src/bin.hg:
	* gstreamer/src/buffer.ccg:
	* gstreamer/src/buffer.hg:
	* gstreamer/src/bus.hg:
	* gstreamer/src/caps.ccg:
	* gstreamer/src/caps.hg:
	* gstreamer/src/childproxy.ccg:
	* gstreamer/src/childproxy.hg:
	* gstreamer/src/clock.hg:
	* gstreamer/src/element.ccg:
	* gstreamer/src/element.hg:
	* gstreamer/src/elementfactory.ccg:
	* gstreamer/src/elementfactory.hg:
	* gstreamer/src/event.ccg:
	* gstreamer/src/event.hg:
	* gstreamer/src/ghostpad.ccg:
	* gstreamer/src/ghostpad.hg:
	* gstreamer/src/index.hg:
	* gstreamer/src/indexfactory.hg:
	* gstreamer/src/interface.hg:
	* gstreamer/src/message.ccg:
	* gstreamer/src/message.hg:
	* gstreamer/src/pad.ccg:
	* gstreamer/src/pad.hg:
	* gstreamer/src/padtemplate.hg:
	* gstreamer/src/parse.ccg:
	* gstreamer/src/parse.hg:
	* gstreamer/src/pipeline.hg:
	* gstreamer/src/plugin.hg:
	* gstreamer/src/pluginfeature.hg:
	* gstreamer/src/query.ccg:
	* gstreamer/src/query.hg:
	* gstreamer/src/registry.ccg:
	* gstreamer/src/registry.hg:
	* gstreamer/src/systemclock.hg:
	* gstreamer/src/taglist.hg:
	* gstreamer/src/tagsetter.hg:
	* gstreamer/src/urihandler.hg:
	* gstreamer/src/xml.ccg:
	* gstreamer/src/xml.hg: Specified namespace wherever necessary so that
	the conversions in convert_gst.m4 can also be used with classes in
	gstreamerbase branch.
	* tools/m4/convert_gstbase.m4: Typo.

	* tools/extra_defs_gen/generate_defs_gstbase.cc: Modified to include
	some base classes that plug-ins derive from and all gst-plugins-base
	plug-ins.

	* gstreamerbase/src/generate-enums.sh:
	* gstreamerbase/src/generate-extra-defs.sh:
	* gstreamerbase/src/generate-methods.sh: Modified defs generation
	scripts to include plug-in directories and to patch when necessary.
	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_enums.defs.patch:
	* gstreamerbase/src/gstbase_methods.defs:
	* gstreamerbase/src/gstbase_signals.defs:
	* gstreamerbase/src/gstbase_signals.defs.patch: Regenerated and create
	patches to use where types are not quite correct.

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/audiosink.ccg:
	* gstreamerbase/src/audiosink.hg:
	* gstreamerbase/src/audiosrc.ccg:
	* gstreamerbase/src/audiosrc.hg:
	* gstreamerbase/src/baseaudiosink.ccg:
	* gstreamerbase/src/baseaudiosink.hg:
	* gstreamerbase/src/baseaudiosrc.ccg:
	* gstreamerbase/src/baseaudiosrc.hg: Added these base classes on
	which some plug-ins depend (derive from).  Also made a Doxygen group
	for them in element.hg.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to
	not include an m4 conversion from a Glib::RefPtr<> to the underlying
	object in the generated plugin .hg file because the conversions in the
	convert_*.m4 files can be used just as well.  Also modified to
	generate a _WRAP_ENUM for flags specific to the plug-in.

2008-12-11  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/bus.ccg:
	* gstreamer/src/clock.ccg:
	* gstreamer/src/filter.ccg:
	* gstreamer/src/index.ccg:
	* gstreamer/src/pad.ccg:
	* gstreamer/src/registry.ccg:
	* gstreamer/src/structure.ccg:
	* gstreamer/src/taglist.ccg:
	* gstreamer/src/task.ccg:
	* gstreamerbase/src/audioclock.ccg: Some corrections to callbacks.

2008-12-10  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/basesink.hg:
	* gstreamer/src/basesrc.hg:
	* gstreamer/src/basetransform.hg:
	* gstreamer/src/element.hg:
	* gstreamer/src/pushsrc.hg: Added a Doxygen group for base classes in
	gstreamermm from which plug-ins derive.

2008-12-10  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/basesink.hg:
	* gstreamer/src/basesrc.hg:
	* gstreamer/src/basetransform.hg: Temporarily "un-wrap" the vfuncs
	that return bool because they cause errors when using plug-ins that
	derive from these classes (see related bug #530416 and comments in
	element.hg about the bug).

	* tests/Makefile.am:
	* tests/test-plugin-signals.cc: Added a test for generated plug-in
	signals.  They work as long as the bool vfuncs are not wrapped or the
	patch in bug #530416 (or something similar) is accepted.

2008-12-08  José Alburquerque  <jaalburqu@svn.gnome.org>

	* build_shared/Makefile_build.am_fragment: Added generated plug-in
	header files to list of files to be installed but not distributed.

	* gstreamer/src/parse.ccg:
	* gstreamer/src/parse.hg: Renamed get_bin() to create_bin() (A bin is
	created).

	* gstreamer/gstreamermm/miniobject.cc:
	* gstreamer/gstreamermm/miniobject.h: Reverted changes to "unshadow"
	Glib::ObjectBase::gobject_ for now because there's much more to this
	than just changing the field name (usages of the member variable must
	also be changed).

2008-12-08  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/m4/Makefile_list_of_sources.am_fragment:
	* tools/m4/convert.m4:
	* tools/m4/ctocpp_base.m4:
	* tools/m4/ctocpp.m4:
	* build_shared/Makefile_gensrc.am_fragment:
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified
	plug-in generation tool to generate preliminary .hg file (when
	generating the .hg file) which would then be run through m4 with
	macros in ctocpp_base.m4 and ctocpp.m4.  Modified the build process to
	generate the preliminary .hg file with the tool and then run the file
	through m4 before running gmmproc on the final .hg file.  Modified the
	tool to generate signals.  Signals are wrapped; testing should be done
	though.

	* gstreamer/src/gst_signals.defs:
	* gstreamer/src/gst_signals.defs.patch: Added `*' to GstBuffer pointer
	type in definitions (it is GstMiniObject and the extra defs utility
	does not know -- see bug #562810).  Modified patch to do this.

	* gstreamerbase/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/gstbase_signals.defs:
	* tools/extra_defs_gen/generate_defs_gstbase.cc: Added plug-in
	`decodebin' to list of plug-ins to be generated for gstreamerbasemm to
	test plug-in generation that uses API from gstreamermm (properties and
	signals are wrapped).

	* gstreamer/src/basesink.ccg:
	* gstreamer/src/basesink.hg:
	* gstreamer/src/basesrc.ccg:
	* gstreamer/src/basesrc.hg:
	* gstreamer/src/pushsrc.ccg:
	* gstreamer/src/pushsrc.hg: Moved includes from .ccg to .hg files
	because plug-ins relying on these base classes need Gst*Class
	definitions from GStreamer header files.

2008-12-03  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/generate-docs.sh:
	* gstreamer/src/generate-enums.sh:
	* gstreamer/src/generate-methods.sh:
	* gstreamerbase/src/generate-docs.sh:
	* gstreamerbase/src/generate-enums.sh:
	* gstreamerbase/src/generate-methods.sh: Modified defs generation
	scripts to use include files in the jhbuild sources and not in the
	install directory.
	* gstreamer/src/gst_enums.defs:
	* gstreamer/src/gst_enums.defs.patch:
	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_methods.defs: Regenerated defs files and
	patch files using scripts.

	* gstreamer/src/element.hg: Added Doxygen groups for core and base
	plugins.
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to
	generate code to wrap plug-in enums.  Included code to determine if an
	enum a plugin property uses is defined in the API or is plugin
	specific.  Modified to include plugins in correct Doxygen group.
	Added check that the --namespace, --main-defs and --target options are
	used.
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* tools/m4/ctocpp.m4:
	* tools/m4/ctocpp_base.m4: Added all the core plugins so that they are
	automatically generated.  For now, all properties are generated.

	* gstreamer/gstreamermm/miniobject.cc:
	* gstreamer/gstreamermm/miniobject.h: Used _gobject instead of
	gobject_ as protected member so the Glib::ObjectBase member is not
	shadowed.

2008-11-30  José Alburquerque  <jaalburqu@svn.gnome.org>

	* examples/ogg_player_gtkmm/main.cc:
	* examples/ogg_player_gtkmm/player_window.cc:
	* examples/ogg_player_gtkmm/player_window.h: Modify example to use
	Gst::FileSrc for source element.

	* gstreamerbase/gstreamerbasemm.h: Correct typo.

2008-11-30  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/m4/ctocpp_base.m4: Renamed macro to define translation from C
	to C++ type from _CPPTYPE to _CCONVERSION.  Likewise, renamed the
	include generation macro from _CTOCPP_INCLUDE to _CCONVERSION_INCLUDE
	and the macro that does the translating from _CTOCPP to _CCONVERT.
	Used the actual C type to define translations instead of the param
	spec types.
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to
	get the actual C type name instead of the param spec name; also to
	determine if a GType is a pointer.  Also modified so that the return
	type C++ translation is used for the generated property type (by
	adding a second parameter, `true', to the generated _CCONVERT macro
	call).
	* tools/extra_defs_gen/Makefile.am: 
	* tools/extra_defs_gen/gst_type_is_a_pointer.cc:
	* tools/extra_defs_gen/gst_type_is_a_pointer.h: Included to determine
	if a GType is a pointer.

	* tools/extra_defs_gen/generate_defs_gst.cc: Modified to generate
	extra defs for all core plug-ins.
	* gstreamer/src/gst_signals.defs: Regenerated so that the core plug-in
	extra defs (signals and properties) are included.
	* gstreamer/src/Makefile_list_of_hg.am_fragment: Added `capsfilter'
	plug-in to list of plug-ins to be generated.
	* tools/m4/Makefile_list_of_sources.am_fragment:
	* tools/m4/convert.m4:
	* tools/m4/ctocpp.m4: Added a file independent of ctopp_base.m4 to
	include additional C to C++ translations (the basic ones will go in
	ctocpp_base.m4).

2008-11-30  José Alburquerque  <jaalburqu@svn.gnome.org>

	* build_shared/Makefile_build_gensrc.am_fragment:
	* build_shared/Makefile_gensrc.am_fragment: Add patches to .h files to
	dist.
	* tools/extra_defs_gen/Makefile.am: Added get_plugin_defs.{h,cc} to
	dist.

2008-11-30  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* build_shared/Makefile_gensrc.am_fragment:
	* gstreamer/gstreamermm/Makefile.am: Modified build process so that
	taglist.hg can be included in list of .hg files to generate, but also
	to patch the generated .h file to remove the "typedef _GstTagList ..."
	section because the C API defines GstTagList as a GstStructure (so
	there's a conflict).
	* gstreamer/gstreamermm/taglist.h.patch: Added this patch so build
	process can use it to patch taglist.h.

	* gstreamer/gstreamermm/private/taglist_p.h:
	* gstreamer/gstreamermm/taglist.cc:
	* gstreamer/gstreamermm/taglist.h: Removed these because now they are
	generated.


2008-11-29  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/bin.ccg: Modified add() to take extra reference of
	element if it is still floating.  This is necessary because bins like
	to destroy the elements themselves so we can't let the Glib::RefPtr<>
	to the element do this (see comments in add method).
	* tests/test-create-bin.cc: Added lines to test removal and
	re-addition of element to a bin.
	* tests/test-interface.cc: Modified to use a Glib::RefPtr<> to hold
	the copy of the element gobject so it is properly destroyed when
	Glib::RefPtr<> goes out of scope.

2008-11-28  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/element.hg: Commented out set_clock() vfunc wrap
	because of problems with generated plug-ins that rely on the
	underlying GstElement base class to always have a set_clock() vfunc
	implementation (see comments in .hg file).

	* examples/ogg_player/main.cc: Use Gst::FileSrc and its property to
	ensure that (generated) plug-in wrapper works correctly.  May be a
	good idea to not require additional includes for plug-ins (just
	include them in gstreamermm.h (or gstreamerbasemm.h).

2008-11-26  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/ghostpad.ccg: Restored because changes were committed
	accidentally (rev. 1808).
	* tools/m4/Makefile_list_of_sources.am_fragment: Added ctocpp_base.m4
	to list of m4 tool files.
	* tools/m4/ctocpp_base.m4: Added macro docs.  Added _CTOCPP_INCLUDE()
	macro to generate a C++ include directive, if necessary, from a ctype.
	Removed commented example usages because docs explain how to use
	macros.
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified to
	use _CTOCPP_INCLUDE() macro so that C++ type declarations are included
	if necessary.

2008-11-25  José Alburquerque  <jaalburqu@svn.gnome.org>

	* build_shared/Makefile_gensrc.am_fragment: Use BUILT_SOURCES only
	when not in maintainer mode (e.g. when running a distcheck) because
	it is only needed when tarball is distributed and plug-ins need to be
	generated on build machine.

	* tools/m4/convert.m4:
	* tools/m4/ctocpp_base.m4: Added _CPPTYPE() and _CTOCPP() macros for
	defining ways to translate from a C type to a C++ type (both when
	used as a parameter and as a return type) and then translating from a
	C type to a C++ type.  If successful, the macros will include ways of
	automatically including the correct header file if the include header
	file is specified in the translation specification.

	* tools/extra_defs_gen/Makefile.am:
	* tools/extra_defs_gen/get_plugin_defs.cc:
	* tools/extra_defs_gen/get_plugin_defs.h:
	* gstreamer/src/generate-extra-defs.sh: Renamed generate_extra_defs to
	generate_defs_gst (to complement generate_defs_gstbase).  Factored out
	get_plugin_defs() so that generate_defs_gstbase can also generate
	plug-in defs for gstreamerbase branch.
	* tools/extra_defs_gen/generate_defs_gst.cc: Added `filesrc' to the
	list of plug-ins to generate defs for.
	* tools/extra_defs_gen/generate_defs_gstbase.cc:  Added `audioconvert'
	and `oggmux' to the list of plug-ins to generate defs for.
	* gstreamer/src/gst_signals.defs:
	* gstreamerbase/src/gstbase_signals.defs: Regenerated to include
	additional plug-in defs.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified
	plug-in generation tool to wrap plug-in properties using the _CTOCPP
	marco described above (property iteration was adapted from glibmm's
	extra defs generation utility).  Made the GType of the plug-in global
	for easy access.

	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* tests/test-plugin-gen.cc:
	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Used Gst::FileSrc
	instead of Gst::FakeSrc in the gstreamer branch and GstBase::OggDemux
	instead of GstBase::AudioConvert in the gstreamerbase branch to test
	plug-in generation because property generation does not quite work
	with the `fakesrc' and `audioconvert' plug-ins just yet because
	special care must be used in dealing with enums and boxed types.

2008-11-23  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm/Makefile.am:
	* gstreamer/gstreamermm/private/Makefile.am:
	* gstreamerbase/gstreamerbasemm/Makefile.am:
	* gstreamerbase/gstreamerbasemm/private/Makefile.am: Removed generated
	plug-in sources from distribution because they should be generated on
	the build system.

	* docs/reference/Makefile.am: Modified so that the html/ directory is
	not distributed because docs may differ depending on the plug-ins
	available on the build system.  Made docs clean on `make clean' (for
	distcheck).

	* build_shared/Makefile_gensrc.am_fragment: Modified plug-in
	generation to use a stamp directory (like the regular .hg files do) so
	that the build system is aware of changes to them and knows how to
	regenerate them if necessary.  Modified the BUILT_SOURCES to build the
	stamp of the plug-ins which uses the plug-ins .hg and .ccg rules to
	generate the .hg and .ccg files and then creates a stamp after running
	gmmproc on the files.  Added the plug-in stamps to CLEANFILES so that
	they are cleaned with `make clean'.  Removed unused `sublib_srcdir'
	variable and unneeded (?) Makefile dependencies.  Used $(srcdir)
	and $(builddir) where necessary (for distcheck).  Added
	`stamp_plugin_dir' dependency to plug-in stamp generation because in
	the distcheck, a stamp directory is not created by `all-local'.  The
	distcheck now works to make it easier for future releases, but write
	permission is necessary in the source directory because the plug-in
	.hg and .ccg files must be generated there and gmmproc must also
	generate the private headers, the .cc and the .h files in the source
	directory structure so that wrap_init(), which includes stuff from the
	plug-in header files, is built successfully.

	* gstreamer/gstreamermm.h: Moved init includes to top (to keep logical
	order of includes).

2008-11-20  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified
	plug-in generation tool to prepend namespaces to parent types and use
	correct include roots in cases where parent types are from
	gstreamermm.  Added --sugest-hg option that outputs what the name of
	the .hg file should if the plug-in exists (nothing otherwise) while
	building gstreamermm.  Modified it to output a comment warning in the
	.hg file if a plug-in is not available.

	* build_shared/Makefile_build_gensrc.am_fragment:
	* build_shared/Makefile_gensrc.am_fragment:
	* gstreamer/gstreamermm/Makefile.am:
	* gstreamer/gstreamermm/private/Makefile.am:
	* gstreamerbase/gstreamerbasemm/Makefile.am:
	* gstreamerbase/gstreamerbasemm/private/Makefile.am: Modified build
	process so that all plug-ins are generated and compiled, but only
	included in wrap_init() if they exist during the build.

	* gstreamer/src/Makefile_list_of_hg.am_fragment: Added dvbsrc
	plug-in[1] from gst-plugins-ugly to list of plug-ins to build (which
	will not exist in jhbuild environment) to test compilation of a
	plug-in that is not available.  Also added fakesink from the core
	plugins[2].
	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Added
	audioconvert plug-in[3] from gst-plugins-base to list of plug-ins to
	build for gstreamerbasemm.  These plug-in additions are just tests to
	ensure build process works.

	[1] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-bad-plugins/html/gst-plugins-bad-plugins-dvbsrc.html
	[2] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-plugins/html/gstreamer-plugins-fakesink.html
	[3] http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gst-plugins-base-plugins/html/gst-plugins-base-plugins-audioconvert.html

2008-11-19  José Alburquerque  <jaalburqu@svn.gnome.org>

	* examples/media_player_gtkmm/main.cc: Modify example to use
	GstBase::init() instead of Gst::init() to show that GstBase::init()
	can be used instead of Gst::init() in some cases.  I'm not sure how
	awkward it will be for developers, but I think it's workable enough so
	that both distributors and developers feel good about gstreamermm (see
	yesterday's ChangeLog entries and bug references for context).

2008-11-18  José Alburquerque  <jaalburqu@svn.gnome.org>

	* INSTALL: Removed warning about certain unsupported linking flags
	which now are supported.

2008-11-18  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm-0.10.pc.in:
	* gstreamer/gstreamermm/init.cc:
	* gstreamer/gstreamermm/init.h: Removed gstreamermm dependency on
	gstreamerbasemm by not using GstBase::wrap_init() in gstreamermm
	initialization.  Modified init() and init_check() methods so that they
	only call gst_init() or gst_init_check() only once regardless of how
	many times the methods are used.
	* gstreamerbase/gstreamerbasemm/init.cc:
	* gstreamerbase/gstreamerbasemm/init.h: Added init() and init_check()
	methods.  Modified docs to explain that GstBase::init() and
	GstBase::init_check() methods can be used to initialize gstreamermm.
	* gstreamerbase/gstreamerbasemm/wrap_init.h:
	* gstreamerbase/gstreamerbasemm/gst_wrap_init.h: Modified docs to
	suggest to use GstBase::init() or GstBase::init_check() methods
	instead of GstBase::wrap_init() or GstBase::gst_wrap_init().
	* tests/test-init-check.cc:
	* tests/test-init.cc: Modified two tests to ensure that
	GstBase::init() and GstBase::init_check() initialize both gstreamermm
	and gstreamerbasemm.

	Fixes Bug #560601 and Bug #556570

2008-11-18  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/task.ccg:
	* gstreamer/src/task.hg: Used _WRAP_CREATE() to generate create()
	method.
	* gstreamerbase/src/audioclock.ccg:
	* gstreamerbase/src/audioclock.hg: Modified both Gst::Task and
	GstBase::AudioClock to keep track if a slot was created so that if one
	has not been created (because an object was wrapped and not created)
	the delete statement is is not called in the destructor.

2008-11-17  José Alburquerque  <jaalburqu@svn.gnome.org>

	* configure.ac:
	* gstreamer/gstreamermm-0.10.pc.in: Restore gstreamermm dependency on
	gstreamer-base-0.10 because it is in fact needed to build elements
	like Gst::BaseSrc, Gst::BaseSink and Gst::BaseTransform.

2008-11-15  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm-0.10.pc.in: Also remove gstreamer-base-0.10
	from dependency of gstreamermm in pkg-config file (as in last commit).

2008-11-15  José Alburquerque  <jaalburqu@svn.gnome.org>

	* configure.ac: Remove gstreamer-base-0.10 as dependency of
	gstreamermm.

2008-11-13  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Corrected
	includes.
	* tools/extra_defs_gen/generate_defs_gst.cc: Added code to generate
	extra defs for plug-ins.  Added `fakesrc' to list of generated types
	as test.
	* gstreamer/src/gst_signals.defs: Regenerated extra defs (now includes
	`fakesrc' plug-in properties/signals).
	* tests/test-plugin-gen.cc: Modified test to access created plug-in
	gobjcect and get a known property.

	* tools/extra_defs_gen/Makefile.am:
	* gstreamerbase/gstreamerbasemm/Makefile.am: Typos.

2008-11-13  Sebastian Dröge  <sebastian.droege@collabora.co.uk>

	* gstreamerbase/gstreamerbasemm/Makefile.am:
	Link gstreamerbasemm to gstreamermm as it uses symbols from it.
	Fixes bug #560600.

2008-11-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc: Modified so
	that gen. plugin has create() methods.
	* tests/test-plugin-gen.cc: Modified test to use
	Gst::FakeSrc::create() instead of casting.

2008-11-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/Makefile.am:
	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc:
	* tools/extra_defs_gen/generate_plugin_hg_file.cc: Renamed
	generate_plugin_hg_file.cc to generate_plugin_gmmproc_file.cc.
	Modified it to generate both .hg and .ccg files.  Made it generate
	basic stuff (class declaration, simple class docs and a *_get_type()
	function which is needed for compilation).
	* build_shared/Makefile_gensrc.am_fragment: Also made build process
	use plugin generation tool to generate plugin .ccg file.

	* gstreamer/src/Makefile.am:
	* gstreamerbase/src/Makefile.am: Removed .defs extension in
	declaration of `main_defs =' variable (used to pass the main def that
	the plugin gen. tool should use).

	* gstreamer/src/Makefile_list_of_hg.am_fragment: Added `fakesrc.hg' to
	`files_plugin_hg =' list to test plugin generation.
	* tests/Makefile.am:
	* tests/test-plugin-gen.cc: Added minimal test.

2008-11-11  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/extra_defs_gen/Makefile.am:
	* tools/extra_defs_gen/generate_plugin_hg_file.cc: Added first cut at
	source generation tool that generates *.hg files from a given plug-in
	name (same syntax as in gst-inspect) so that additional GStreamer
	plug-ins like GstFileSrc (see TODO in ogg player example) can have
	corresponding C++ classes.
	* tools/extra_defs_gen/generate_defs_gst.cc:
	* tools/extra_defs_gen/generate_defs_gstbase.cc: Removed unused
	includes.

	* build_shared/Makefile_build.am_fragment:
	* build_shared/Makefile_build_gensrc.am_fragment:
	* build_shared/Makefile_gensrc.am_fragment:
	* gstreamer/src/Makefile.am:
	* gstreamer/src/Makefile_list_of_hg.am_fragment:
	* gstreamerbase/src/Makefile.am:
	* gstreamerbase/src/Makefile_list_of_hg.am_fragment: Modified build
	process to be sensitive to generating source code for additional
	GStreamer plug-ins that are not public.  All that is need is to
	include the *.hg name (e.g. filesrc.hg) in the `files_plugin_hg ='
	variable definition of the Makefile_list_of_hg.am_fragment in the
	branch `src' directory.

2008-11-07  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/caps.ccg:
	* gstreamer/src/caps.hg:
	* tests/test-caps.cc: Added a set_simple() for C strings (const char*)
	and modified test to ensure it works.

	* gstreamer/src/tagsetter.ccg:
	* gstreamer/src/tagsetter.hg:
	* tests/test-tagsetter.cc: Added add_tag() for C strings (const char*)
	and modified test to ensure it works.

2008-11-06  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm/Makefile.am:
	* gstreamer/gstreamermm/structurevalue.cc:
	* gstreamer/gstreamermm/structurevalue.h:
	* gstreamer/src/caps.hg:
	* gstreamer/src/tagsetter.hg: Remove unneeded Gst::StructureValue
	classes (used before for setting and getting generic types in methods
	such as Gst::Caps::set_simple(), Gst::TagList::add() and
	Gst::TagList::add_tag()).

	* gstreamer/src/taglist.ccg:
	* gstreamer/src/taglist.hg:
	* gstreamer/gstreamermm/taglist.cc:
	* gstreamer/gstreamermm/taglist.h: Renamed get_tag_size() to size().
	Added a non-index get() method for Glib::ValueBase.  Replaced the
	overridden get() methods with index and non-index generic data type
	get() methods.

	* tests/test-taglist.cc: Added sections for adding and getting a
	Glib::Date.  Used the index get() method for retrieving the bit rate
	to ensure that the index get() generic data type method works.

2008-11-05  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/m4/convert_gst.m4: Forgot to commit (commented in last entry).

2008-11-05  José Alburquerque  <jaalburqu@svn.gnome.org>

	* tools/m4/convert_gst.m4:
	* gstreamer/gstreamermm/taglist.cc: Corrected Gst::TagList conversions
	to take a copy of the GstTagList (as is done for Gst::Structure
	which Gst::TagList derives from).
	* tests/test-taglist.cc:
	* tests/test-tagsetter.cc: Added if-else clauses when getting tags to
	report errors if any.

	* gstreamer/gstreamermm/object.cc: Used G_LIKELY in floating reference
	aversion test as suggested in Bug #559209 (RichardF).

2008-11-05  José Alburquerque  <jaalburqu@svn.gnome.org>

	* INSTALL: Added standard install instructions with specific comment
	about unsupported linking flags (adapted from patch).
	Bug #556570 (Deng Xiyue)

2008-11-04  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm/object.cc: Fix the floating reference aversion
	code so that it checks that the GstObject is floating before
	referencing it and then sinking it.

2008-11-04  Murray Cumming  <murrayc@murrayc.com>

	* gstreamer/src/element.hg: get_factory(): Use refreturn.
	refresult is not a valid _WRAP_METHOD() parameter.

2008-10-27  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/gstreamermm/taglist.h:
	* gstreamer/src/taglist.hg:
	* tests/test-taglist.cc: Moved GstTagList constants to new Gst::Tag
	namespace.
	* gstreamer/src/Makefile_list_of_hg.am_fragment: Marked TODO
	completed.

2008-10-21  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/gstreamerbasemm/init.h:
	* gstreamerbase/gstreamerbasemm/wrap_init.h:
	* gstreamerbase/gstreamerbasemm/gst_wrap_init.h: Repaired
	initialization function docs of gstreamerbasemm specifying what needs
	to be used for initialization and what does not.

2008-10-16  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/Makefile.am:
	* gstreamerbase/src/Makefile.am: Added docs xml files to list of def
	files so that it is included in release tarballs (not included
	before).
	* gstreamer/src/gsterror.defs: Removed unused def file (definitions
	are already found in gst_enums.defs and gst_methods.defs.

2008-10-15  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/gst_signals.defs.patch: Fixed signal defs patch to not
	add "new-uri" signal of GstURIHandler interface (already generated by
	extra defs utility).

2008-10-15  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/gst_signals.defs: Removed extra "new-uri" signal of
	GstURIHandler definition (added when the signal patch was applied)
	because the extra defs generation utility which now generates signals
	for interfaces already generated it.

2008-10-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamerbase/src/colorbalance.hg: Added extra ref to
	GstColorBalance signal conversion.
	* gstreamer/src/plugin.hg: Removed paragraph that was also removed in
	C API.

2008-10-14  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/generate-docs.sh:
	* gstreamer/src/generate-enums.sh:
	* gstreamer/src/generate-extra-defs.sh:
	* gstreamer/src/generate-methods.sh:
	* gstreamerbase/src/generate-docs.sh:
	* gstreamerbase/src/generate-enums.sh:
	* gstreamerbase/src/generate-extra-defs.sh:
	* gstreamerbase/src/generate-methods.sh: Error proofed generation
	scripts from directory names with spaces (as best possible) and have
	them automatically apply patches on generated files where appropriate.

	* gstreamer/src/gst_docs.xml:
	* gstreamer/src/gst_enums.defs:
	* gstreamer/src/gst_methods.defs:
	* gstreamer/src/gst_signals.defs:
	* gstreamerbase/src/gstbase_docs.xml:
	* gstreamerbase/src/gstbase_enums.defs:
	* gstreamerbase/src/gstbase_methods.defs:
	* gstreamerbase/src/gstbase_signals.defs: Regenerated defs and docs.

	* gstreamerbase/src/colorbalance.hg: Wrapped "value-changed" signal.
	* gstreamer/src/index.hg: Used int instead of gint.

2008-10-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/xml.hg: Added signal docs.

	* gstreamer/src/bin.hg:
	* gstreamer/src/childproxy.hg:
	* gstreamer/src/clock.hg:
	* gstreamer/src/element.hg: Corrected typos in virtual method docs.

2008-10-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/bin.ccg:
	* gstreamer/src/bin.hg:
	* gstreamer/src/pipeline.ccg:
	* gstreamer/src/pipeline.hg: Added create() methods for Gst::Bin and
	Gst::Pipeline that don't require a name param.
	* tests/test-create-bin.cc: Modified test to use new create() methods.

	* gstreamer/src/indexfactory.hg: Renamed make() methods to
	create_index().

	* gstreamer/src/xml.hg: Added create() docs.

2008-10-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/pad.ccg:
	* gstreamer/src/pad.hg: Added create() methods without requiring a
	name param.  Added method docs (a couple are still missing); Added
	signal docs.
	* tests/Makefile.am:
	* tests/test-ghost-pad.cc:
	* tests/test-pad.cc: Rewrote test-pad to test Gst::Pad::create()
	methods and copied old contents to test-ghost-pad.cc (for future ghost
	pad test).

2008-10-12  José Alburquerque  <jaalburqu@svn.gnome.org>

	* gstreamer/src/event.ccg:
	* gstreamer/src/event.hg: Added Gst::Enums::get_flags(EventType).
	* gstreamer/src/element.hg:
	* gstreamer/src/format.hg:
	* gstreamer/src/message.hg:
	* gstreamer/src/query.hg: Fixed parameter name typos in Gst::Enum
	methods.

	* gstreamer/src/index.ccg:
	* gstreamer/src/index.hg:
	* gstreamer/src/gst_others.defs: Handwrote is_readable() and
	is_writable() and removed definitions in *.defs file.  Added method
	docs.