<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>