<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" id="owaParaStyle" style="display: none;">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body dir="ltr" fpstyle="1" aria-label="Message body" tabindex="0">
<div name="divtagdefaultwrapper" id="divtagdefaultwrapper" style="font-family: Calibri,Arial,Helvetica,sans-serif; font-size: 12pt; color: #000000; margin: 0">
<div><br>
</div>
<div>Thanks. </div>
<div><span style="font-size: 12pt;"><br>
</span></div>
<div><span style="font-size: 12pt;">I'm able to view the RTSP stream in VLC and the Onvif device manager, which also uses Live555. </span></div>
<div><br>
</div>
<div>The buffer is plenty big enough, and I'm not seeing truncated bytes.</div>
<br>
<div><br>
<div name="divtagdefaultwrapper" style="font-family:Calibri,Arial,Helvetica,sans-serif; font-size:; margin:0">
<table border="0" cellspacing="0" cellpadding="0" style="color:rgb(40,40,40); font-family:'Segoe UI WPC','Segoe UI',Tahoma,'Microsoft Sans Serif',Verdana,sans-serif; font-size:15px; background-color:rgb(255,255,255); border-collapse:collapse">
<tbody>
<tr height="59" style="height:35.5pt">
<td width="97" valign="top" style="width:58.2pt; height:35.5pt; padding:0px 5.4pt; border-style:none solid none none; border-right-width:1pt; border-right-color:windowtext">
<div align="right" style="margin:0px"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt">  </span></font></div>
</td>
<td width="435" valign="top" style="width:261pt; height:35.5pt; padding:0px 5.4pt; border-style:none">
<div style="margin:0px 0px 2pt"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt"><a tabindex="0" href="mailto:tim.gee@aldiscorp.com" target="_blank"><font face="Verdana,sans-serif" size="1"><span style="font-size:8pt"><b><font color="windowtext">Tim
 Gee</font></b></span></font></a><font face="Verdana,sans-serif" size="1"><span style="font-size:8pt"><b> </b></span></font><font face="Verdana,sans-serif" size="1" color="#404040"><span style="font-size:7pt">| Senior R&D Engineer</span></font></span></font></div>
<div style="margin:0px 0px 2pt"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt"><a tabindex="0" href="http://www.aldiscorp.com/" target="_blank"><font face="Verdana,sans-serif" size="1"><span style="font-size:7pt"><b><font color="windowtext">Aldis</font></b></span></font></a><font face="Verdana,sans-serif" size="1" color="#404040"><span style="font-size:7pt"> |
 10545 Hardin Valley Rd. | Knoxville TN | 37932</span></font></span></font></div>
<div style="margin:0px 0px 2pt"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt"><font face="Verdana,sans-serif" size="1" color="#404040"><span style="font-size:7pt">o: 865-978-6535 | f: 865-249-6608</span></font></span></font></div>
</td>
</tr>
<tr>
<td colspan="2" width="532" valign="top" style="width:319.2pt; padding:0px 5.4pt">
<div align="center" style="text-align:center; margin:0px"><font face="Calibri,sans-serif" size="2"><span style="font-size:11pt"> </span></font></div>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br>
<div style="color: rgb(40, 40, 40);">
<hr tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>From:</b> live-devel-bounces@ns.live555.com <live-devel-bounces@ns.live555.com> on behalf of Ross Finlayson <finlayson@live555.com><br>
<b>Sent:</b> Wednesday, July 24, 2013 4:02 PM<br>
<b>To:</b> LIVE555 Streaming Media - development & use<br>
<b>Subject:</b> Re: [Live-devel] testRTSPClient and MJPEG decoding</font>
<div> </div>
</div>
<div>
<div>
<blockquote type="cite">
<div name="divtagdefaultwrapper" id="divtagdefaultwrapper" style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; margin:0px">
Thanks for the response. Ok, does that mean the data in the sink will have already been processed by <span style="font-size:12pt">JPEGVideoRTPSource</span><span style="font-size:12pt">::processSpecialHeader()?</span></div>
</blockquote>
<div><br>
</div>
Yes, but you don't have to concern yourself with how our code works.  As I said before, the data that the application-level client code (in this case "testRTSPClient") receives should be a complete JPEG video frame each time.</div>
<div><br>
</div>
<div><br>
</div>
<div>
<blockquote type="cite">
<div name="divtagdefaultwrapper" id="divtagdefaultwrapper" style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; margin:0px">
<div>
<div>I wonder if there is a bug in the JPEG packet processing because I write each JPEG frame to a file, and each appears very corrupted. It's definitely a JPEG because it opens in an image viewer, and it has the right dimensions. However, each image looks
 like garbage.</div>
</div>
</div>
</blockquote>
<div><br>
</div>
What happens when you try playing the stream using VLC?  (VLC also uses our RTSP/RTP client code.)</div>
<div><br>
</div>
<div><br>
<blockquote type="cite">
<div name="divtagdefaultwrapper" id="divtagdefaultwrapper" style="font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px; font-family:Calibri,Arial,Helvetica,sans-serif; font-size:12pt; margin:0px">
<div>
<div><br>
</div>
<div><span style="font-size:12pt">I put the following code in testRTSPClient.</span></div>
<div>
<div><br>
</div>
<div>
<div><font size="2">void DummySink::afterGettingFrame(unsigned frameSize, unsigned numTruncatedBytes,</font></div>
<div><font size="2"><span class="Apple-tab-span" style="white-space:pre"></span> struct timeval presentationTime, unsigned /*durationInMicroseconds*/) {</font></div>
</div>
</div>
</div>
</div>
</blockquote>
<div><br>
</div>
You should also check the value of "numTruncatedBytes" (to make sure that it's zero).  If it's non-zero, then that means that your buffer size was too small.<br>
</div>
<br>
<div><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: medium;"><span class="Apple-style-span" style="border-collapse:separate; color:rgb(0,0,0); font-family:Helvetica; font-style:normal; font-variant:normal; font-weight:normal; letter-spacing:normal; line-height:normal; orphans:2; text-indent:0px; text-transform:none; white-space:normal; widows:2; word-spacing:0px; font-size:medium">Ross
 Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/">http://www.live555.com/</a></span></span> </div>
<br>
</div>
</div>
</div>
</body>
</html>