2008年5月版 Pantherでmplayer-snapshotをビルド

Back

 mplayer/mencoderも更新したくなったのでやってみる。

 とりあえず、snapshot版(SVN-r26836)を落としてきてconfigure、makeしてもやはり通らない。configureの altivec周りのgccの処理が今風になっているためらしい。完全に10.3時代 の開発環境は放置されてい るようである。色々検索してみたが、意地でもpantherでビルドするべしといった事 例もなく、大人しくTigerにでもしましょうくらいの情報しかない。

 ……と思ったが参考になる情報もちらほら発見。
 ついでにわざわざQuickTimeをダウングレードせずともビルドできる方法も見つけたのでメモ。
 (video decodeがQT-7.4と互換性なし? 今のところQT-7.3.1を使用中)


 ffmpegの場合と同じくconfigureの中で、
-sym=$(nm -P -g $TMPEXE)
+sym=$(nm -j -g $TMPEXE)

 と変更。
 続いてソースを変更。


[libao2/ao_macosx.c]

        size = sizeof(UInt32);
        err = AudioUnitGetProperty(ao->theOutputUnit, kAudioDevicePropertyBufferSize, kAudioUnitScope_Input, 0, &maxFrames, &size);

        if (err)
        {
                ao_msg(MSGT_AO,MSGL_WARN, "AudioUnitGetProperty returned [%4.4s] when getting kAudioDevicePropertyBufferSize\n", (char *)&err);
                goto err_out2;
        }


 上記のkAudioDevicePropertyBufferSizekAudioDevicePropertyBufferFrameSizeに 変更。詳細はこ こ参照。これでmplayerで音が出るようになる。

 でもってconfigure、makeする。tcshはすっかり忘れたのでshに入って、

$ CFLAGS="-O4 -mcpu=7450 -mtune=7450 -fastf -faltivec -D__APPLE_ALTIVEC__" LDFLAGS="-bind_at_load -lc /usr/lib/libgcc_s.1.dylib" ./configure --enable-macosx-finder-support --enable-macosx-bundle
$ make


 LDFLAGSの指定でQuickTime-7.0.1以降との不整合を回避でき、makeが通る。こ こ参照。ただ、ffmpegなライブラリのビルド でffmpegのときと同様コケるので、これまたffmpegのときと同様地道に個別にmakeしてビルドを完了させる。

 あとは普通にmake installで終わり。しばらくは上記の改修でしのげるかもしれない。




2008 6/3 updated / C's gallery OS X Tips