arecord改造
録音の続きの続き。環境変数CFLAGSの変更だけでは2GBの壁は残っていた。やはりソース改造か。
で、ソースコードを眺めたが、何箇所も条件文があって、どう手を入れればいいのかよくわからない。
while (rest > 0 && recycle_capture_file == 0) {
このあたり(2737行め付近)があやしいが、ここを書き換えた場合の副作用がようわからん。
で方向転換して、制限なしではなく制限緩和に。aplay.cの154行め付近。
/* FIXME: can WAV handle exactly 2GB or less than it? */ /* { begin_wave, end_wave, N_("WAVE"), 2147483648LL },*/ { begin_wave, end_wave, N_("WAVE"), 8589934592LL },
LLの意味がようわからんが、数字部分を4倍にしてコンパイル。
実験してみたら2GBを超える録音ができていた。これにて一件落着、たぶん。