GStreamer アプリケーションを記述するときは、gst/gst.h をインクルードするだけで、ライブラリ関数にアクセスできるようになります。ヘッダーファイルをインクルードしたら、GStreamer ライブラリを初期化する必要があります。
GStreamer ライブラリを使用できるようにするには、メインアプリケーションからまず gst_init を呼び出す必要があります。この呼び出しによって、ライブラリに関して必要な初期化が行われるとともに、GStreamer 固有のコマンドラインオプションが解析されます。
典型的なプログラム [1] には、GStreamer の初期化を目的とした次のようなコードがあります。
例 4-1. GStreamer の初期化
#include <stdio.h>
#include <gst/gst.h>
int
main (int argc,
char *argv[])
{
const gchar *nano_str;
guint major, minor, micro, nano;
gst_init (&argc, &argv);
gst_version (&major, &minor, µ, &nano);
if (nano == 1)
nano_str = "(CVS)";
else if (nano == 2)
nano_str = "(Prerelease)";
else
nano_str = "";
printf ("This program is linked against GStreamer %d.%d.%d %s\n",
major, minor, micro, nano_str);
return 0;
}
ビルド対象の GStreamer バージョンを取得するには、GST_VERSION_MAJOR、GST_VERSION_MINOR、および GST_VERSION_MICRO マクロを使用します。または、アプリケーションのリンク対象のバージョンを取得するには、関数 gst_version を使用します。GStreamer は現在、メジャーバージョンとマイナーバージョンが同じバージョンでは API および ABI 互換となるような方式を採用しています。
gst_init 関数は、2 つの NULL を引数に指定して呼び出すこともできます。その場合には、GStreamer によるコマンドラインオプションの解析は行われません。
| [1] | この例のコードは、GStreamer の tar ファイルの中の examples/manual にあるドキュメントから自動的に抽出、作成されたものです。 |