<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hello,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Live555 is working great in our proof of concept (thanks!)…time to move on use in production code, which brings up a question…<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">All example code seems to set up a server and then let it run until the process terminates, without any explicit cleanup.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Suppose in my project I want to start and stop an RTSPServer at designated times, clean up after stopping, with the possibility of re-starting later (on the same port even).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I notice the destructor of RTSPServer class is protected. What is the design goal here? What is the correct method of resource cleanup/recycling given this design?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">So far, my only ‘workaround’ is to derive a class of my own from RTSPServer and make the derived class’ destructor public.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Will destruction of the (derived) RTSPServer also clean up (delete) the media sessions registered with it (it appears yes, just want to confirm).
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Anything else that needs to be cleaned up?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Can the UsageEnvironment and the TaskScheduler have lifetimes that span many server startups & shutdowns?
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks!<o:p></o:p></p>
<p class="MsoNormal">-Eric.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<table class="MsoNormalTable" border="0" cellpadding="0" width="464" style="width:348.0pt">
<tbody>
<tr>
<td colspan="3" valign="bottom" style="padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D"><img width="309" height="75" id="Picture_x0020_1" src="cid:image001.jpg@01D5493C.5611CC10" alt="cid:image001.gif@01CAF67F.900E5BA0"><o:p></o:p></span></p>
</td>
</tr>
<tr>
<td width="2%" valign="top" style="width:2.0%;padding:.75pt .75pt .75pt .75pt"></td>
<td width="46%" valign="top" style="width:46.0%;padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal"><b><span lang="DE" style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:#1F497D">Eric Brandt<br>
</span></b><b><span lang="DE" style="font-size:9.0pt;font-family:"Tahoma",sans-serif;color:#1F497D">Senior Software Engineer</span></b><b><span lang="DE" style="font-size:9.0pt;font-family:"Tahoma",sans-serif;color:#1F497D"><o:p></o:p></span></b></p>
<p class="MsoNormal"><span lang="DE" style="font-size:7.5pt;font-family:"Tahoma",sans-serif;color:#1F497D"><a href="mailto:stephen.hinds@nikon.com"><span style="color:blue">eric.brandt@nikon.com</span></a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:7.5pt;font-family:"Tahoma",sans-serif;color:#1F497D">Tel:           +1 (262) 470-2705</span><b><span style="font-size:9.0pt;font-family:"Tahoma",sans-serif;color:#1F497D"><o:p></o:p></span></b></p>
</td>
<td width="52%" valign="top" style="width:52.0%;padding:.75pt .75pt .75pt .75pt">
<p class="MsoNormal" align="right" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto;text-align:right">
<b><span style="font-family:"Tahoma",sans-serif;color:#1F497D">Nikon Metrology, Inc. (Va)</span></b><b><span style="font-size:10.0pt;font-family:"Tahoma",sans-serif;color:#1F497D"><br>
</span></b><span style="font-size:7.5pt;font-family:"Tahoma",sans-serif;color:#1F497D">9453 Innovation Drive<br>
Manassas, VA 20110<br>
USA<br>
<a href="http://www.nikonmetrology.com/"><span style="color:blue">www.nikonmetrology.com</span></a></span><span style="font-size:12.0pt;font-family:"Times New Roman",serif;color:#1F497D"><o:p></o:p></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>