<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="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 11 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Lucida Console";
        panose-1:2 11 6 9 4 5 4 2 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Lucida Console";
        color:windowtext;
        font-weight:normal;
        font-style:normal;
        text-decoration:none none;}
@page Section1
        {size:595.3pt 841.9pt;
        margin:70.85pt 2.0cm 2.0cm 2.0cm;}
div.Section1
        {page:Section1;}
-->
</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=IT link=blue vlink=purple>
<div class=Section1>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Hello.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>We’re trying to use Live555 code in order to
implement a H24 network video recorder (NVR). Apparently, the Live555 stuff
performs quite well both in recording m4e files, and in restreaming the recorded
files, but we’re in deep troubles trying to customize a detail in the
mechanism of restreaming when switching from one file to the next: simply, we
can’t find where in the code this is implemented. I know we’re
admitting some sort of incompetence, but it’s been several days of code
hunting, and we got nothing.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>So, let’s first explain why we’re having
this peculiar problem, and why the playlist mechanism already implemented in
Live555 doesn’t suit our needs. The H24 continuous recording is based on
a circular queue of files that are recorded and cyclically deleted at the end
of the queue to keep a roughly constant space on hard disk. Upon this, let’s
say, circular playlist, you may ask the NVR to start streaming from a given
time in the past on, and in H24 mode as well. This means that the DVR will
stream, perhaps, files that still have to be created at the time you issue the
play command. Even the m4e pathnames are not fully determined in advance.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>So, the basic idea is the following: find out where
Live555 is becoming aware of the end of a m4e file and, through a callback
routine that wouldn’t impact on the Live555 project source code, insert a
new m4e file to the current playlist, maybe deleting also the last file just
streamed. In this way the streaming process may continue indefinitely (if
requested to) adding one file at a time whose pathname may be calculated at
runtime depending on the particular naming policy of the NVR. Also, we hope
that in this way we should be able to stream files upon the very same RTSP/RTP
session with no noticeable delay when the file switch occurs, exactly as if we
were streaming a single endless file.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'>We don’t know whether this situation may be
general enough to interest a wider audience, but we’re stuck, as I said,
in the effort of trying to find out where the callback routine should be
invoked. Could you provide us some direction? Thanks in advance.<o:p></o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
<p class=MsoNormal><font size=3 face="Times New Roman"><span lang=EN-GB
style='font-size:12.0pt'><o:p> </o:p></span></font></p>
</div>
</body>
</html>