Пытаюсь сохранить результат эмуляции AY8910 во FLAC формат для экономии места на диске, но столкнулся с такой проблемой, что libFLAC выдает ошибку инициализации файла 11 (FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE), когда sampleRate=221725.
221725 - это 1773800 / 8
Причем если задаешь в два раза большую частоту sampleRate=443450, то flac пишется нормально.
C чем это может быть связано?
update: какжется нашел в исходниках причину:
Получается, если sampleRate >= 65536, то sampleRate должно делиться на 10 без остатка. Правда не понятно - откуда такое требование и почему?Код:FLAC_API FLAC__bool FLAC__format_sample_rate_is_subset(uint32_t sample_rate)
{
if( // sample rate is not subset if
!FLAC__format_sample_rate_is_valid(sample_rate) || // sample rate is invalid or
sample_rate >= ((1u << 16) * 10) || // sample rate is larger then or equal to 655360 or
(sample_rate >= (1u << 16) && sample_rate % 10 != 0) //sample rate is >= 65536 and not divisible by 10
) {
return false;
}
else
return true;
}

