<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=koi8-r"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><base href="x-msg://2245/"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Helvetica;
        panose-1:2 11 6 4 2 2 2 2 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"Стандартный HTML Знак";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";}
span.HTML
        {mso-style-name:"Стандартный HTML Знак";
        mso-style-priority:99;
        mso-style-link:"Стандартный HTML";
        font-family:Consolas;}
span.apple-style-span
        {mso-style-name:apple-style-span;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.shorttext
        {mso-style-name:short_text;}
span.hps
        {mso-style-name:hps;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:2.0cm 42.5pt 2.0cm 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=RU link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Hi!<o:p></o:p></span></p><p class=MsoNormal><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Thanks</span></span><span class=shorttext><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span></span><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>for the answer.<o:p></o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>“</span></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>*any* of these packets gets lost,”<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Some questions:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Does it mean that RPT protocol is  un</span><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>reliable?<o:p></o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>So, if  </span></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>'slices' (NAL units) would be delivered </span><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>through </span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>RPT,  can they be lost too? <o:p></o:p></span></p><p class=MsoNormal><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Why the </span></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>'slices' </span><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>way is more reliable? <o:p></o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Is a </span></span><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>unreliable</span></span><span class=shorttext><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span></span><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>transmission normal (reality)?<o:p></o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>In what object I must realize </span></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>'slices'</span><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span></span><span class=hps><span lang=EN style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>technology?</span></span><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></span></p><p class=MsoNormal><span class=hps><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Nick<o:p></o:p></span></span></p><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com] <b>On Behalf Of </b>Ross Finlayson<br><b>Sent:</b> Tuesday, October 15, 2013 8:59 AM<br><b>To:</b> LIVE555 Streaming Media - development & use<br><b>Subject:</b> Re: [Live-devel] DeviceSource Translate large frames (fNumTruncatedBytes)<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>I try translate H264 video stream by Live555. The hardware video source is the video camera (USB).</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Class for Live555 video source derived from DeviceSource.</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>The problem  in function DeviceSource::deliverFrame :</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>When the newFrameSize > </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137643c61539e313e3a92085efc08"><span lang=EN-US style='color:purple'>fMaxSize</span></a> </span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>i set </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad49493202c89afd93564cc6263da"><span lang=EN-US style='color:purple'>fNumTruncatedBytes</span></a></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>, but only result is the message:</span><o:p></o:p></pre><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><o:p></o:p></pre><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>“The input frame data was too large for our buffer size ….. bytes of trailing data was dropped!”</span><o:p></o:p></pre><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>This mean (as I understand) that the truncated part of frame is dropped.</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Is this mean that the truncated frame is dropped?</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>Yes.  If the input frame is larger than the buffer space that the downstream object provides, then you will *not* be able to deliver all of the data.  The remaining data will be truncated (i.e., dropped, lost).<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>In message we have recommendation:</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>“Correct this by increasing \"OutPacketBuffer::maxSize\" to at least”</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div><div><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>Is  any way to sending large frames (H264 key frames , or other),  except the HUGE fMaxSize?</span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></p></div></div></blockquote><div><p class=MsoNormal><o:p> </o:p></p></div></div><p class=MsoNormal>No.  The downstream object's buffer must be large enough to receive the frame.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>However, this shows why very large H.264 key frames are a bad idea.  Even if you have a large enough buffer to stream these frames, each one will be packed into many outgoing RTP packets.  If *any* of these packets gets lost, the receiver will be unable to reconstruct the frame.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Instead, it is much better if you can break up each 'key frame' into several 'slices' (each of which would be its own H.264 NAL unit).  Each of these slices (NAL units) would be delivered separately.<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><p class=MsoNormal><span class=apple-style-span><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'>Ross Finlayson</span></span><span style='font-size:13.5pt;font-family:"Helvetica","sans-serif";color:black'><br><span class=apple-style-span>Live Networks, Inc.</span><br><span class=apple-style-span><a href="http://www.live555.com/">http://www.live555.com/</a></span></span> <o:p></o:p></p></div><p class=MsoNormal><br><br><br>__________ Information from ESET NOD32 Antivirus, version of virus signature database 8913 (20131014) __________<br><br>The message was checked by ESET NOD32 Antivirus.<br><br>????????? ??????????? ????? - - O?<br>????????? ??????????? ????? - - O?<br>???????? ??? ????? 00026.txt - - O?<br><br><a href="http://www.esetnod32.ru/.ml">http://www.esetnod32.ru/.ml</a><o:p></o:p></p></div></body></html>