<html><head><title>Samsung Enterprise Portal mySingle</title>
<meta content="text/html; charset=euc-kr" http-equiv="Content-Type">
<style id="mysingle_style" type="text/css">P {
MARGIN-TOP: 5px; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt
}
TD {
MARGIN-TOP: 5px; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt
}
LI {
MARGIN-TOP: 5px; FONT-FAMILY: ±¼¸²Ã¼, arial; MARGIN-BOTTOM: 5px; FONT-SIZE: 9pt
}
BODY {
LINE-HEIGHT: 1.4; MARGIN: 10px; FONT-FAMILY: ±¼¸²Ã¼, arial; FONT-SIZE: 9pt
}
</style>
<meta name="GENERATOR" content="ActiveSquare">
</head><body>
<p>Dear sir,</p>
<p> </p>
<p>My application was crashed when I updated live555 from ver.20120913 to ver.20121108 or ver.20121218.</p>
<p>The program can receive multiple rtp video streams simultaneously, and for this I use thread pool on windows. It means that one thread can also connect multiple media server.</p>
<p> </p>
<p>I have used event triggers in live5555 to start/stop streaming.</p>
<p>But in last live555, my application was crashed when stop event was triggered.</p>
<p> </p>
<p>Call stack as follows.</p>
<p>> device_onvif.dll!_Tables::getOurTables(UsageEnvironment & env, bool createIfNotPresent) Line 98 + 0x3 bytes C++<br> device_onvif.dll!socketHashTable(UsageEnvironment & env, bool createIfNotPresent) Line 38 + 0xe bytes C++<br> device_onvif.dll!removeSocketDescription(UsageEnvironment & env, int sockNum) Line 94 + 0xb bytes C++<br> device_onvif.dll!SocketDescriptor::~SocketDescriptor() Line 350 + 0x13 bytes C++<br> device_onvif.dll!SocketDescriptor::`scalar deleting destructor'() + 0xf bytes C++<br> device_onvif.dll!SocketDescriptor::tcpReadHandler1(int mask) Line 417 + 0x20 bytes C++<br> device_onvif.dll!SocketDescriptor::tcpReadHandler(SocketDescriptor * socketDescriptor, int mask) Line 397 C++<br> device_onvif.dll!BasicTaskScheduler::SingleStep(unsigned int maxDelayTime) Line 149 + 0x16 bytes C++</p>
<p><br> <br>_Tables* _Tables::getOurTables(UsageEnvironment& env, Boolean createIfNotPresent) {<br> --> here!! --> if (env.liveMediaPriv == NULL && createIfNotPresent) {<br> env.liveMediaPriv = new _Tables(env);<br> }<br> return (_Tables*)(env.liveMediaPriv);</p>
<p> </p>
<p>I found that the new library changed RTPInterface.cpp since 2012-11-08, but I think the changes have side effects.</p>
<p> </p>
<p>When I insert a code as follows, the problem was solved.</p>
<p>Please overview again changes of live555.</p>
<p> </p>
<p>void SocketDescriptor::tcpReadHandler1(int mask) {</p>
<p>...<br> removeSocketDescription(fEnv, fOurSocketNum); // <-- When this code is added, the problem was solved...</p>
<p> delete this;</p>
<p>...</p>
<p>}</p>
<p> </p>
<p>Thanks and happy new year</p>
<p> </p></body></html><img src='http://ext.samsung.net/mailcheck/SeenTimeChecker?do=36e1589416f302e1e5998be233c6a8a54acef0e96ff8ac156e3b6c551f0531e96d3e8c7faba24ae6c3b33f4e1618c528a180a50e2b417f7cdb9fdddda33e82cbe4a391424e62fcf6cf878f9a26ce15a0' border=0 width=0 height=0 style='display:none'>