<!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]
H264VideoStreamFramer</title></head><body>
<blockquote type="cite" cite><font size="-1"> fFrameSize =
g_video_enc_rbuf->read(fTo,fMaxSize,0); //g_video_enc_rbuf is a
ring buffer which contains the encoded video</font></blockquote>
<div><br></div>
<div>This will work only if the 'read()' function returns only a
complete NAL unit - nothing more and nothing less.</div>
<div><br></div>
<div>Also, you should really be doing the read asynchronously - e.g.,
using TaskScheduler::turnOnBackgroundReadProcessing()".
Otherwise your application won't be able to do any work while your
'read()' function is blocked waiting for data.</div>
<div><br></div>
<blockquote type="cite" cite>I have problem understanding and writing
the "currentNALUnitEndsAccessUnit()". Can someone provide
more information on this?</blockquote>
<div><br></div>
<div>An 'access unit' is a complete video frame (which is typically
made up from several consecutive NAL units). Your
"currentNALUnitEndsAccessUnit()" function returns True iff
the NAL unit that you're currently delivering is the last NAL unit in
an access unit (video frame).</div>
<x-sigsep><pre>--
</pre></x-sigsep>
<div><br>
Ross Finlayson<br>
Live Networks, Inc.<br>
http://www.live555.com/</div>
</body>
</html>