0.10.11: 2012-09-19 José Alburquerque Release 0.10.11. * NEWS: * configure.ac: 2012-09-19 José Alburquerque 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 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 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 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 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 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 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 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 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 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 BaseAudioSink: Wrap new properties. * gstreamer/src/baseaudiosink.hg: Wrap the "alignment-threshold" and "discont-wait" new properties. 2012-07-23 José Alburquerque 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.