<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Right Stationery</TITLE>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16446"></HEAD>
<BODY
style="BACKGROUND-COLOR: #e0e0e0; FONT-FAMILY: Arial; COLOR: #000000; FONT-SIZE: 10pt"
background="" bgColor=#e0e0e0>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN class=817503906-18062012>Hi
Ross,</SPAN></FONT></DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN
class=817503906-18062012></SPAN></FONT> </DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN class=817503906-18062012>I
built a small application based on your testRTSPClient for multiple streams (<A
href="http://www.live555.com/liveMedia/doxygen/html/testRTSPClient_8cpp-source.html">http://www.live555.com/liveMedia/doxygen/html/testRTSPClient_8cpp-source.html</A>).
I am however experiencing a problem that my application crashes in
AdvacnedHashTable::keyMatches because key2 is NULL. This happens after
trying to create a media sink. I have compared my program with the
testRTSPClient and they seem very similar. The major difference is that I
am using a FileSink instead of the dummy sink found in the test
program.</SPAN></FONT></DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN
class=817503906-18062012></SPAN></FONT> </DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN class=817503906-18062012>I
will appreciate any assistance in tracking down the cause of
this problem. I attach the callstack. Thank
you</SPAN></FONT></DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN
class=817503906-18062012></SPAN></FONT> </DIV>
<DIV><FONT color=#005080 face="Trebuchet MS"><SPAN
class=817503906-18062012> msvcr90d.dll!strcmp(unsigned char *
str1=0x00000000, unsigned char * str2=0x044ff424) Line
83 Asm<BR> minimal.exe!AdvancedHashTable::keyMatches(const char
* key1=0x01fba530, const char * key2=0x00000000) Line 145 + 0xd
bytes C++<BR> minimal.exe!AdvancedHashTable::lookupKey(const
char * key=0x01fba530, unsigned int & index=0) Line 135 + 0x13
bytes C++<BR> minimal.exe!AdvancedHashTable::Add(const char *
key=0x01fba530, void * value=0x01fba528) Line 59 + 0x10
bytes C++<BR> minimal.exe!MediaLookupTable::addNew(Medium *
medium=0x01fba528, char * mediumName=0x01fba530) Line 160 + 0x1d
bytes C++<BR> minimal.exe!Medium::Medium(UsageEnvironment &
env={...}) Line
58 C++<BR> minimal.exe!MediaSink::MediaSink(UsageEnvironment
& env={...}) Line 28 + 0x1a
bytes C++<BR> minimal.exe!FileSink::FileSink(UsageEnvironment
& env={...}, _iobuf * fid=0x73f01448, unsigned int bufferSize=20000, const
char * perFrameFileNamePrefix=0x00000000) Line 33 + 0x49
bytes C++<BR> minimal.exe!FileSink::createNew(UsageEnvironment
& env={...}, const char * fileName=0x01fba23c, unsigned int
bufferSize=20000, unsigned int oneFilePerFrame=0) Line 67 + 0x32
bytes C++<BR>> minimal.exe!CStreamReceiver::ContinueAfterSETUP(RTSPClient
* rtspClient=0x01fa7e98, int resultCode=0, char * resultString=0x00000000)
Line 157 + 0x1c
bytes C++<BR> minimal.exe!RTSPClient::handleResponseBytes(int
newBytesRead=203) Line 1570 + 0x20
bytes C++<BR> minimal.exe!RTSPClient::incomingDataHandler1()
Line
1319 C++<BR> minimal.exe!RTSPClient::incomingDataHandler(void *
instance=0x01fa7e98, int __formal=2) Line
1312 C++<BR> minimal.exe!BasicTaskScheduler::SingleStep(unsigned
int maxDelayTime=0) Line 146 + 0x1e
bytes C++<BR> minimal.exe!BasicTaskScheduler0::doEventLoop(char
* watchVariable=0x0072ce70) Line 80 + 0x11
bytes C++<BR> minimal.exe!CStreamReceiver::RunEventLoop(UsageEnvironment
* env=0x01fa5fa0, char * watchVariable=0x0072ce70) Line
46 C++<BR> minimal.exe!boost::_mfi::mf2<void,CStreamReceiver,UsageEnvironment
*,char *>::operator()(CStreamReceiver * p=0x01fa5a10, UsageEnvironment *
a1=0x01fa5fa0, char * a2=0x0072ce70) Line
275 C++<BR> minimal.exe!boost::_bi::list3<boost::_bi::value<CStreamReceiver
*>,boost::_bi::value<UsageEnvironment *>,boost::_bi::value<char
*>
>::operator()<boost::_mfi::mf2<void,CStreamReceiver,UsageEnvironment
*,char *>,boost::_bi::list0>(boost::_bi::type<void> __formal={...},
boost::_mfi::mf2<void,CStreamReceiver,UsageEnvironment *,char *> &
f={...}, boost::_bi::list0 & a={...}, boost::_bi::type<void>
__formal={...}) Line
349 C++<BR> minimal.exe!boost::_bi::bind_t<void,boost::_mfi::mf2<void,CStreamReceiver,UsageEnvironment
*,char *>,boost::_bi::list3<boost::_bi::value<CStreamReceiver
*>,boost::_bi::value<UsageEnvironment *>,boost::_bi::value<char
*> > >::operator()() Line
21 C++<BR> minimal.exe!boost::thread::thread_data<boost::_bi::bind_t<void,boost::_mfi::mf2<void,CStreamReceiver,UsageEnvironment
*,char *>,boost::_bi::list3<boost::_bi::value<CStreamReceiver
*>,boost::_bi::value<UsageEnvironment *>,boost::_bi::value<char
*> > > >::run() Line
186 C++<BR> minimal.exe!boost::thread::thread_start_function(void
* param=0x009299b8) Line
177 C++<BR> msvcr90d.dll!_callthreadstartex() Line 348 +
0xf bytes C<BR> msvcr90d.dll!_threadstartex(void *
ptd=0x01fadbb0) Line 331 C<BR> kernel32.dll!764e339a()
<BR> [Frames below may be incorrect and/or missing, no symbols
loaded for kernel32.dll] <BR> ntdll.dll!77519ef2()
<BR> ntdll.dll!77519ec5() </SPAN></FONT></DIV></BODY></HTML>