プラグインで新しい要素タイプを作成する標準的な方法は、このようなすべての gobject マジックを使用した GstElement タイプからの gobject スタイルの「派生」です。
私は、私の目的に特化したいくつかの要素で GStreamer を使用する C++ でプロジェクトを書いています。上記の方法でいくつかのプラグインを作成しましたが、gobject の要件を満たすだけのコードが多すぎるため、コードに満足していません。
gstreamermm の使用を検討しています。Gst::Element からの C++ スタイルの派生で新しいタイプの要素を作成することは可能ですか? 私は次のようなことを意味します:
class MyElement: public Gst::Element
{
...
}
それははるかにきれいなソリューションです(プラグインですでに gstreamermm と C++ を使用していると仮定します)。もちろん、一意のタイプ ID などを持つ実際の gobject タイプが必要です。