« Ver.1.5.6-RC1 リリース | トップページ | Ver.1.5.6 リリース »

2016年8月 2日 (火)

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 リリース »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: CELTライブラリをビルドする その4:

« Ver.1.5.6-RC1 リリース | トップページ | Ver.1.5.6 リリース »