2

プラグインで新しい要素タイプを作成する標準的な方法は、このようなすべての gobject マジックを使用した GstElement タイプからの gobject スタイルの「派生」です。

私は、私の目的に特化したいくつかの要素で GStreamer を使用する C++ でプロジェクトを書いています。上記の方法でいくつかのプラグインを作成しましたが、gobject の要件を満たすだけのコードが多すぎるため、コードに満足していません。

gstreamermm の使用を検討しています。Gst::Element からの C++ スタイルの派生で新しいタイプの要素を作成することは可能ですか? 私は次のようなことを意味します:

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

それははるかにきれいなソリューションです(プラグインですでに gstreamermm と C++ を使用していると仮定します)。もちろん、一意のタイプ ID などを持つ実際の gobject タイプが必要です。

4

1 に答える 1

1

適切なものが見つからなかったので、gstreamermm にパッチを適用して、そのような要素を登録できるようにしました。https://github.com/peper0/gstreamermm-pluginsを参照してください。これまで十分にテストされていませんが、いくつかの基本的なケースでは機能するようです。バグレポートと機能リクエストをお待ちしております。

注意: 私のパッチは、gstreamer または gstreamermm の開発者によって承認されていないため、これらのプロジェクトで行われたいくつかの設計上の想定が破られる可能性があります。

于 2013-02-24T18:54:38.757 に答える