Skip duration does not take span len into account. It might return samples for a different sample rate and channel count while its parent/wrapper still thinks its in the same span.
Solution:
It should probably pad the current frame with silence if the sample rate and/or channel count do not match after skip.