On closer inspection, this seems to be a bug in vamp, rather than sonic-visualiser.

E.g. consider the following example program:


```C++
#include "vamp-hostsdk/RealTime.h"
#include <sys/time.h>
#include <iostream>

int main() {
  Vamp::RealTime t1 = Vamp::RealTime(0, 500000000);
  struct timeval tv;
  tv.tv_sec = 0; tv.tv_usec = 500000;
  Vamp::RealTime t2 = Vamp::RealTime::fromTimeval(tv);
  std::cout << "RealTime(0, ONE_BILLION/2) = " << t1 << std::endl;
std::cout << "RealTime::fromTimeval(0, ONE_MILLION/2) = " << t2 << std::endl;

  if (t1 != t2)
          return 1;

  return 0;
}
```

And run with:
```sh
g++ test.cpp   -o test $(pkg-config --cflags --libs vamp-hostsdk)
./test || echo oops
```

On amd64, this will output
```
RealTime(0, ONE_BILLION/2) =  0.500000000R
RealTime::fromTimeval(0, ONE_MILLION/2) =  0.500000000R
```

whereas on armhf, you get
```
RealTime(0, ONE_BILLION/2) =  0.500000000R
RealTime::fromTimeval(0, ONE_MILLION/2) =  0.000000000R
oops
```

so obviously RealTime::fromTimeval() is broken on armhf.

gdmasr
IOhannes

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to