GStreamermm: creating a new element type (in the plugin) by getting from Gst :: Element

The standard method for creating a new element type in a plugin is to "derive" a gobject type from a GstElement type with all this magic of objects, for example this .

I am writing a C ++ project that uses GStreamer with some elements specialized for my purpose. I have written several plugins, as mentioned above, but the code does not suit me, since there is too much just to satisfy the gobling requirements.

I am considering using gstreamermm. Is it possible to create a new type of elements with C ++ style derivation from Gst :: Element? I mean something like:

class MyElement: public Gst::Element
{
  ...
}

This would be a much nicer solution (assuming I already use gstreamermm and C ++ in the plugin). Of course, we need a real gobject type that has a unique type identifier, etc.

+2
source share
1 answer

Since I did not find anything suitable, I fixed gstreamermm so that it allows such an element registration. See https://github.com/peper0/gstreamermm-plugins Until now, it has not been tested, but it seems to work in a few basic cases. Bug reports and feature requests will be appreciated.

Please note: my patch is in no way authorized by the gstreamer or gstreamermm developers, so it may violate some design assumptions made in these projects.

+1
source

All Articles