Buffer delay setting behaviour in Jamulus #2109
-
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 25 replies
-
You can't use another block size than 128 if you want to have a good result. |
Beta Was this translation helpful? Give feedback.
-
Looking at the Studio 24c picture in the opening comment:
BTW, Jamulus alllowing a 48 block size looks like a bug. |
Beta Was this translation helpful? Give feedback.
-
I think these below show the case in point that whether you set the buffer size to 64 or less, as long as the jitter settings are the same, the latency will NOT be improved with a lower buffer size. First: local server, ASIO driver, 48 samples (we see Jamulus buffer options disabled as the driver is taking over buffer size management it seems). Second: local server, ASIO driver, 64 samples (we see Jamulus buffer options enabled). Same server, same jitter sizes, same instrument, same driver, same delay results, which confirms your point (@pljones ) about anything less than 64 samples not improving latency. |
Beta Was this translation helpful? Give feedback.
-
Jamlus calls https://github.com/jamulussoftware/jamulus/blob/r3_8_1/windows/sound.cpp#L312
If the audio buffer doesn't fit neatly into the network buffer size (which is usually 128 or in the "small network buffers" case, 64), Jamulus adds an extra step of buffering to compensate. https://github.com/jamulussoftware/jamulus/blob/r3_8_1/src/client.cpp#L796-L821 |
Beta Was this translation helpful? Give feedback.
Jamlus calls
ASIOGetBufferSize
to figure out if the driver supports 64, 128, or 256. If the driver says it supports one or more, then those choices are enabled in the UI. Otherwise, they are disabled, and only the supported size is shown.https://github.com/jamulussoftware/jamulus/blob/r3_8_1/windows/sound.cpp#L312
If the audio buffer doesn't fit neatly into the network buffer size (which is usua…