CELTライブラリをビルドする その4
modeが0ということは
mode = celt_mode_create(44100, 256, &error)
という一文が失敗しているようです。失敗の原因はerrorに設定されて戻されるようなのでこの値を表示させてみると"-1"という値でした。
libceltのソースコードを眺めるとerrorという変数にはcelt.hに定義されているCELT_xxxxxという値がエラーコードとして設定されるようです。"-1"という値はCELT_BAD_ARGという名前で定義されていました。つまり、不正な引数が渡されているということのようですね。
READMEを読むと第二引数で渡している値256は開発中のテストでも利用されている代表的な値だと書いてあるので引数としては問題なさそうです。となると怪しい引数は第一引数の"44100"という値だということになりますがCDのサンプリングレートである44.1KHzが怪しいとは思えなかったのですが…
./configure --help でオプションをよく見ると、
--enable-custom-modes Enable non-Opus modes, like 44.1 kHz and powers of two
というのがありましたヽ(´▽`)/
結局以下のオプションを付けて、configure し直しました。
--enable-custom-modes --disable-oggtest
上記のように指定してもtoolsの下でmakeしようとするので、Makefileを手で修正しました。
SUBDIRS = libcelt tests tools
↓
SUBDIRS = libcelt tests
makeして出来上がったlibcelt0.a と 2つのヘッダーファイル(celt.h/celt_types.h)を前回と同様にコピーしました。
これでサンプリングレートに44.1KHzも指定できるようになったような気がします。
(注)
前回必要と書いた celt_header.h は不要でした…
« Ver.1.5.6-RC1 リリース | トップページ | Ver.1.5.6 リリース »
コメント