<div dir="ltr">Hi Enrique,<div><br></div><div>it looks like the issue here is that VLC isn't fully implementing the spec on sliding playlists</div><div><br></div><div><a href="http://tools.ietf.org/html/draft-pantos-http-live-streaming-07#page-19">http://tools.ietf.org/html/draft-pantos-http-live-streaming-07#page-19</a><br>
</div><div><br></div><div style>specifically</div><div><br></div><div>---</div><div><pre class="" style="font-size:1em;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">   When the server removes a media URI from the Playlist, the
   corresponding media segment SHOULD remain available to clients for a
   period of time equal to the duration of the segment plus the duration
   of the longest Playlist file distributed by the server containing
   that segment.<br></pre><pre class="" style="font-size:1em;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)">---</pre><pre class="" style="font-size:1em;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre>given this, I think the fix would be to keep the segment for n+1 updates where n is the number of segments retained in the window.<br>
<br>cheers,<br><br>Rob<pre class="" style="font-size:1em;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre><pre class="" style="font-size:1em;margin-top:0px;margin-bottom:0px;color:rgb(0,0,0)"><br></pre></div><div>
<br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 13 June 2013 08:09, Enrique Arizón Benito <span dir="ltr"><<a href="mailto:enrique.arizonbenito@gmail.com" target="_blank">enrique.arizonbenito@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div><div><div><div><br>Hello,<br><br></div>For an small project I'm developping an livehttp server based on vlc+livehttp and a web server (Apache).<br>

<br></div>The livehttp module works properly but when I add the delsegs option to remove old segment next random raise condition sequence of events arise:<br><br></div><div><span style="font-family:courier new,monospace">Note:</span></div>

<div><span style="font-family:courier new,monospace"><br></span></div><div><span style="font-family:courier new,monospace">1.- Clients requests index.m3u8 index file to apache<br></span></div><div><span style="font-family:courier new,monospace">2.- web-server sends back the index.m3u8 index file to the client<br>

</span></div><div><span style="font-family:courier new,monospace">3.- Client reads the m3u8 and parses it.<br></span></div><div><span style="font-family:courier new,monospace">4.- livehttp creates a new ts segment, updates the index.m3u8 index and removes the oldest existing fragment.<br>

</span></div><div><span style="font-family:courier new,monospace">5.- Client request to the web-server the first ts fragment it founds after parsing (<span style="color:rgb(255,0,0)"><b>this fragment has just been removed in step 4</b></span>)<br>

</span></div><div><span style="font-family:courier new,monospace">6.- web-server returns a <span style="color:rgb(255,0,0)"><b>404-Not Found error</b></span>.</span><br></div><div><br></div></div></div></div></div></div>
I think a simple patch in modules/access_output/livehttp.c like the next one will fix the error. <br>
The two oldest files will not be removed inmediatly but just after two other updates:<br><br></div><span style="font-family:courier new,monospace">532c532<br><     if ( p_sys->b_delsegs && i_firstseg > 1 )<br>

---<br>>     if ( p_sys->b_delsegs && i_firstseg > 3 )<br>534c534<br>
<         char *psz_name = formatSegmentPath( p_access->psz_path, i_firstseg-1, true );<br>---<br>>         char *psz_name = formatSegmentPath( p_access->psz_path, i_firstseg-3, true );</span><br><br></div><div>

<div><br></div><div>Regards!<span class="HOEnZb"><font color="#888888"><br><br></font></span></div><span class="HOEnZb"><font color="#888888"><div>Enrique<br></div></font></span></div></div>
<br>_______________________________________________<br>
vlc-devel mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank">http://mailman.videolan.org/listinfo/vlc-devel</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><br><br><br><br><br>Hobbyist Software is a trading name of Hobbyist Software Limited. Registered office Flat 4 Eastmead Court, Bristol BS9 1HP. Registered in England. Company no:7876492
</div>