You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are using JACK on Windows for various cases and we have some questions regarding clock sync in JACK. We are curious to understand how JACK throttle buffer processing in relation to actual wall clock time.
When binding to some audio card (using portaudio), does JACK process buffers in sync with the speed of the crystal on the sound card?
When using the dummy driver, i.e. not connected to a sound card at all, does JACK process buffers using the common/JackTimedDriver + windows/JackWinTime.c code? We suspect that the QueryPerformanceCounter is the basis for the throttling of buffers in JACK. Is this correct?
We see some potential problems here for our use cases. If question #2 above is correct, would it be possible to make code changes so that one could config opt-in to syncing JACK buffers instead on the windows system clock? The system clock could then be synced to ntp, ptp etc via third party software. QueryPerformanceCounter is not calibrated to system time and is it's own monotonic clock as we understand it.
On Linux JACK dummy driver seems to sync on system clock, so the behavior is also different between windows and linux.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hello!
We are using JACK on Windows for various cases and we have some questions regarding clock sync in JACK. We are curious to understand how JACK throttle buffer processing in relation to actual wall clock time.
When binding to some audio card (using portaudio), does JACK process buffers in sync with the speed of the crystal on the sound card?
When using the dummy driver, i.e. not connected to a sound card at all, does JACK process buffers using the common/JackTimedDriver + windows/JackWinTime.c code? We suspect that the QueryPerformanceCounter is the basis for the throttling of buffers in JACK. Is this correct?
We see some potential problems here for our use cases. If question #2 above is correct, would it be possible to make code changes so that one could config opt-in to syncing JACK buffers instead on the windows system clock? The system clock could then be synced to ntp, ptp etc via third party software. QueryPerformanceCounter is not calibrated to system time and is it's own monotonic clock as we understand it.
On Linux JACK dummy driver seems to sync on system clock, so the behavior is also different between windows and linux.
Any thoughts and comments?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions