2015-02-24 Marcin Kolny Gst::Structure: added datetime support to a structure * gstreamer/src/structure.{ccg|hg}: wrapped methods which supports date and time. * tests/test-structure.cc: additional unittests added. 2015-02-24 Marcin Kolny Gst::Message: fixed MessageApplication's methods * gstreamer/src/message.{ccg|hg}: structure cannot be null pointer in a message application, so one-argument factory method is not necessary. Two-parameters method should acquire const-reference, because object is not modified anyway. * tests/regression/test-regression-seekonstartup.cc: fixed testcase according to a new interface. * tools/m4/convert_gst.m4: additional conversion for structure added. 2015-02-24 Marcin Kolny Warnings fixed * configure.ac: * gstreamer/src/filelist.am: temporary disable multisocketsink and videoconvert (because of warnings). * gstreamer/src/miniobject.ccg: * test/test-bin.cc: fix "unused argument" warning. 2015-01-28 Rafał Rawicki msvc: build fix * MSVC_2010/gstreamermm/gstreamermm.vcxproj: * MSVC_2010/gstreamermm/gstreamermm.vcxproj.filters: added missing file(capsfeatures.cc) to a project file. 2015-01-28 Marcin Kolny Gst::Buffer: copy_into method now as a static method * gstreamer/src/buffer.hg: syntax buff1->copy_into(buff2) isn't clear for developers. It suggests, that buff1 is copied into buff2. Reverse order might be confusing for users, who already knows c-style syntax of copying methods, so compromise is here to make copy_into method as a static. * tests/test-buffer.cc: added tests for copy_into method. 2014-11-28 Marcin Kolny Gst::Pad: added a few constversion methods in Gst::PadProbeInfo class * gstreamer/src/pad.hg: added constversion for accessing methods: query, event, buffer and bufferlist. To have an access to mentioned objects, we had to remove const-ness of PadProbeInfo object. It was bothering and pointless. Now it can be done without const-casting. 2014-11-27 Marcin Kolny Gst::Caps: fixed truncate method * gstreamer/src/caps.{ccg|hg}: truncate method takes as a first argument object instance which is transfer-full parameter. We need to do increase reference to avoid gobject errors. 2014-11-25 Marcin Kolny Gst::QueryAllocation: fixed methods using AllocationParams objects * gstreamer/src/query.ccg: accessing to a gobject was done incorrect - not by gobj() method, but by dereferencing this object. AllocationParams holds pointer, to a GstAllocationParams, and not to a object, that's why previous solution didn't work fine. * tests/test-query.cc: added test which proves this fix. 2014-11-25 Marcin Kolny Gst::ElementClass: added accessor to a gobject member * gstreamer/gstreamermm/register.h: a few methods are not wrapped in GstElementClass, so accessor to an GstElementClass object may be useful. 2014-11-21 Marcin Kolny Gst::Caps: added methods interrelated with Gst::CapsFeatures class * gstreamer/src/caps.{ccg|hg}: wrapped following methods: gst_caps_append_structure_full, gst_caps_merge_structure_full, gst_caps_get_features, gst_caps_set_features. 2014-11-21 Marcin Kolny Gst::CapsFeatures: wrapped GstCapsFeatures boxed structure * .gitignore: added capsfeatures generated files. * gstreamer/gstreamermm.h: added capsfeatures header to main header file. * gstreamer/src/capsfeatures.{ccg|hg}: implementation of GstCapsFeatures wrapper. * gstreamer/src/filelist.hg: added new wrapper to a build file list. * tests/Makefile.am: added capsfeatures class test file to a testfile list. * tests/test-capsfeatures.cc: added a few simple capsfeatures tests. * tools/m4/convert_gst.m4: added conversions between GstCapsFeatures and its wrapper. 2014-11-14 Marcin Kolny Gst::Check: removed global macro definition * gstreamer/gstreamermm/check.h: 2014-11-14 Marcin Kolny Gst::Caps: fixed transfer-full parameters passing in a few methods * gstreamer/src/caps.{ccg|hg}: added handcrafted implementation of gst_caps_merge and gst_caps_append wrappers because of transfer-full parameters in this methods. * tests/test-caps.cc: added test for merge method, which checks reference count of objects, checking reference count in append test method. 2014-10-30 Marcin Kolny Gst::Query: fixed QueryCaps::parse method * gstreamer/src/query.ccg: QueryCaps::parse method didn't increase caps object reference during wrapping, but it should, because of new RefPtr pointer, which is created in this method. 2014-10-30 Marcin Kolny Gst::Buffer: fixed copy method * gstreamer/src/buffer.ccg: copy method should take ownership of new buffer, and shouldn't increase refcount. * gstreamer/src/miniobject.hg: added missing header. * tests/test-buffer.cc: added test which checks refcout after copying buffer. 2014-10-29 Marcin Kolny Gst::Query: segfault fixed * gstreamer/src/query.ccg: 'params' argument in parse_nth_allocation_meta is transfer-none, so we have to increase reference if we want to wrap it. 2014-10-14 Marcin Kolny Gst::Element: minor * gstreamer/src/gst_vfuncs.defs: added set_context virtual function definition. * tools/m4/convert_gst.m4: added conversion definition between GstContext* and Gst::Context refptr. 2014-10-14 Marcin Kolny Gst::Element: wrapped a few methods * gstreamer/src/element.hg: wrapped set_context method and set_context virtual function. 2014-10-14 Marcin Kolny Gst::Context: wrapped GstContext struct * .gitignore: added generated files to ignored list. * MSVC_2010/gstreamermm/gstreamermm.vcxproj: * MSVC_2010/gstreamermm/gstreamermm.vcxproj.filters: added context files to a msvc project. * gstreamer/gstreamermm.h: added context header to a common include file. * gstreamer/src/context.ccg: * gstreamer/src/context.hg: added wrappers for GstContext structure. * gstreamer/src/filelist.am: added context wrapper to build file list. * tools/m4/convert_gst.m4: a few conversions between GstContext and Gst::Context added. 2014-10-14 Marcin Kolny defs: minor fix in enum def file * gstreamer/src/gst_enums.defs: applied patch defs patch. * gstreamer/src/gst_enums.defs.patch: fixed QueueLeaky enumeration: added missing value (QUEUE_NO_LEAK). 2014-10-14 Marcin Kolny msvc: revert add vd2 flag * MSVC_2010/gstreamermm-1.0.props: glibmm has already resigned as it is no longer needed, so have I. 2014-10-14 Marcin Kolny Gst::Iterator: fix swap method * gstreamer/src/iterator.hg: initialized GValue object. 2014-10-14 Szymon Sobik handle_error, Gst::Caps, Gst::Iteratorfix simple errors: minor fixes * gstreamer/gstreamermm/handle_error.h: fixed header guard name. * gstreamer/src/caps.hg: removed warning with mixing struct/class in class definition/declaration. * gstreamer/src/iterator.hg: avoid using uninitialized memory. 2014-10-01 Marcin Kolny Gst::Pad: minor fix in proxy_query_caps wrapper * gstreamer/src/pad.hg: query argument should be passed by reference. Passing by copy increases refcount, and object is no longer writable in that case. But gst_pad_proxy_query_caps requires writable object. 2014-10-01 Marcin Kolny Gst::MiniObject: added a wrappers for the rest of nonexisting methods. * gstreamer/src/gst_extra_objects.defs: added extra class definition. for GstMiniObject struct. * gstreamer/src/miniobject.ccg: * gstreamer/src/miniobject.hg: added missing wrappers, also added QuarkData class, which should be used as a base class for data stored as a qdata. * tests/test-miniobject.cc: a few tests added, which check finalize notifier. 2014-10-01 Marcin Kolny Gst::Query: wrapped missing methods from Query class * gstreamer/src/gst_extra_objects.defs: added definition of GstQuery object. * gstreamer/src/pad.hg: removed unnecesary #include directive, what leads to a circular dependency. * gstreamer/src/query.ccg: * gstreamer/src/query.hg: created missing query types: QueryCaps, QueryScheduling, QueryAllocation, QueryUri, QueryAcceptCaps. Implemented a few methods from already implemented classes. tests/test-query.cc: added simple test, which helps me to check references. * tools/m4/convert_gst.m4: conversion definitions of enums from query file, Structure class. 2014-09-24 Marcin Kolny Documentation: minor improvements in main page * gstreamer/gstreamermm.h: updated compilation tips according to a gstreamer 1.0 2014-09-21 Marcin Kolny Gst::Buffer: wrapped a few missing methods * gstreamer/src/buffer.ccg: there is a few methods, where user loses object ownership. It can't be done using gmmproc, so this methods are written by hand. * gstreamer/src/buffer.hg: wrapped a few methods using _WRAP_METHOD macro, wrote declarations for a handwritten methods. * test/test-buffer.cc: a few tests which prove Gst::Buffer class. 2014-09-16 Marcin Kolny Regenerate method's def file * gstreamer/src/gst_methods.defs: regenerated defs file according to a bug posted on a bugzilla: bgo#736427 2014-09-13 Marcin Kolny examples: added example which uses decodebin * examples/Makefile.am: added example to a build list * examples/all_media_player.cc: simple application, which can play all audio/video formats (if specyfic plugins are installed) using decodebin. This example shows, how to use decodebin, dynamic pads, and how to use non-static class methods in signal handlers (sigc::mem_fun). 2014-09-09 Marcin Kolny msvc: added vd2 flag to a compilator vd2 flag allows to use dynamic_cast in an object being constructed. This flag is used in case where the only virtual function in virtual base class is a destructor (so it is in ObjectBase class). * MSVC_2010/gstreamermm.props: added necessary flag in a property sheet file, so user who uses this property sheet in his project, don't have to remember about adding this flag. 2014-08-29 Szymon Sobik msvc: disable some optimizations * MSVC_2010/gstreamermm/gstreamermm.vcxproj: disabled optimizations according to glibmm msvc project 2014-08-29 Szymon Sobik msvc: enable rtti * MSVC_2010/gstreamermm/gstreamermm.vcxproj: rtti enabled 2014-08-29 Szymon Sobik msvc: don't generate debug info in release * MSVC_2010/gstreamermm/gstreamermm.vcxproj: disabled debug info generation in release configuration 2014-08-29 Szymon Sobik msvc: switch to dynamic library made similar to glibmm, with the gendef program * .gitignore: added gendef's automatically generated project files * MSVC_2010/gendef/gendef.cc: * MSVC_2010/gendef/gendef.vcxproj: * MSVC_2010/gendef/gendef.vcxproj.filters: symbols generator added (just like in gtkmm project) * MSVC_2010/gstreamermm.sln: added gendef's project to a main solution * MSVC_2010/gstreamermm/gstreamermm.vcxproj: switched build to dynamic library, ran gendef program before build 2014-08-28 Marcin Kolny Plugins: enabled elements plugins from gst-plugins-base package: - multisocketsink - input-selector - output-selector. There is still one disabled element: audioresample. * .gitignore: added multisocketsink generated files to ignored list. The rest of added plugins were already there. * configure.ac: added plugins to .hg|.ccg generation list * gstreamer/src/filelist.am: added .hg files of added plugins to a further generator list * gstreamer/src/gst_enums.defs: applied a patch described below * gstreamer/src/gst_enums.defs.patch: added define of missing enums from multisocketsink element, which cannot be autogenerated * tools/m4/convert_gst.m4: added conversion rule from Gio::Socket refptr to GSocket* * tools/m4/plugingen_gstreamermm.m4: added translation entry of GSocket* and GObject* 2014-08-28 Marcin Kolny Release: regenerated *.defs files according to gstreamer 1.2.4 version I decided to remove patches content, to avoid rubbish (unnecessary entries) in a code. * gstreamer/gstreamermm.h: * gstreamer/src/filelist.am: temporary disabled audioresample plugin. It can be enabled after wrapping enum SpeexResamplerSincFilterMode. Probably audioresample.{hg|ccg} cannot be generated. * gstreamer/src/gst_docs.xml: regenerated documentation files * gstreamer/src/gst_enums.defs: * gstreamer/src/gst_methods.defs: * gstreamer/src/gst_signals.defs: regnerated enum, methods and signals defs file * gstreamer/src/gst_enums.defs.patch: * gstreamer/src/gst_methods.defs.patch: * gstreamer/src/gst_signals.defs.patch: some autogenerated defs are incorrect, so we have to apply some patches after regeneration. 2014-08-28 Marcin Kolny Release: increased version to 1.2.4 * configure.ac: changed version of required gstreamer version to 1.2.4 and version of gstreamermm to 1.2.4 too 2014-08-27 Marcin Kolny Register: msvc build fix * gstreamer/gstreamermm/register.h: removed unnecessary default argument in function definition (it is already done in declaration). It was breaking MSVC build. 2014-08-27 Marcin Kolny doap: update * AUTHORS: updated contributors list 2014-08-27 Szymon Sobik .gitignore: ignore msvc build files Signed-off-by: Marcin Kolny 2014-08-27 Rafał Rawicki .gitignore: update ignored files list Signed-off-by: Marcin Kolny 2014-08-27 Szymon Sobik Windows: library names dependent on toolset we can now safely switch toolset with /p:PlatformToolset= Signed-off-by: Marcin Kolny 2014-08-26 Marcin Kolny Gst::Object: implemented easy accecss to an object's refcount. Sometimes (especially, in tests) we need to check refcount of an object. This change gives developer simple access to a refcount number. User had to use 'GST_OBJECT_REFCOUNT(GST_OBJECT(obj->gobj()))' to get a refcount. Now it is much easier, just use 'obj->get_refcount()'. * gstreamer/src/object.[ccg|hg]: added get_refcount method to an Gst::Object class. 2014-08-26 Marcin Kolny Gst::Pipeline: wrapped missing enums, added simple test * gstreamer/src/pipeline.hg: wrapped PipelineFlags enum * tests/Makefile.am: * tests/test-pipeline.cc: added very simple test * .gitignore: added pipeline output file to ignored list 2014-08-24 Marcin Kolny Windows: added project files for Visual Studio 2010 * MSVC_2010/gstreamermm-1.0.props: property sheet (it should help gstreamermm's users create own project, which uses gstreamermm. File contains include directories, library paths needed for compilation apps based on gstreamermm. * MSVC_2010/gstreamermm.sln: solution file * MSVC_2010/gstreamermm/gstreamermm.rc: resources file * MSVC_2010/gstreamermm/gstreamermm.vcxproj: gstreamermm visual studio's project file (also uses gstreamermm-1.0.props). * MSVC_2010/gstreamermm/gstreamermm.vcxproj.filters: vs filters file. * MSVC_2010/gstreamermm/gstreamermmconfig.h: file contains gstreamermm configuration. 2014-08-24 Marcin Kolny Gst::Pad: minors * gstreamer/src/pad.ccg: removed useles, dummy debug printfs 2014-08-21 Marcin Kolny Gst::Pad: added exception handler for callback calls Sometimes we can't use default glibmm exception handler, because handler must be registered in the same thread. There is a few methods, where it's impossible to register handler, because we don't have an access to this thread. * gstreamer/src/pad.ccg: exception handler implementation, call exception handler in catch(...) blocks. * gstreamer/src/pad.hg: exception handler method header 2014-08-21 Marcin Kolny Gst::Pad: replaced friend functions by static methods. * gstreamer/src/pad.{ccg|hg}: made chain, query, event, activate, activatemode and getrange methods static. 2014-08-20 Marcin Kolny MiniObject: fixed gst_mini_object_make_writable wrapper gst_mini_object_make_writable unrefs object, but in gstreamermm, Glib::RefPtr class is used, so we have to make an extra reference for Glib::RefPtr destructor (where unreference method is called). * .gitignore: added miniobject test script to ignored list * gstreamer/src/buffer.ccg: * gstreamer/src/bufferlist.ccg * gstreamer/src/caps.ccg: * gstreamer/src/event.ccg: * gstreamer/src/message.ccg: * gstreamer/src/query.ccg: used MiniObject::create_writable method in create_writable implementation of derived classes * gstreamer/src/caps.hg: Gst::MiniObject as a base class for Gst::Caps, updated comment * gstreamer/src/bufferlist.hg: * gstreamer/src/event.hg: * gstreamer/src/query.hg: updated comment * gstreamer/src/miniobject.ccg: fixed create_writable implementation * gstreamer/src/miniobject.hg: create_writable as hand-written method * tests/Makefile.am: * tests/test-miniobject.cc: added Gst::MiniObject test suite 2014-08-19 Marcin Kolny Gst::Bin: added more tests to GstBin wrapper. * .gitignore: added test-bin file to ignored list * tests/Makefile.am: previously Bin test file wasn't added to a makefile. I fixed it in this commit. * tests/test-bin.cc: renamed existing tests, added tests for most of functions, virtual methods, signals. 2014-08-19 Marcin Kolny doap: updated doap and other project info files. * AUTHORS: list all gstreamermm contributors. * MAINTAINERS: removed file, doap file exists instead of this file. See here: https://wiki.gnome.org/Git/FAQ * gstreamermm.doap: added language info, updated category and link to bugzilla page. 2014-08-08 Marcin Kolny Gst::Bin: updated GstBin wrapper. * gstreamer/src/bin.hg: Updated handwritted comments. Wrapped GstBinFlags enum and children_cookie member. Removed deprecated gst_bin_find_unconnected_pad ignore macro. 2014-08-08 Marcin Kolny Gst::AtomicQueue: wrapped GstAtomicQueue module. Gst::AtomicQueue is template class. It helps with control queue types. For exactly the same behavior as GstAtomicQueue, gpointer as template type might be used. * .gitignore: added atomicqueue test executable file to ignore list * gstreamer/gstreamermm.h: atomicqueue header to a core includes * gstreamer/gstreamermm/atomicqueue.h: atomicqueue wrapper. This file isn't autogenerated, because Gst::AtomicQueue is template class. * gstreamer/gstreamermm/filelist.am: atomicqueue header as an extra header. * tests/Makefile.am: * tests/test-automaticqueue.cc: added a few tests for Gst::AtomicQueue class. 2014-08-08 Marcin Kolny Gst::Allocator: wrapped GstAllocator struct. * .gitignore: added allocator generated files, test *.log and *.trs files to ignore list * gstreamer/gstreamermm.h: add allocator header to core includes * gstreamer/src/allocator.ccg: * gstreamer/src/allocator.hg: implemented GstAllocator wrapper * gstreamer/src/filelist.am: * gstreamer/src/gst_vfuncs.defs: added allocator's virtual functions definitions * tests/Makefile.am: * tests/test-allocator.cc: added a few tests for Allocator wrapper * tools/m4/convert_gst.m4: added conversions definitions between AllocationParams and GstAllocationParams, Memory and GstMemory 2014-08-03 Marcin Kolny Test: added tests for Gst module 2014-08-03 Marcin Kolny Core: complemented Gst module