Commit d20cd478 authored by Jean-Paul Saman's avatar Jean-Paul Saman

stream_filter/httplive.c: select stream with lowest bandwidth to start playback.

Start playback with the lowest bandwidth stream.
parent ccaec9e6
......@@ -232,6 +232,29 @@ static hls_stream_t *hls_GetLast(vlc_array_t *hls_stream)
return (hls_stream_t *) hls_Get(hls_stream, count);
}
static int hls_LowestBandwidthStream(vlc_array_t *hls_stream)
{
int count = vlc_array_count(hls_stream);
int i_lowest = 0;
uint64_t lowest = 0;
for (int i = 0; i < count; i++)
{
hls_stream_t *hls = (hls_stream_t *) vlc_array_item_at_index(hls_stream, i);
if (lowest == 0)
{
lowest = hls->bandwidth;
i_lowest = i;
}
else if (hls->bandwidth < lowest)
{
lowest = hls->bandwidth;
i_lowest = i;
}
}
return i_lowest;
}
/* Segment */
static segment_t *segment_New(hls_stream_t* hls, int duration, char *uri)
{
......@@ -1158,7 +1181,7 @@ static int Open(vlc_object_t *p_this)
}
/* */
int current = p_sys->current = 0;
int current = p_sys->current = hls_LowestBandwidthStream(p_sys->hls_stream);
p_sys->segment = 0;
if (Prefetch(s, &current) != VLC_SUCCESS)
......
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