diff --git a/Vocaluxe/Lib/Sound/CPortAudioPlay.cs b/Vocaluxe/Lib/Sound/CPortAudioPlay.cs index ebf80f66..4fc3bbf0 100644 --- a/Vocaluxe/Lib/Sound/CPortAudioPlay.cs +++ b/Vocaluxe/Lib/Sound/CPortAudioPlay.cs @@ -474,7 +474,7 @@ namespace Vocaluxe.Lib.Sound { lock (_LockData) { - return _NoMoreData && _data.BytesNotRead == 0L; + return _NoMoreData && _data.BytesNotRead == 0L && _SyncTimer.Time >= _Duration; } } } @@ -877,7 +877,8 @@ namespace Vocaluxe.Lib.Sound float latency = buf.Length / _BytesPerSecond + CConfig.AudioLatency/1000f; float time = _TimeCode - _data.BytesNotRead / _BytesPerSecond - latency; - _CurrentTime = _SyncTimer.Update(time); + if (!_NoMoreData) + _CurrentTime = _SyncTimer.Update(time); } try