Windows MinGW上にgstreamerの開発環境を作る

追記 : FluendoのGStreamer SDKWindows版が有る : http://docs.gstreamer.com/display/GstSDK/Installing+on+Windows
追記 : 今はgstreamer winbuildsが有力なディストリビューションになっているのでそれを勧める。http://www.gstreamer-winbuild.ylatuya.es/
要するに、 http://osdevj.g.hatena.ne.jp/osdevj/20080106 これをコンパイルして動作させるまでの手順。

SDL

公式サイトのMingw向けライブラリをそのまま使用できる。
配置場所はどこでも良いが、後の例ではc:\mingw\opt\sdl-mingwにインストールしたことを仮定している。

gstreamer

gstreamerをWindowsで動作させるのは鬼門。多くのケースでは以下の手順で正常に動作するようになる。

gst-inspect-0.10 -aを実行して、完走することを確かめる。
ElisaはGStreamerを利用したクロスプラットフォームのメディアセンターで、単に適切にdshowのside by side配置を動作させるアップデートを入手するためにインストールする。ビルドしたプログラムの動作にelisa自体は必要無い。

ビルド

c:\gstreamerにgstreamer-oabuildをインストールしたなら、

gcc -L/gstreamer/lib -L/mingw/opt/sdl-mingw/lib -I/gstreamer/include/glib-2.0 -I/gstreamer/lib/glib-2.0/include -I/gstreamer/include -I/mingw/opt/sdl-mingw/include/SDL -mwindows testgst.c SDL_win32_main.c -lSDL -lgstreamer-0.10 -lglib-2.0 -lgobject-2.0

のようにしてビルドできる。
なぜかSDL_mainが使用できなかったので、SDL_win32_main.cをソースコードから入手して同時にコンパイルしている。