<!doctype html public "-//W3C//DTD W3 HTML//EN">
<html><head><style type="text/css"><!--
blockquote, dl, ul, ol, li { padding-top: 0 ; padding-bottom: 0 }
 --></style><title>Re: [Live-devel] Program flow
question</title></head><body>
<blockquote type="cite" cite><font face="Arial" size="-1">I imagine it
is because there is no delay function in my code. At the moment the
'fTimePerFrame' is set in the constructor for ElphelJPEGDeviceSource
but not used anywhere.</font></blockquote>
<div><br></div>
<div>Yes, because the original code read from a live source (a
camera), it was not necessary to set the
&quot;fDurationInMicroseconds&quot; variable in your
&quot;doGetNextFrame()&quot; function.&nbsp; (By not setting this
variable, it remains at its default value of 0.)&nbsp; However,
because you are now reading from a pre-recorded file - rather than
from a live source - you must now set that variable.</div>
<div><br></div>
<div>You should add the following line to your
&quot;ElphelJPEGDeviceSource::deliverFrameToClient()&quot; function,
sometime before the
&quot;envir().taskScheduler().scheduleDelayedTask()&quot; call:</div>
<div><br></div>
<div><x-tab>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</x-tab>fDurationInMicroseconds = fTimePerFrame;</div>
<div><br></div>
<blockquote type="cite" cite><font face="Arial" size="-1">Within the
doEventLoop() what is telling the process to only call
doGetNextFrame() regularly (5 times per second say) rather than
continuously?</font></blockquote>
<div><br></div>
<div>The &quot;fDurationInMicroseconds&quot; variable (which is
ultimately used by &quot;MultiFramedRTPSink&quot;, when rescheduling
the next outgoing RTP packet after sending one).</div>
<x-sigsep><pre>-- 
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>