Great, It works :)<div>There is still one error when we have a connected clients and we do Media::close(...) for server.<br><div><div>       "live555proxyDLLNative.dll!RTSPClient::handleAlternativeRequestByte1(unsigned char requestByte)  Line 1205 + 0x27 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTSPClient::handleAlternativeRequestByte(void * rtspClient, unsigned char requestByte)  Line 1196<span class="" style="white-space:pre">       </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!SocketDescriptor::~SocketDescriptor()  Line 348 + 0x14 bytes<span class="" style="white-space:pre">    </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!SocketDescriptor::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">       </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!SocketDescriptor::deregisterRTPInterface(unsigned char streamChannelId)  Line 391 + 0x20 bytes<span class="" style="white-space:pre">  </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!deregisterSocket(UsageEnvironment & env, int sockNum, unsigned char streamChannelId)  Line 159<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTPInterface::stopNetworkReading()  Line 274 + 0x1d bytes<span class="" style="white-space:pre">       </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!RTCPInstance::~RTCPInstance()  Line 185<span class="" style="white-space:pre"> </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTCPInstance::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">   </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaSubsession::deInitiate()  Line 807 + 0xf bytes<span class="" style="white-space:pre">     </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!MediaSubsession::~MediaSubsession()  Line 602<span class="" style="white-space:pre">   </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaSubsession::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">        </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!MediaSession::~MediaSession()  Line 82 + 0x23 bytes<span class="" style="white-space:pre">     </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaSession::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">   </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!ProxyServerMediaSession::~ProxyServerMediaSession()  Line 91 + 0xc bytes<span class="" style="white-space:pre">        </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!ProxyServerMediaSession::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">        </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!RTSPServer::removeServerMediaSession(ServerMediaSession * serverMediaSession)  Line 74 + 0x9 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTSPServer::~RTSPServer()  Line 260<span class="" style="white-space:pre">     </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!RTSPServer::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">     </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!DoLoop()  Line 50 + 0xc bytes<span class="" style="white-space:pre">   </span>C++"</div>
<div>There is call RTSPClient::handleAlternativeRequestByte1(...) for a destroyed RTSPClient object.</div></div></div><div>Destructor call stack for this object:</div><div>       "live555proxyDLLNative.dll!RTSPClient::~RTSPClient()  Line 328<span class="" style="white-space:pre">       </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!ProxyRTSPClient::~ProxyRTSPClient()  Line 206 + 0xf bytes<span class="" style="white-space:pre">       </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!ProxyRTSPClient::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">        </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!ProxyServerMediaSession::~ProxyServerMediaSession()  Line 90 + 0xc bytes<span class="" style="white-space:pre">        </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!ProxyServerMediaSession::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">        </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTSPServer::removeServerMediaSession(ServerMediaSession * serverMediaSession)  Line 74 + 0x9 bytes<span class="" style="white-space:pre">      </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!RTSPServer::~RTSPServer()  Line 260<span class="" style="white-space:pre">     </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!RTSPServer::`scalar deleting destructor'()  + 0xf bytes<span class="" style="white-space:pre">     </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!MediaLookupTable::remove(const char * name)  Line 151 + 0x21 bytes<span class="" style="white-space:pre">      </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!Medium::close(UsageEnvironment & env, const char * name)  Line 54<span class="" style="white-space:pre">   </span>C++</div>
<div> <span class="" style="white-space:pre">   </span>live555proxyDLLNative.dll!Medium::close(Medium * medium)  Line 59 + 0x17 bytes<span class="" style="white-space:pre">    </span>C++</div><div> <span class="" style="white-space:pre">       </span>live555proxyDLLNative.dll!DoLoop()  Line 50 + 0xc bytes<span class="" style="white-space:pre">   </span>C++"</div>
<div class="gmail_extra"><br><br><div class="gmail_quote">2012/11/29 Ross Finlayson <span dir="ltr"><<a href="mailto:finlayson@live555.com" target="_blank">finlayson@live555.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div><div class="im"><blockquote type="cite">I found that in ProxyServerMediaSubSession.cpp:339 for fClientMediaSubsession destructor has already been called, although further we call fClientMediaSubsession.rtcpInstance(), which return 0x00000000.</blockquote>
<div><br></div></div>Sergei,</div><div><br></div><div>Thanks again.  I have installed another new version (2012.11.29) of the code that should fix this bug.</div><div class="im"><br><br><div>
<span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px"><span style="text-indent:0px;letter-spacing:normal;font-variant:normal;text-align:-webkit-auto;font-style:normal;font-weight:normal;line-height:normal;border-collapse:separate;text-transform:none;font-size:medium;white-space:normal;font-family:Helvetica;word-spacing:0px">Ross Finlayson<br>
Live Networks, Inc.<br><a href="http://www.live555.com/" target="_blank">http://www.live555.com/</a></span></span>
</div>
<br></div></div><br>_______________________________________________<br>
live-devel mailing list<br>
<a href="mailto:live-devel@lists.live555.com">live-devel@lists.live555.com</a><br>
<a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a><br>
<br></blockquote></div><br></div>