Le 11/06/13 19:15, Kelly, Dan a écrit :

I’m using 1.47, so I would expect this issue to apply.  However, I don’t think this is what I am experiencing. 

 

Right now I am testing out a fix which initially appears to work but I have to fully verify it.

 

void my_class::calculate_packet_statistics ( const struct pcap_pkthdr *header ) {

       frame_interval_.intervalTimeStamp_ = system_clock::from_time_t( static_cast<time_t>( header->ts.tv_sec ) );

 

       // Cast to a duration using the system_clock’s tick period.

       system_clock::duration us_duration = duration_cast< system_clock::duration >( microseconds( header->ts.tv_usec ) );

       frame_interval_.intervalTimeStamp_ += us_duration;

       …

}

 

I would have thought my previous implementation would have done this cast implicitly, but that doesn’t appear to be the case.  I’ll let you know if this works.

 


What about something like

       frame_interval_.intervalTimeStamp_ =
           system_clock::from_time_t(
static_cast<time_t>( header->ts.tv_sec ) ) +
           nanoseconds
( header->ts.tv_usec);


Best,
Vicente