> 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

Reply via email to