Support Request #16566
closedReceiving timestamp in microseconds instead of nanoseconds
Description
Supportanfrage
Gibt es eine Möglichkeit die neuste Version der IFHD lib 0.8.0 auch mit Libs für VisualStudio 2017 zu bekommen?
In der Version 0.7.2 gibt es nämlich scheinbar einen Bug, dass die Zeit im Mediasample in Mikrosekunden umgerechnet wird und dadurch die Informationen der letzten 3 Stellen verloren gehen (auch wenn ich als Zeitformat adtf3ns auswähle):
std::shared_ptr<Writer> writer(new Writer(filename, std::chrono::nanoseconds(0) , adtf3::StandardTypeSerializers(), Writer::adtf3ns));
DefaultSample sample;
sample.setTimeStamp(std::chrono::nanoseconds(iTimestampNanoSec));
...
//write the sample to the file
writer->write(stream_id, std::chrono::nanoseconds(iTimestampNanoSec), sample);
Wenn iTimestampNanoSec den Wert 472001001 hat, enthält die Sample-Zeit fälschlicherweise nur 472001000.
Ob das Problem noch in der Version 0.8.0 auftritt, konnte ich nicht verifizieren, das wir im Projekt bei uns nur VisualStudio 2017 nutzen.
Lösung
Das ist kein Bug, sondern ihr müsst beim Erstellen des Streams einfach den Serialisierer wechseln, also statt dem SampleCopySerializer
müsst ihr den SampleCopySerializerNs
nehmen.
Files