Commit 834987a1 authored by Ilkka Ollakka's avatar Ilkka Ollakka

livehttp: use playlist max duration instead segment max duration to calculate...

livehttp: use playlist max duration instead segment max duration to calculate if we can remove segment in live case
parent b71f82a1
...@@ -513,13 +513,13 @@ static uint32_t segmentAmountNeeded( sout_access_out_sys_t *p_sys ) ...@@ -513,13 +513,13 @@ static uint32_t segmentAmountNeeded( sout_access_out_sys_t *p_sys )
/************************************************************************ /************************************************************************
* isFirstItemRemovable: Check for draft 11 section 6.2.2 * isFirstItemRemovable: Check for draft 11 section 6.2.2
* check that the first item has been around outside playlist * check that the first item has been around outside playlist
* segment->f_seglength + p_sys->i_seglen before it is removed. * segment->f_seglength + (p_sys->i_numsegs * p_sys->i_seglen) before it is removed.
************************************************************************/ ************************************************************************/
static bool isFirstItemRemovable( sout_access_out_sys_t *p_sys, uint32_t i_firstseg, uint32_t i_index_offset ) static bool isFirstItemRemovable( sout_access_out_sys_t *p_sys, uint32_t i_firstseg, uint32_t i_index_offset )
{ {
float duration = .0f; float duration = .0f;
/* Check that segment has been out of playlist for seglenght + p_sys->i_seglen amount /* Check that segment has been out of playlist for seglenght + (p_sys->i_numsegs * p_sys->i_seglen) amount
* We check this by calculating duration of the items that replaced first item in playlist * We check this by calculating duration of the items that replaced first item in playlist
*/ */
for(int index=0; index < i_index_offset; index++ ) for(int index=0; index < i_index_offset; index++ )
...@@ -529,7 +529,7 @@ static bool isFirstItemRemovable( sout_access_out_sys_t *p_sys, uint32_t i_first ...@@ -529,7 +529,7 @@ static bool isFirstItemRemovable( sout_access_out_sys_t *p_sys, uint32_t i_first
} }
output_segment_t *first = vlc_array_item_at_index( p_sys->segments_t, 0 ); output_segment_t *first = vlc_array_item_at_index( p_sys->segments_t, 0 );
return duration >= (first->f_seglength + (float)p_sys->i_seglen); return duration >= (first->f_seglength + (float)(p_sys->i_numsegs * p_sys->i_seglen));
} }
/************************************************************************ /************************************************************************
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment