CM6(Froyo)で再生できない3GP/MP4動画を再生可能にする手順

また間が空いてしまいましたが、今日からぼちぼち再開していきたいと思います。
休んでいる間にFroyoことAndroid 2.2がリリースされ、HTC Magic(HT-03A)やNexus One等のカスタムROMの代名詞「CyanogenMod(CM)」も6.0.0となり、8月28日には晴れてStable(正式版)となりました。ここの更新をサボっている間も、CM6の更新(日々新しいビルドが上がってくるNightly Buildを含む)だけは欠かしていませんでした。
当初は不安定さの目立っていたCM6ですが、ビルドを重ねるごとに安定感を増し、もはや実用レベルに到達したように思います。しかし、初版以来ずっと気に入らなかったのがMPEG-4系動画(*.3gp/*.mp4)再生の互換性です。Eclair以前では再生できていたのに、Froyoで再生できなくなったファイルがあまりにも多いのです。原因がずっとわからなかったのですが、従来のOpenCOREに代わってFroyoからはStageFrightというCODECプラットフォームが採用され、その互換性が現時点で今ひとつであるため、と最近知りました。
と、いうわけで、以下の手順でStageFrightを無効化すれば、Froyoにも含まれているOpenCOREが再生に利用されるようになり、Eclairまで再生できていたファイルも再び再生可能となります。


/system/build.prop をROMのイメージ(ZIPファイル)から取り出し、テキストエディタWindows等で編集する場合は改行を弄らないかLF改行で保存できるもの)で開いてから、以下の4行の先頭に # を付けてコメントアウトします。

media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true

その上で保存して端末側の/system/build.prop を上書き(Windows上ならAndroid Commanderが手軽で便利でしょう)し、再起動してやればOKです。

ちなみにWMVファイルについては、FroyoはEclair以前に比べて再生互換性が明らかに向上しています。従来は最初のフレームだけが映って再生が進まなかったファイルも、今回は大半がOKでした。これは上記の手順を適用しても変わりません。