Mercurial > hg > vamp-plugin-sdk
changeset 386:e0697515163f
Fine adjustment to timestamp to avoid rounding error
author | Chris Cannam |
---|---|
date | Wed, 14 Jan 2015 16:58:53 +0000 |
parents | 632d90c185ec |
children | 3cd80757becf 4ec736a36546 |
files | src/vamp-hostsdk/PluginInputDomainAdapter.cpp |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/src/vamp-hostsdk/PluginInputDomainAdapter.cpp Thu Oct 16 10:50:20 2014 +0100 +++ b/src/vamp-hostsdk/PluginInputDomainAdapter.cpp Wed Jan 14 16:58:53 2015 +0000 @@ -508,7 +508,14 @@ RealTime timestamp) { if (m_method == ShiftTimestamp) { + // we may need to add one nsec if timestamp + + // getTimestampAdjustment() rounds down timestamp = timestamp + getTimestampAdjustment(); + RealTime nsec(0, 1); + if (RealTime::realTime2Frame(timestamp, m_inputSampleRate) < + RealTime::realTime2Frame(timestamp + nsec, m_inputSampleRate)) { + timestamp = timestamp + nsec; + } } for (int c = 0; c < m_channels; ++c) {