<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="ProgId" content="Word.Document"><meta name="Generator" content="Microsoft Word 9"><meta name="Originator" content="Microsoft Word 9"><link rel="File-List" href="file:///C:/WINDOWS/TEMP/msoclip1/01/clip_filelist.xml"><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:HyphenationZone>21</w:HyphenationZone>
<w:DoNotOptimizeForBrowser/>
</w:WordDocument>
</xml><![endif]--><style>
<!--
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman";
        mso-fareast-font-family:"Times New Roman";}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;
        mso-header-margin:35.4pt;
        mso-footer-margin:35.4pt;
        mso-paper-source:0;}
div.Section1
        {page:Section1;}
-->
</style>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Hello everybody, <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">I am
developing an h264 framer with a parser by following the same approach than
Mike Gilormas.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">I parse <span style=""> </span>normally a NAL_Start_Sequence and a Nal_Unit,
I have never seen my parser recalled thereafter (it’s bugging before).<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" color="#000000" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB">The problem
is localised in FUAFragmenter::doGetNextFrame, <span style="color: green;"></span></span></font><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--><font style=""> </font><!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">After a
while, (around 100 packet RTP sent),<span style="">
</span>there is a reading problem of the InputBuffer,<span style=""> </span>at this level:<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New";" lang="EN-GB">memmove(fTo, &fInputBuffer[fCurDataOffset-2],
numBytesToSend);</span></font><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">because:<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">fCurDataOffset=
70268<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">numBytesToSend=
3452746591<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">The problem
comes from the fact that fNumValidDataBytes (if i well understand) is absurdly
enormous and is never reinitialized (the first frameSize is worth 3452816845,
after it is worth 11). As you can note below, fNumValidDataByte increase much
more than fCurDataOffset.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">I don’t
know how to solve this, I guess fNumValidDataBytes has to be correctly
reinitialized, but i don’t know how. Indeed the first frameSize in
H264FUAFragmenter is </span></font><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">3452816845
worth while the acquiredFrameSize from H264FUAFragmenter is 0!</span></font><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Otherwise,
I implemented framedFilter for my H264VideoStreamFramer, may be is it problematic
and the reason of that mess?<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Here is my
fileLog:<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">On the
beginning (first packet)<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">in
H264VideoStreamFramer::continueReadProcessing()<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">acquiredFrameSize = 0<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">need to do somemore reading here to get
a frame!!!!<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">H264VideoStreamParser::getParseState() <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">lets check parse state: 0<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">H264VideoStreamParser::getParseState() <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">FramedSource::afterGetting(source)<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">in
H264FUAFragmenter::afterGettingFrame(void* clientData, unsigned
frameSize,unsigned numTruncatedBytes,struct timeval presentationTime,unsigned
durationInMicroseconds) <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">in
H264FUAFragmenter::afterGettingFrame1(void* clientData, unsigned
frameSize,unsigned numTruncatedBytes,struct timeval presentationTime,unsigned
durationInMicroseconds) <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">frameSize= 3452816845//weird if we
consider that acquiredFrameSize=0<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">fNumValidDataBytes =1<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">fNumValidDataBytes += frameSize
=3452816846<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">in H264FUAFragmenter::doGetNextFrame() <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB">fNumValidDataBytes= 3452816846<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="font-size: 10pt; font-family: "Courier New"; color: rgb(163, 21, 21);" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">later i
have this:<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">in
H264VideoStreamFramer::continueReadProcessing()<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">acquiredFrameSize
= 11<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">continueReadProcessing,
acquiredFrameSize: 11<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">FramedSource::afterGetting(source)<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">in
H264FUAFragmenter::afterGettingFrame(void* clientData, unsigned
frameSize,unsigned numTruncatedBytes,struct timeval presentationTime,unsigned
durationInMicroseconds) <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">in
H264FUAFragmenter::afterGettingFrame1(void* clientData, unsigned
frameSize,unsigned numTruncatedBytes,struct timeval presentationTime,unsigned
durationInMicroseconds) <o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">frameSize=
11<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">fNumValidDataBytes
=3452816846<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">fNumValidDataBytes
+= frameSize =3452816857<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">in
H264FUAFragmenter::doGetNextFrame()<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Could you
provide some piece of advice?<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Best
Regards, and by the way thank you for the work done.<o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB"><!--[if !supportEmptyParas]--> <!--[endif]--><o:p></o:p></span></font></p>
<p class="MsoNormal"><font style="font-size: 10pt;" face="Courier New" size="2"><span style="" lang="EN-GB">Patrick
Vigle.<o:p></o:p></span></font></p>
                                           <br /><hr />Hotmail débarque sur votre téléphone ! <a href='http://www.messengersurvotremobile.com/?d=Hotmail' target='_new'> Paramétrez Hotmail sur votre téléphone! Gratuit !</a></body>
</html>