I would like to know how can I convert a timeval presentationTime value in function afterGettingFrame(..., struct timeval presentationTime) to .NET DateTime ticks (number of ticks passed since 0001-01-01)?
I don't know, but this seems completely unrelated to your next question:
In my afterGettingFrame(frameSize, presentationTime) function I made a log call LOG("Video frame received: %d bytes (%d:%d)\n"), frameSize, presentationTime.tv_sec, presentationTime.tv_usec); And the logs is 2008-12-11 14:30:09 Video frame received: 14796 bytes (8970:592115) 2008-12-11 14:30:09 Video frame received: 1050 bytes (8971:592259) 2008-12-11 14:30:10 Video frame received: 1031 bytes (8972:592403) 2008-12-11 14:30:12 Video frame received: 1074 bytes (9745106:531920) <------ gap 2008-12-11 14:30:12 Video frame received: 1045 bytes (9745107:532064) 2008-12-11 14:30:13 Video frame received: 1040 bytes (9745108:532197) 2008-12-11 14:30:14 Video frame received: 1121 bytes (9745109:532341) 2008-12-11 14:30:15 Video frame received: 1121 bytes (9745110:532485) 2008-12-11 14:30:17 Video frame received: 14666 bytes (9745111:532618) 2008-12-11 14:30:17 Video frame received: 1132 bytes (9745112:532762) 2008-12-11 14:30:18 Video frame received: 1103 bytes (9745113:532895) 2008-12-11 14:30:19 Video frame received: 1100 bytes (9745114:533039) It's not clear for me why there is a gap between 3rd and 4th record?
It's because the first few presentation times - before RTCP synchronization occurs - are just 'guesses' made by the receiving code (based on the receiver's 'wall clock' and the RTP timestamp). However, once RTCP synchronization occurs, all subsequent presentation times will be accurate.
This means is that a receiver should be prepared for the fact that the first few presentation times (until RTCP synchronization starts) will not be accurate. The code, however, can check this by calling "RTPSource:: hasBeenSynchronizedUsingRTCP()". If this returns False, then the presentation times are not accurate, and should be treated with 'a grain of salt'. However, once the call to returns True, then the presentation times (from then on) will be accurate.
-- Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel