<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)"><style><!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
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.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
span.HTML
{mso-style-name:"Стандартный HTML Знак";
mso-style-priority:99;
mso-style-link:"Стандартный HTML";
font-family:"Courier New";
mso-fareast-language:RU;}
span.keywordflow
{mso-style-name:keywordflow;}
span.keyword
{mso-style-name:keyword;}
span.keywordtype
{mso-style-name:keywordtype;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";
mso-fareast-language:EN-US;}
@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>Hi!<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I try translate H264 video stream by Live555. The hardware video source is the video camera (USB).<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Class for Live555 video source derived from DeviceSource.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>The problem in function DeviceSource::deliverFrame :<o:p></o:p></span></p><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>fMaxSize</span></a></span><span style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> <span lang=EN-US>i set </span></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>fNumTruncatedBytes</span></a></span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'>, but only result is the message:<o:p></o:p></span></pre><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p> </o:p></span></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!”<o:p></o:p></span></pre><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>This mean (as I understand) that the truncated part of frame is dropped.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Is this mean that the truncated frame is dropped?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>So, all large frames (>fMaxSize) really will be skiped. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I try looped the afterGetting() :<o:p></o:p></span></p><pre><span lang=EN-US><o:p> </o:p></span></pre><pre><span lang=EN-US>u_int8_t* newFrameDataStart = (u_int8_t*)ourFrame;<a name=l00126></a><o:p></o:p></span></pre><pre><span lang=EN-US>do<o:p></o:p></span></pre><pre><span lang=EN-US>{ <o:p></o:p></span></pre><pre><span class=keywordtype><span lang=EN-US> unsigned</span></span><span lang=EN-US> newFrameSize = hugeFrameSize;<a name=l00127></a> <o:p></o:p></span></pre><pre><a name=l00128></a><span lang=EN-US><o:p> </o:p></span></pre><pre><a name=l00129></a><span class=keywordflow><span lang=EN-US> if</span></span><span lang=EN-US> (newFrameSize > </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137643c61539e313e3a92085efc08"><span lang=EN-US>fMaxSize</span></a><span lang=EN-US>) <o:p></o:p></span></pre><pre><span lang=EN-US> {<o:p></o:p></span></pre><pre><a name=l00130></a><span lang=EN-US> </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb7dbf64aac933e30e1f39eb80e5"><span lang=EN-US>fFrameSize</span></a><span lang=EN-US> = </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137643c61539e313e3a92085efc08"><span lang=EN-US>fMaxSize</span></a><span lang=EN-US>;<o:p></o:p></span></pre><pre><a name=l00131></a><span lang=EN-US> </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad49493202c89afd93564cc6263da"><span lang=EN-US>fNumTruncatedBytes</span></a><span lang=EN-US> = newFrameSize - </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#7f4137643c61539e313e3a92085efc08"><span lang=EN-US>fMaxSize</span></a><span lang=EN-US>;<o:p></o:p></span></pre><pre><a name=l00132></a><span lang=EN-US> } <o:p></o:p></span></pre><pre><span lang=EN-US> <span class=keywordflow>else</span> <o:p></o:p></span></pre><pre><span lang=EN-US> {<o:p></o:p></span></pre><pre><span lang=EN-US> </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad49493202c89afd93564cc6263da"><span lang=EN-US>fNumTruncatedBytes</span></a><span lang=EN-US> =0;<o:p></o:p></span></pre><pre><a name=l00133></a><span lang=EN-US> </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb7dbf64aac933e30e1f39eb80e5"><span lang=EN-US>fFrameSize</span></a><span lang=EN-US> = newFrameSize;<o:p></o:p></span></pre><pre><a name=l00134></a><span lang=EN-US> }<o:p></o:p></span></pre><pre><span lang=EN-US> …<o:p></o:p></span></pre><pre><a name=l00135></a><a name=l00137></a><span lang=EN-US> memmove(</span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#a2a8e89b11d40a5f64447ee55b0573ee"><span lang=EN-US>fTo</span></a><span lang=EN-US>, newFrameDataStart, </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb7dbf64aac933e30e1f39eb80e5"><span lang=EN-US>fFrameSize</span></a><span lang=EN-US>);<o:p></o:p></span></pre><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span lang=EN-US>newFrameDataStart += </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb7dbf64aac933e30e1f39eb80e5"><span lang=EN-US>fFrameSize</span></a><span lang=EN-US>;<o:p></o:p></span></pre><pre><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'> </span><span lang=EN-US>hugeFrameSize -= </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2871eb7dbf64aac933e30e1f39eb80e5"><span lang=EN-US>fFrameSize</span></a><span lang=EN-US>;</span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif"'><o:p></o:p></span></pre><pre><span lang=EN-US> </span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#2f3f7ff24e55419517c273725439ea68"><span lang=EN-US>FramedSource::afterGetting</span></a><span lang=EN-US>(<span class=keyword>this</span>);<o:p></o:p></span></pre><p class=MsoNormal><span lang=EN-US>}<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>while(</span><a href="http://www.live555.com/liveMedia/doxygen/html/classFramedSource.html#337ad49493202c89afd93564cc6263da"><span lang=EN-US>fNumTruncatedBytes</span></a><span lang=EN-US>);<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>This is bad idea - the program dead.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>In message we have recommendation:<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>“Correct this by increasing \"OutPacketBuffer::maxSize\" to at least”<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Is any way to sending large frames (H264 key frames , or other), except the HUGE fMaxSize?<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Sorry for my English!<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US>Nick<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>