gstreamerの勉強


gstreamer はいくつかのオブジェクトを繋げてデータを処理していく仕組みになっている。
この仕組みは gst-launch コマンドで確認ができる。
参考:http://opentechpress.jp/desktop/03/06/16/1621207.shtml


たとえば、以下のコマンドでは
1.filesrc で mp3 ファイルデータを読み込み
2.mad で mp3 をデコードして
3.alsasink で音をALSAで鳴らす
という仕組みになっている。

$ gst-launch filesrc location="sample.mp3" ! mad ! alsasink


より直感的には gst-editor というものが存在し、DirectXのフィルタエディタ(だっけ?)みたいな感じで線で繋いでいくことができる。
http://gstreamer.freedesktop.org/modules/gst-editor.html
で、やってみたのが以下画像なんだけど、Ubuntu 7.10 用のパッケージは見つからず、7.04 向けのパッケージをコンパイルしようとしても gstreamer-0.8.0 に依存してるらしく、gstreamer-0.10 で無理やりコンパイルしようとしても

caps-tree.c:228: error: 'GstElementFactory' has no member named 'padtemplates'

とか怒られるので、仕方なく gstreamer-0.8.0 を入れたところ、インストールできたのはいいが、音が鳴らない。。。


何か間違ったんだろうか。