Good afternoon Ross, I have updated to the latest version of the code, have read the FAQ and have studied the included code samples. I am having some trouble within my rtsp server code (based on the provided source code) which creates subsessions on demand. These subsessions could be file sources or live sources - based on the DeviceSource example. I have subclassed the OnDemandServerMediaSubsession, and have overridden the createNewStreamSource and createNewRTPSink functions as the FAQ instructs and can successfully receive an MPEG2 Program stream, demux it into an MPEG1or2DemuxedElementaryStream and pass data that into an H264VideoStreamFramer. The above process seems correct, and I can stream the resulting H264 data smoothly to both the openRTSP client (the resulting file is playable) and VLC. The problem I seem to be having is that whenever I disconnect the client application (openRTSP or VLC), the server experiences an Access violation. I have scoured the logs and have found that the TEARDOWN is received by RTSPClientSession and seems to be handled properly, except that the testBytes function (in StreamParser.hh) is referencing an invalid pointer (line: 85 - memmove(to, nextToParse(), numBytes) which is causing the violation - the "to" pointer has been deleted. Should I be overriding some other function to handle the stream closure? I have checked the FramedSource header file and can see a
static void handleClosure(void* clientData); Which hints that it's possible to handle the closing stream in my derived classes, but that method is static and not virtual, is there another mechanism in place which I could use? Any advice would be appreciated. Thank you Regards ___________________________________ Shaheed Abdol Web: www.scansoft.co.za <http://www.scansoft.co.za/> Tel: +27 21 913 8664 Cell: +27 79 835 8771
<<SST Email.png>>
_______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel