We’re keeping track of the sample position of audio being processed, and detecting jumps or loops by comparing the current timeInSamples with the previous timeInSamples plus the previous buffer size. The assumption is that during normal processing, the previous position plus the previous buffer size will always equal the new sample position.
However, in Cubase 10.5, what I’m seeing is something different. For example, the first time I check the timing info, I see timeInSamples == 0, and the buffer size is 512. But the next time processBlock() is called, timeInSamples is not 512, but some other value (seemingly random, but under 512). This causes my code to assume that a jump or loop has occurred, so it stops what it was doing and resets things internally, which it is not supposed to do until the transport stops or jumps or loops.
Anyone else seeing this? Should I contact Steinberg/Yamaha, rather than asking here?