<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7654.12">
<TITLE>Sending lots of NAL's problem</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Hi All,</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I am using the LIVE555 to stream h.264 bitstream </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">My source is making NALS with limited size so each frame may contain more than 1 NAL.( I recived all of them together from the HW).</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">After I received them I am creating small descriptors describing each NAL (pointer, size) and send ALL of them to a socket that was assigned to a&nbsp; turnOnBackgroundReadHandling </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">This should wake up the the scheduler to call the deliverFrame. </FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">In the mysource::deliverFrame I am reading only one descriptor each time&nbsp; from the socket and passing it forward up to the discreteFramer.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">In the discreteFramer I check if this is the last NAL in the frame, and if NOT, I set the fDurationInMicroseconds to 0 so the doGetNextFrame will be called immediately again (there are more descriptors in the socket) so the fIsCurrentlyAwaitingData will be set to TRUE.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">I see that the schedualer is launching my deliverFrame about&nbsp; every 1-2msec, when I got multiple descriptors in the socket.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">The problem is that when I got lost of descriptors (~80)&nbsp; this can take up to 160 msec which is way beyond my frame size which is 40 msec (PAL)</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">1. Am I doing this wrong?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">2. Is there are a way to make the schedualer launch the the deliverFrame faster?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">3. Is the schedualer launching the task again when data is left at the socket?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">4. what is the tick resolution of the schedualer?</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Thanks.</FONT></SPAN></P>

<P DIR=LTR><SPAN LANG="en-us"><FONT SIZE=2 FACE="Arial">Amit Yedidia</FONT></SPAN></P>


<DIV><STRONG><FONT color=#000080 size=2></FONT></STRONG>&nbsp;</DIV>
<DIV align=left><STRONG><FONT face=Arial color=#000080 size=2>The information in 
this e-mail transmission contains proprietary and business <BR>sensitive 
information.&nbsp; Unauthorized interception of this e-mail may constitute <BR>a 
violation of law. If you are not the intended recipient, you are hereby 
<BR>notified that any review, dissemination, distribution or duplication of this 
<BR>communication is strictly prohibited. You are also asked to contact the 
sender <BR>by reply email and immediately destroy all copies of the original 
message.<BR></FONT></STRONG></DIV>
</BODY>
</HTML>