<span id="mailbox-conversation"><div>Ross,</div>
<div><br></div>
<div>Thank you for clarification. I do see your point about aborting the client side right away (you were correct about this being a client app), however, considering other possible causes (temporary packet loss? some other momentary hiccup on the LAN?), I prefer to keep session closure (e.g.  OnClose being called, session is clearly gone), and inter-packet timeout separate. Thanks for confirming stopGettingFrames() will reset the state.</div>
<div><br></div>
<div>Apologies about the pseudonym -- used one of the internal aliases/nicknames without thinking much of it (trying to keep the various lists traffic aliased for easier filtering).</div>
<div><br></div>
<div>Best,</div>
<div>Markus Hahn</div>
<div>mhahn@sighthound.com</div></span><div class="mailbox_signature">
<br>—<br>Sent from <a href="https://www.dropbox.com/mailbox">Mailbox</a>
</div>
<br><br><div class="gmail_quote"><p>On Fri, May 1, 2015 at 2:58 PM, Ross Finlayson <span dir="ltr"><<a href="mailto:finlayson@live555.com" target="_blank">finlayson@live555.com</a>></span> wrote:<br></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div 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 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=""></div></blockquote></div><br>