Sorry it was a fast and bad answer.
There's a math that puts together: delay * samplerate / blocksize. :
int nbufs = sys_schedadvance * as.a_srate / (blksize *1000000.);
Here "nbuf" gets a negative value (due to integer overflow) for delay 80 blocksize 64. Of course its noticeable because it sounds horrible or "no sound" iirc.
It works fine if:
int nbufs = (double)sys_schedadvance / 1000000. * as.a_srate / blksize;
I can't remember exactly but a delay of 80 is 80000 in sys_schedadvance iirc.
--
Mensaje telepatico asistido por maquinas.
On 11/16/2021 4:46 AM, Peter P. wrote:
- Lucas Cordiviola lucarda27@hotmail.com [2021-11-16 00:04]:
On 11/15/2021 6:00 AM, Peter P. wrote:
Does "not accurately" mean that the values are somewhat off, or that the set values are not respected at all?
There's an undefined "integer overflow" in the variable that holds the processed value in the calculations of "delay" with "block-size"
Thank you! I am still trying to understand how this becomes noticable to the end user (see last question).
Pd-list@lists.iem.at mailing list UNSUBSCRIBE and account-management -> https://lists.puredata.info/listinfo/pd-list