Swapped ugly while loop with a mutex for offset sync

Now it’s correctly coded, but it takes about 10ms more to start each
channel. Yay!