この章では、GStreamer ベースのアプリケーションを作成するときに心がけるべきことをいくつか取り上げます。ここで示す内容が役に立つかどうかはプログラマ自身で判断してください。この章では、GStreamer アプリケーションを使ってパイプラインに関する問題をデバッグする方法についても簡単に説明します。また、プラグインとエレメントに関する情報の取得方法、アプリケーションを作成する前にその骨格となるシンプルなパイプラインをテストする方法についても取り上げます。
作成するパイプラインには必ず GstBus ハンドラを追加します。アプリケーションの中では、エラーを必ず報告します。また、警告メッセージや情報メッセージについても何らかの処理を行うようにします。
GStreamer の関数の戻り値を必ずチェックします。特に、gst_element_link () と gst_element_set_state () の戻り値のチェックは忘れないでください。
gst_element_get_pad () など、基本型でない値を返すすべての関数の戻り値については、参照を外します。また、gst_object_get_name () など、const ではない文字列の戻り値は必ず解放します。
必ずパイプラインオブジェクトを使って、作成したパイプラインの現在の状態を追跡します。アプリケーションの内部ではプライベート変数を保持しないでください。ユーザーが "再生" (play) ボタンを押した時点でユーザーインタフェースを更新しないでください。代わりに、GstBus 上で "state-changed" メッセージをリスンし、このメッセージを受信したときに初めて、ユーザーインタフェースを更新します。
GStreamer にバグが見つかったら、必ず http://bugzilla.gnome.org/ で報告してください。