GStreamer の下層
Neat フレームワークのパイプラインは、GStreamer 上で実行されます。アプリケーションから見て表示されるほぼすべてのもの(Graph、Run、Node)は、GStreamer の概念を型付きでラップしたものです。このページでは、その階層構造について説明します。何が隠蔽され、何が隠蔽されないのか、そして、生の GStreamer を使用するのが適切なのはいつなのかを説明します。
フレームワークが抽象化するもの
| GStreamer の概念 | フレームワークによる抽象化 |
|---|---|
gst-launch テキストフラグメント | Node::backend_fragment(int node_index) |
要素名(name=…) | Node::element_names() からの決定的な n<idx>_<role> |
| パイプライン文字列(連結されたフラグメント) | Graph::add() が構築および連結 |
| Caps のネゴシエーション | Graph::build() が NodeCapsBehavior を介して Caps を検証 |
gst_pipeline_set_state() | Graph::run() / Run::start() |
| バスメッセージ | GraphReport::bus_messages |
appsrc プッシュ API | Run::push() |