With snapcast, the timed_stream never waits. As TimedStream's begin() has already ran once setStartMs() is called, so TimedStream::calculateByteLimits() isn't called again and thus start_bytes is 0 and the stream always starts immediately.
I don't see a reason why you would want to setStartSec or setStartMs without actually applying that. But don't understand the consequences for other projects.
With snapcast, the timed_stream never waits. As TimedStream's begin() has already ran once setStartMs() is called, so TimedStream::calculateByteLimits() isn't called again and thus start_bytes is 0 and the stream always starts immediately.
I don't see a reason why you would want to setStartSec or setStartMs without actually applying that. But don't understand the consequences for other projects.