0.9.7: 2008-10-09 Murray Cumming * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Rename flag_set() to set_flag() and renamaed flag_unset() to unset_flag() to be consistent with other *mm libraries. * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: Rename save/restore_*thyself() to save/restore() because thyself is redundant and not modern English. * gstreamer/src/xml.hg: Class documentation: mention (not-yet implemented) vfuncs to override instead of non-virtual methods. 2008-10-08 José Alburquerque * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Renamed save_thyself() and load_thyself() to save() and load() because *_thyself() is redundant. 2008-10-07 José Alburquerque * gstreamer/src/pad.ccg: Added "direction" property to list of Gst::Pad::Pad() construction properties. * gstreamer/src/plugin.hg: Made TODO more specific. 2008-10-06 José Alburquerque * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Reordered class declarations according to the C API docs. * gstreamer/src/message.ccg: Slightly re-wrote Gst::Message::wrap() to use Gst::MessageCustom where appropriate. 2008-09-18 José Alburquerque * gstreamer/src/bin.hg: * gstreamer/src/buffer.hg: * gstreamer/src/bus.hg: * gstreamer/src/caps.hg: * gstreamer/src/childproxy.hg: * gstreamer/src/element.hg: * gstreamer/src/elementfactory.hg: * gstreamer/src/filter.hg: * gstreamer/src/ghostpad.hg: * gstreamer/src/indexfactory.hg: * gstreamer/src/interface.hg: * gstreamer/src/pad.hg: * gstreamer/src/padtemplate.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/registry.hg: * gstreamer/src/segment.hg: * gstreamer/src/taglist.hg: * gstreamer/src/tagsetter.hg: * gstreamer/src/task.hg: * gstreamer/src/urihandler.hg: * gstreamer/src/xml.hg: Reorganized all _IGNOREs so it is clear what has not been wrapped and: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Wrapped get_structure() methods instead of handwriting them and: * gstreamer/src/message.ccg: * gstreamer/src/message.hg: Renamed get* methods in MessageBuffering to parse*. * gstreamer/gstreamermm/taglist.cc: * gstreamer/gstreamermm/taglist.h: * tools/m4/class_boxedtype_extra.m4: Modified custom CLASS_BOXEDTYPE class macro for GstTagList to use a dummy int instead of a bool and "regenerated" *.h and *.cc files by adding taglist.hg to gstreamer/src/Makefile_list_of_hg.am_fragment and then removing it so that wrapping get_structure() methods above would not be ambiguous (GstTagList is in fact a GstStructure see bug #518934). * tools/m4/convert_gst.m4: Included conversion for GstStructure and remove unused GstStructure and GstTagList ones. * gstreamer/src/structure.ccg: * gstreamer/src/structure.hg: Added fixate* methods. * gstreamer/src/clock.hg: * gstreamer/src/gst_docs_override.xml: Fixed wait() method docs and added overridden wait() method docs. * gstreamer/src/iterator.hg: Changed gpointer uses to void*. 2008-09-17 José Alburquerque * gstreamer/src/iterator.hg: Renamed boolean `destroy' in iterator classes to `take_ownership' (may be more intuitive and is how it is done in other *mm libraries). 2008-09-17 José Alburquerque * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Made Glib::Value< Glib::RefPtr > template specialization derive from Glib::ValueBase_Boxed instead of Value_Boxed. Moved the specialization set() method implementation to .hg file. Also added get() method (for getting properties) and custom value_type() definition (all in .hg file as in glibmm/value.h). * tests/test-property-caps.cc: Modified caps property test to get property before and after setting the property. 2008-09-16 José Alburquerque * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Added template specialization Glib::Value< Glib::RefPtr > so that Glib::ObjectBase::set_property() doesn't fail when setting the "caps" property of certain GStreamer elements such as `multifilesrc' (from gst-plugins-good); also added Gst::Caps::get_type() without which the specialization could not compile. * tests/Makefile.am: * tests/test-property-caps.cc: Added "caps" property setting test for compile verification. Should fix bug #552305. 2008-09-14 José Alburquerque * gstreamer/gstreamermm-0.10.pc.in: Add gstreamerbasemm-0.10 to libs to fix compilation of files (otherwise missing reference to GstBase::wrap_init() is reported). 2008-09-10 José Alburquerque * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Added get_flags(), flag_is_set() flag_set() and flag_unset(). Uncommented copy(). Included comments in docs about how copying works with Gst::MiniObjects. * gstreamer/src/buffer.ccg: * gstreamer/src/buffer.hg: * gstreamer/src/gst_others.defs: Removed *flag() methods (which are already defined in Gst::MiniObject). Handwrote and renamed make_writable() to create_writable() as in Gst::MiniObject. * gstreamer/src/message.ccg: * gstreamer/src/message.hg: * gstreamer/src/query.ccg: * gstreamer/src/query.hg: * gstreamer/src/event.ccg: * gstreamer/src/event.hg: Added copy() and create_writable() methods. * gstreamer/src/bin.hg: Renamed find_unconnected_pad() to find_unlinked_pad() and used gst_bin_find_unlinked_pad() instead of gst_bin_find_unconnected_pad() which is deprecated. * gstreamer/gstreamermm/object.h: * gstreamer/src/element.hg: * gstreamer/src/interface.hg: * gstreamer/src/pad.hg: * gstreamer/src/xml.hg: Typos and some _IGNOREs. 2008-09-09 José Alburquerque * gstreamer/src/xml.ccg: * gstreamer/src/xml.hg: Added class docs. Made Gst::write_xml() and Gst::write_xml_file() static methods of Gst::XML renaming them to write() and write_to_stream() (similar to C API); also made Gst::make_element() a static member of Gst::XML. Used libxml++ API where possible; used Glib::ustring instead of std::string where possible. * tools/m4/convert_gst.m4: Added Glib::ustring& and xmlpp::Document* conversions. * gstreamer/gstreamermm/object.cc: * gstreamer/gstreamermm/object.h: Added class and method docs. Added save_thyself() and restore_thyself() (saving and restoring to/from XML using libxml++). * configure.ac: Added libxml++-2.6 as build dependency for gstreamerbasemm (which is needed to build gstreamerbasemm classes derived from Gst::Object). * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: Renamed save() and load() to save_thyself() and load_thyself() respectively (as in C API). 2008-09-05 José Alburquerque * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Fixed up Query class docs. Added Gst::QueryApplication. Added parse() (overloaded) methods. Added class and method docs. Modified Gst::QueryFormats::set() to use Glib::ArrayHandle<>. Added Gst::QueryBuffering. * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: Modified examples to use new Gst::Query classes parse() methods. * gstreamer/src/gst_docs_override.xml: Corrected Gst::Query::iterate_definitions() return type in docs. * gstreamer/src/bus.hg: Typo in docs. 2008-08-29 José Alburquerque * gstreamer/src/format.ccg: * gstreamer/src/format.hg: Added register_format(), formats_contain() and iterate_format_definitions(). Renamed get_details(Format f, ...) to get_format_details(). Made FormatDefinition a _CLASS_GENERIC to make it usable with Gst::IteratorBasic<> for return of iterate_format_definitions(). * gstreamer/src/query.ccg: * gstreamer/src/query.hg: Added Gst;:Query class doc. Renamed query_types_constains() to query_types_contain(). Added Gst::Query::iterate_definitions(). Made QueryTypeDefinition a _CLASS_GENERIC so that it can be used with Gst::IteratorBasic<> for return of Gst::Query::iterate_definitions(). * tools/m4/convert_gst.m4: Added conversion from GstIterator* to Gst::IteratorBasic. * gstreamer/src/iterator.hg: Added Gst::IteratorBasic<>::operator->(). Used CppType() constructor in the Gst::IteratorBasic<>::operator*() return instead of Glib::wrap() which makes it usable with classes that don't have a Glib::wrap() method (like FormatDefinition and QueryTypeDefinition). * tests/test-iterator.cc: Modified to test iterate_format_definitions() and Gst::Query::iterate_definitions(). * gstreamer/src/caps.ccg: Clarified TODO. 2008-08-25 José Alburquerque * gstreamer/src/element.hg: Removed get_pad() (was a TODO). * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/main.cc: Changed examples to not use Gst::Element::get_pad() which is removed. * gstreamer/src/bus.hg: Made TODO more specific (for future completion). 2008-08-19 José Alburquerque * gstreamer/src/bin.ccg: * gstreamer/src/bin.hg: Forward declared Gst::Iterator<> in hg file. * gstreamer/src/element.ccg: * gstreamer/src/element.hg: * tools/m4/convert_gst.m4: Wrapped iterate*_pads() methods. 2008-08-11 José Alburquerque * gstreamer/src/bin.hg: Wrapped iterate*() methods. Removed children_cookie() because I'm not sure what it would be used for yet. Corrected docs. 2008-08-11 José Alburquerque * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: Removed ConcurrentUpdateException and used std::runtime_error with description for iterator concurrent update. Renamed is_last() to is_end() (logic was flawed on what Gst::ITERATOR_DONE means -- one past last element, not *on* last element). Added Gst::IteratorBasic (for non reference counted objects) and made Gst::Iterator derive from it. Added (questionable?) operator->() to Gst::Iterator. * tests/test-iterator.cc: Rewrote test. 2008-08-08 José Alburquerque * gstreamer/src/iterator.ccg: * gstreamer/src/iterator.hg: First cut at implementing Gst::Iterator. * gstreamer/gstreamermm.h: * gstreamer/src/Makefile_list_of_hg.am_fragment: Re-added Gst::Iterator after first cut at implementing it. * gstreamer/src/bin.hg: * tools/m4/convert_gst.m4: Wrapped iterate_elements() (makes use of Gst::Iterator). * tests/Makefile.am: * tests/test-iterator.cc: Added Gst::Iterator test. Still need to test further and refine Iterator class implementations where possible. * gstreamerbase/gstreamerbasemm.h: Added audioclock.h. * gstreamerbase/src/audioclock.ccg: * gstreamer/src/element.hg: Typos. 2008-08-07 Murray Cumming * gstreamer/src/buffer.hg: Do not wrap gst_buffer_join() because it is just a C convenience function doing nasty unreffing. gst_buffer_merge() does the same thing without the unrefs. As discovered in bug #533856. 2008-08-01 José Alburquerque * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/Makefile_list_of_hg.am_fragment: Added audioclock.hg to list of *.hg files and modified GstBase::AudioClock cosntructor to include few lines in gst_audio_clock_new() since bug #545782 seems like a bit more trouble than including the lines. * 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: Modified these scripts to provide error messages. 2008-07-31 José Alburquerque * Makefile.am: * configure.ac: * gstreamer/gstreamermm/Makefile.am: * gstreamerbase/gstreamerbasemm-0.10.pc.in: * tests/Makefile.am: Added gstreamer-audio-0.10 to gstreamerbasemm dependencies. Removed libgstreamerbasemm-0.10.la from gstreamermm library list and include it for tests. Build gstreamer branch before gstreamerbase branch. * gstreamer/src/task.hg: Hid private slot variable from docs. * gstreamer/src/plugin.ccg: * gstreamer/src/plugin.hg: Added code to be able to register static plugins as Eric Jonas asked about in "Gstreamer with C++" thread on gtkmm-list on 7/21/2008. This code is dependent on the acceptance of bug #545787. * gstreamerbase/src/Makefile_list_of_hg.am_fragment: * gstreamerbase/src/audioclock.ccg: * gstreamerbase/src/audioclock.hg: Added GstBase::AudioClock. Bug #545782 needs to be resolved before it can be completely included. 2008-07-30 José Alburquerque * 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: Added these scripts in gstreamer and gstreamerbase branches to make generation of *.def files easier. 2008-07-30 José Alburquerque * gstreamer/src/element.ccg: * gstreamer/src/element.hg: Renamed get_compatible_pad() to create_compatible_pad() because it actually creates a pad if one does not exist. * gstreamer/src/gst_docs.xml: Regenerated gstreamer branch docs. * gstreamer/src/bus.hg: * gstreamer/src/clock.hg: * gstreamer/src/filter.hg: * gstreamer/src/index.hg: * gstreamer/src/pad.hg: * gstreamer/src/plugin.hg: * gstreamer/src/pluginfeature.hg: * gstreamer/src/structure.hg: * gstreamer/src/taglist.hg: * gstreamer/src/task.hg: Beautified slot docs a bit. 2008-07-28 José Alburquerque * gstreamer/src/message.ccg: * gstreamer/src/message.hg: - Reordered class declarations according to the C API docs. - Added class and method docs. - Rewrote parse() method of classes so that there is a void one named parse() which parses all the relevant message members, another also named parse() which returns the most prominent member of the message and others parse methods named parse_*() for the less prominent ones. This organization and naming of parse() methods can change to be more intuitive if there is a better way, in particular the parse() methods which return the prominent members may be better named parse_*() also. - Added Gst::MessageBuffering::{set/get}_stats*() methods based on new in GStreamer 0.10.20. * gstreamer/src/query.hg: Wrapped enum BufferingMode. * examples/media_player_gtkmm/player_window.cc: * examples/ogg_player/main.cc: * examples/ogg_player_gtkmm/player_window.cc: Fixed examples to use new Gst::MessageError::parse() methods correctly. 2008-07-27 José Alburquerque * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_methods.defs.patch: * gstreamer/src/gst_signals.defs.patch: Added these patch files to be applied after corresponding def is generated (as in gtkmm). * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Applied patches to keep build sane. 2008-07-27 José Alburquerque * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: Commit these unmodified regenerated files to create patches that fix them appropriately. 2008-07-27 José Alburquerque * gstreamer/src/index.ccg: Ensure that slot from set_resolver() is deleted by using gst_index_set_resolver_full(). This fixes bug #515373. * configure.ac: * gstreamer/gstreamermm-0.10.pc.in: Added libxml++-2.6 library dependency. Updated min. required GStreamer version to 0.10.20 (I think we're using API found in newer versions). * gstreamer/gstreamermm/miniobject.cc: * gstreamer/gstreamermm/miniobject.h: Added is_writable(), make_writable() method docs. Found that make_writable() returns a GstMiniObject* so return Glib::RefPtr from make_writable() and renamed to create_writable(). * gstreamer/src/bin.hg: Added get_children_cookie() (It has to do with GstIterator but will have to become clearer when Gst::Iterator is written). * gstreamer/src/caps.ccg: * gstreamer/src/caps.hg: * tools/m4/convert_gst.m4: Rewrote save() and load() to use libxml++. * gstreamer/src/pad.hg: Added _IGNORE's * gstreamer/src/bus.hg: Typo.