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 <lucard...@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



_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to