0.10.11:

2012-09-19  José Alburquerque  <jaalburquerque@gmail.com>

	Release 0.10.11.

	* NEWS:
	* configure.ac:

2012-09-19  José Alburquerque  <jaalburquerque@gmail.com>

	Regenerate the XML docs file.

	* gstreamer/src/gst_docs.xml: Regenerate the docs file for updated
	method and signal docs.
	* gstreamer/src/bin.hg:
	* gstreamer/src/bus.hg:
	* gstreamer/src/childproxy.hg:
	* gstreamer/src/colorbalance.hg:
	* gstreamer/src/colorbalancechannel.hg:
	* gstreamer/src/discoverer.hg:
	* gstreamer/src/element.hg:
	* gstreamer/src/index.hg:
	* gstreamer/src/object.hg:
	* gstreamer/src/pad.hg:
	* gstreamer/src/padtemplate.hg:
	* gstreamer/src/registry.hg:
	* gstreamer/src/tuner.hg:
	* gstreamer/src/tunerchannel.hg:
	* gstreamer/src/urihandler.hg: Remove the handwritten signal docs from
	these files so that the automatically generated ones (in the above
	file) are used.

	* examples/media_player_gtkmm/player_window.cc: Remove erroneous line.

2012-09-19  José Alburquerque  <jaalburquerque@gmail.com>

	Regenerate the enums and signal defs with 0.10.36 for a new release.

	* gstreamer/src/gst_enums.defs:
	* gstreamer/src/gst_signals.defs: Regenerated.

2012-09-19  José Alburquerque  <jaalburquerque@gmail.com>

	Init: Add the is_initialized() and the deinit() functions.

	* gstreamer/gstreamermm/init.{cc,h}: Wrap the GStreamer
	gst_is_initialized() and gst_deinit() functions.

	Bug #684148 (kangaba@yandex.ru).

2012-09-14  José Alburquerque  <jaalburquerque@gmail.com>

	Plug-ins: Speed up initialization by avoiding their loading on startup.

	* tools/extra_defs_gen/generate_plugin_gmmproc_file.cc
	(generate_hg_file): Use the new _NO_WRAP_INIT_REGISTRATION macro to
	signal that the plug-ins should not be registered on startup by the
	wrap_init() function.  Also use the new _CUSTOM_WRAP_FUNCTION in order
	to implement a custom Glib::wrap() function for plug-ins that ensures
	the registration of the wrap_new() function before calling
	Glib::wrap_auto() to wrap a C object.
	(generate_ccg_file): Modify the generation of the plug-in *_get_type()
	functions so that when an object of the plug-in type is first created,
	the plug-in's wrap_new() function is registered with the wrapping
	system using the type obtained when the plug-in is first loaded.  Also
	generate a custom Glib::wrap() function that ensures the registration
	of the plug-in's wrap_new() function before calling Glib::wrap_auto().
	This ensures that even if there is a C type of the plug-in, that even
	that object can be properly wrapped.

	Bug #684006.

2012-09-12  José Alburquerque  <jaalburquerque@gmail.com>

	Event, Message, Query: Have create() methods return derived types.

	* gstreamer/src/event.{ccg,hg}:
	* gstreamer/src/message.{ccg,hg}:
	* gstreamer/src/query.{ccg,hg}: Modify the create() methods of all the
	Event, Message and Query derived classes so that the methods return
	a reference pointer to the derived type and not to the base type.  Add
	protected templated inline wrap() methods to the base types (Event,
	Message and Query) which convert a derived type wrapped as a reference
	pointer to the  base type to a reference pointer to the derived type
	using a reference pointer dynamic cast and use the methods in the
	derived classes create() methods for the conversions.

	* tests/test-event-wrap.cc:
	* tests/test-message-wrap.cc:
	* tests/test-query-wrap.cc: Modify the event, message and query
	wrapping tests to create an Event, Message and Query to ensure that
	the new create() methods work.

	Bug #683580 (kangaba@yandex.ru).

2012-09-11  José Alburquerque  <jaalburquerque@gmail.com>

	MiniObject derived classes: Correct wrapper memory leak.

	* gstreamer/src/buffer.{ccg,hg}:
	* gstreamer/src/bufferlist.{ccg,hg}:
	* gstreamer/src/discovererinfo.{ccg,hg}: Add custom wrap_new()
	functions to the Gst::MiniObject derived classes in these files so
	that when the C objects are wrapped, a weak reference is added to the
	miniobject and the newly created wrapper can be destroyed in the
	specified callbacks.  Also add the callbacks that destroy the wrappers
	on weak referencing notification.  Use the _CUSTOM_WRAP_NEW macro in
	the class declarations to ensure that gmmproc knows that these classes
	have custom wrap_new() functions.

	* gstreamer/src/event.ccg:
	* gstreamer/src/message.ccg:
	* gstreamer/src/query.ccg: Modify the custom class wrap() methods to
	add weak reference notification on the newly given GstMiniObject.  Add
	the callbacks which destroy the wrapper on weak reference
	notification.

	* gstreamer/gstreamermm/miniobject.cc (~MiniObject): Ensure that the
	destructor does not try to unreference an object that is being
	destroyed because of a weak reference (when the reference is already
	zero).

	Bug #608702 (Massimiliano).

2012-09-07  José Alburquerque  <jaalburquerque@gmail.com>

	Query: Correct the docs usage example so that its lines compile.

	* gstreamer/src/query.hg: The example was not translated correctly
	from the C code thus lines from the example would not compile
	correctly.  The error was discovered on the GStreamer mailing list.

2012-08-15  José Alburquerque  <jaalburquerque@gmail.com>

	Examples: Fix the media player example for MinGW.

	* examples/media_player_gtkmm/main.cc:
	* examples/media_player_gtkmm/player_window.cc:
	* examples/media_player_gtkmm/player_window.h: Modify the code to not
	use the XImageSink plugin (which is is specific to the Linux
	Platform).  Also include gdk/gdkwin32.h instead of gdk/gdkx.h when
	compiling for the Windows platform.

2012-07-30  José Alburquerque  <jaalburquerque@gmail.com>

	Object: Add getter methods for the GMutex lock member.

	* gstreamer/src/object.hg: Use _MEMBER_GET_PTR() to provide getter
	methods for the GMutex lock member.
	* gstreamer/src/object.ccg: Adapt the callbacks to use the new Thread
	classes in Glib::Threads and not Glib::Thread which have been
	deprecated.
	* gstreamer/src/task.{ccg,hg}: Also use the new thread classes in
	these files where possible.

2012-07-30  José Alburquerque  <jaalburquerque@gmail.com>

	ElementFactory: Add register_element() wrapping gst_element_register().

	* gstreamer/src/elementfactory.hg: Add the register_element() static
	method.
	* gstreamer/src/plugin.hg (register_static): Correct the staticity of
	this method (it should be a static method).

2012-07-23  José Alburquerque  <jaalburquerque@gmail.com>

	BaseAudioSink: Wrap new properties.

	* gstreamer/src/baseaudiosink.hg: Wrap the "alignment-threshold" and
	"discont-wait" new properties.

2012-07-23  José Alburquerque  <jaalburquerque@gmail.com>

	Fix the build with the latest GStreamer git sources.

	* gstreamer/src/gst_enums.defs:
	* gstreamer/src/gst_signals.defs: Regenerate these files so that the
	new plug-in enums, properties and signals are found when they are
	wrapped by the generator.
	* gstreamer/src/gst_enums.defs.patch: Update the gst_enums.defs patch
	file for easy regeneration.

	* examples/media_player_gtkmm/player_window.cc (on_button_forward):
	Cast the playbin to a Gst::Element to disambiguate the send_event()
	method.  Gst::PlayBin2 derives from both Gst::Navigation and
	Gst::Element which both implement a send_event() method.