In teardownMediaSubsession in RTSPClient, the subsession's sessionId variable is deleted and reset. However *only if* the teardown succeeds. If the teardown fails and the MediaSubsession is subsequently closed using the proper method, then the sessionId will not be freed. I suggest also delete the pointer in the destructor of MediaSubsession in case it has not already being deleted.
No, I don't want to do this, because - in general - the entity that allocates memory should be the one that deletes it. In this case, the memory ("sessionId" string) is allocated (and used) only by the "RTSPClient" - and so the "RTSPClient" should be the only thing that deletes it.
The actual solution in this case is simply for the "RTSPClient" to behave as is the RTSP "TEARDOWN" succeeded, regardless of the actual RTSP response that it gets from the server. I.e., as far as the client is concerned, the session has ended.
I'll fix this (in "RTSPClient") in the next release of the software. -- 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