> 2 adjustments to the library allow me to tiptoe thru the call stack avoiding 
> accessing destroyed or already deleted members and unwind this stack.

I'll be doing something similar to your first fix (but it most certainly will 
not be using a "goto" :-)


> This gest me almost all the way out of the stack unwind. But when I return to 
> RTSPClient::playMediaSession after the call to the event loop there is a 
> “delete[] fResultString”

OK, that's your fault.  You're using the synchronous "RTSPClient" interface - 
which is OK - but you're having your "BYE" handler callback routine delete your 
"RTSPClient" object while you're in the middle of a synchronous operation.  
That's bad (on your part).  (It's weird that you're getting a RTCP "BYE" before 
you get a response to your RTSP "PLAY" command, but I suppose that's 
possible...)

What you'll need to do, then, is have your "BYE" handler routine set a Boolean 
flag (but not actually delete anything then), and have your code test for this 
flag after it returns from "playMediaSession()".


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

_______________________________________________
live-devel mailing list
live-devel@lists.live555.com
http://lists.live555.com/mailman/listinfo/live-devel

Reply via email to