<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>Scansoft</TITLE>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16447"></HEAD>
<BODY
style="BACKGROUND-COLOR: #e0e0e0; FONT-FAMILY: Trebuchet MS; COLOR: #005080; FONT-SIZE: 10pt"
background="" bgColor=#e0e0e0>
<DIV><SPAN class=439471611-30082012>Good afternoon Ross,</SPAN></DIV>
<DIV><SPAN class=439471611-30082012></SPAN> </DIV>
<DIV><SPAN class=439471611-30082012>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.</SPAN></DIV>
<DIV><SPAN class=439471611-30082012></SPAN> </DIV>
<DIV><SPAN class=439471611-30082012>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.</SPAN></DIV>
<DIV><SPAN class=439471611-30082012></SPAN> </DIV>
<DIV><SPAN class=439471611-30082012>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.</SPAN></DIV>
<DIV><SPAN class=439471611-30082012></SPAN> </DIV>
<DIV><SPAN class=439471611-30082012>Should I be overriding some other function
to handle the stream closure? I have checked the FramedSource header file and
can see a
<P><SPAN class=439471611-30082012>static void </SPAN>handleClosure(<FONT
color=#0000ff><FONT color=#0000ff>void</FONT></FONT>* clientData);</P>
<P><SPAN class=439471611-30082012>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.</SPAN></P>
<P><SPAN class=439471611-30082012>Thank you</SPAN></P></SPAN></DIV>
<DIV><SPAN class=439471611-30082012>Regards</SPAN></DIV>
<DIV align=left><STRONG>___________________________________</STRONG></DIV><BR>
<DIV align=left><STRONG>Shaheed Abdol</STRONG></DIV><BR>
<DIV align=left><FONT color=#909090 size=1><STRONG></STRONG></FONT></DIV><IMG
border=0 hspace=0 alt="Scansoft Technologies" align=baseline
src="cid:439471611@30082012-19CC"><BR>
<DIV align=left><FONT color=#909090 size=1><STRONG>Web: <A
href="http://www.scansoft.co.za/">www.scansoft.co.za</A></DIV>
<DIV align=left><FONT color=#909090 size=1><STRONG>Tel: +27 21 913
8664</STRONG></FONT></DIV>
<DIV align=left><FONT color=#909090 size=1><STRONG>Cell: +27 79 835
8771</STRONG></FONT></DIV></STRONG></FONT>
<DIV> </DIV></BODY></HTML>