<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><span id="mailbox-conversation" class=""><div class="">Okay, let me try being more specific:</div>
<div class=""><br class=""></div>
<div class="">1) The application streams RTSP H264 video. </div></span></div></blockquote><div><br class=""></div>By â€œstreams”, do you mean transmits, or receives?</div><div><br class=""></div><div>If you mean â€œtransmits”, then what is generating the H.264 video?  Is it coming from a file, or from a device (that the OS treats as a file)?</div><div><br class=""></div><div><br class=""></div><div>If you mean â€œreceives” (which, from the context, I think you do), then do the (unmodified!) â€œtestRTSPClient” and â€œopenRTSP” applications work OK for receiving this RTSP stream?</div><div>You should begin by running the supplied â€œopenRTSP” application:</div><div><span class="Apple-tab-span" style="white-space:pre">   </span><a href="http://www.live555.com/openRTSP/" class="">http://www.live555.com/openRTSP/</a> <span class="Apple-tab-span" style="white-space:pre">      </span>(note, in particular, the â€œ-D <maximum-inter-packet-gap>” option; you may find that useful)</div><div>and the â€œtestRTSPClient” demo application, and familiarize yourself with this code, before you dive into trying to write your own RTSP client.</div><div><br class=""></div><div>If a call to â€œgetNextFrame()” does not return any data - i.e., the â€˜after getting’ (“OnData”, in your example) function does not get called, then that simply means that the upstream object has stopped delivering data.  (If the upstream object has â€˜closed', then the â€œOnClose” function will get called.)  In any case, you should never call â€œgetNextFrame()” again until the â€˜after getting’ function gets called (indicating the reception of data).  In fact, our code is deliberately set up to prevent this (if you try, you’ll get the "attempting to read more than once at the same time” error message).</div><div><br class=""></div><div>You *could*, if you wish, call â€œstopGettingFrames()”, and then call â€œgetNextFrame()” again.  But what would be the point?  The upstream object stopped delivering data for a good reason (presumably because the RTSP server stopped sending data).  There’s no point in trying again (other than by tearing down the RTSP session, and creating a new one).</div><br class=""><div apple-content-edited="true" class="">
<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-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  "><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-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px;  ">Ross Finlayson<br class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div><div class=""><br class="webkit-block-placeholder"></div><div class="">ps. I don’t take kindly to people using silly pseudonyms in a professional forum like this.  Why do you choose not to disclose your real name?</div><div class=""><br class=""></div>
<br class=""></body></html>