Mercurial > hg > vamp-plugin-sdk
comparison src/vamp-hostsdk/PluginInputDomainAdapter.cpp @ 386:e0697515163f
Fine adjustment to timestamp to avoid rounding error
| author | Chris Cannam |
|---|---|
| date | Wed, 14 Jan 2015 16:58:53 +0000 |
| parents | 364e4653fe20 |
| children | 35fa4733bc5d |
comparison
equal
deleted
inserted
replaced
| 385:632d90c185ec | 386:e0697515163f |
|---|---|
| 506 Plugin::FeatureSet | 506 Plugin::FeatureSet |
| 507 PluginInputDomainAdapter::Impl::processShiftingTimestamp(const float *const *inputBuffers, | 507 PluginInputDomainAdapter::Impl::processShiftingTimestamp(const float *const *inputBuffers, |
| 508 RealTime timestamp) | 508 RealTime timestamp) |
| 509 { | 509 { |
| 510 if (m_method == ShiftTimestamp) { | 510 if (m_method == ShiftTimestamp) { |
| 511 // we may need to add one nsec if timestamp + | |
| 512 // getTimestampAdjustment() rounds down | |
| 511 timestamp = timestamp + getTimestampAdjustment(); | 513 timestamp = timestamp + getTimestampAdjustment(); |
| 514 RealTime nsec(0, 1); | |
| 515 if (RealTime::realTime2Frame(timestamp, m_inputSampleRate) < | |
| 516 RealTime::realTime2Frame(timestamp + nsec, m_inputSampleRate)) { | |
| 517 timestamp = timestamp + nsec; | |
| 518 } | |
| 512 } | 519 } |
| 513 | 520 |
| 514 for (int c = 0; c < m_channels; ++c) { | 521 for (int c = 0; c < m_channels; ++c) { |
| 515 | 522 |
| 516 m_window->cut(inputBuffers[c], m_ri); | 523 m_window->cut(inputBuffers[c], m_ri); |
