> In DummySink::afterGettingFrame i just fwrite buffer to file, nothing more.
Alternatively, you could have just used the existing “FileSink” class. > Didnt want to cross post but this is a debug info from afterGettingFrame - > microseconds delay between each calls of this function: > fDurationInMicroseconds 23219 > Time diff 25142 OK, the problem here is that delaying by “fDurationInMicroseconds” was wrong, because it didn’t account for the overhead of (e.g.) writing to your file. You should be able to fix this by replacing the final call to “scheduleDelayTask()” in your “ModifiedADTSFileSource” (again, don’t modify the original code ‘in place’) with something like: struct timeval timeNow; gettimeofday(&timeNow, NULL); int uSecondsToDelay = (fPresentationTime.tv_sec - timeNow.tv_sec)*1000000 + (fPresentationTime.tv_usec - timeNow.tv_usec); unsigned timeToDelay = uSecondsToDelay < 0 ? 0 : (unsigned)uSecondsToDelay; nextTask() = envir().taskScheduler().scheduleDelayedTask(timeToDelay, (TaskFunc*)FramedSource::afterGetting, this); 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