PDA

Просмотр полной версии : FLAC и AY8910



ZXMAK
28.11.2024, 22:33
Пытаюсь сохранить результат эмуляции AY8910 во FLAC формат для экономии места на диске, но столкнулся с такой проблемой, что libFLAC выдает ошибку инициализации файла 11 (FLAC__STREAM_ENCODER_INIT_STATUS_NOT_STREAMABLE), когда sampleRate=221725.

221725 - это 1773800 / 8

Причем если задаешь в два раза большую частоту sampleRate=443450, то flac пишется нормально.

C чем это может быть связано?

update: какжется нашел в исходниках причину:


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;
}


Получается, если sampleRate >= 65536, то sampleRate должно делиться на 10 без остатка. Правда не понятно - откуда такое требование и почему?

CityAceE
28.11.2024, 23:35
А я уж подумал, что речь пойдёт про проигрывание FLAC с помощью AY :)

Lethargeek
28.11.2024, 23:57
А я уж подумал, что речь пойдёт про проигрывание FLAC с помощью AY
а это потому что ZXMAK снова открывает тему не там, где следует

в то время как модеры и админы, когда нужно, совсем мышей не ловят ;)

это надо перенести в "Эмуляторы", так же как и соседнюю "Баг формата SZX"