第 4章GStreamer の初期化

GStreamer アプリケーションを記述するときは、gst/gst.h をインクルードするだけで、ライブラリ関数にアクセスできるようになります。ヘッダーファイルをインクルードしたら、GStreamer ライブラリを初期化する必要があります。

4.1. シンプルな初期化

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, &micro, &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_MAJORGST_VERSION_MINOR、および GST_VERSION_MICRO マクロを使用します。または、アプリケーションのリンク対象のバージョンを取得するには、関数 gst_version を使用します。GStreamer は現在、メジャーバージョンとマイナーバージョンが同じバージョンでは API および ABI 互換となるような方式を採用しています。

gst_init 関数は、2 つの NULL を引数に指定して呼び出すこともできます。その場合には、GStreamer によるコマンドラインオプションの解析は行われません。

注意

[1]

この例のコードは、GStreamer の tar ファイルの中の examples/manual にあるドキュメントから自動的に抽出、作成されたものです。