Commit 4ca3a22b authored by Jimmy Ohn's avatar Jimmy Ohn Committed by Sebastian Dröge

hlsdemux: Simplify logic in process_manifest

Simplify logic in process_manifest and remove a TODO item.

https://bugzilla.gnome.org/show_bug.cgi?id=749328
parent 6b43d7f7
......@@ -438,18 +438,12 @@ gst_hls_demux_process_manifest (GstAdaptiveDemux * demux, GstBuffer * buf)
if (gst_m3u8_client_has_variant_playlist (hlsdemux->client)) {
GstM3U8 *child = NULL;
GError *err = NULL;
GList *current_variant = NULL;
/* TODO seems like something that could be simplified */
if (demux->connection_speed == 0) {
GST_M3U8_CLIENT_LOCK (hlsdemux->client);
child = hlsdemux->client->main->current_variant->data;
GST_M3U8_CLIENT_UNLOCK (hlsdemux->client);
} else {
GList *tmp = gst_m3u8_client_get_playlist_for_bitrate (hlsdemux->client,
demux->connection_speed);
child = GST_M3U8 (tmp->data);
}
current_variant =
gst_m3u8_client_get_playlist_for_bitrate (hlsdemux->client,
demux->connection_speed);
child = GST_M3U8 (current_variant->data);
gst_m3u8_client_set_current (hlsdemux->client, child);
if (!gst_hls_demux_update_playlist (hlsdemux, FALSE, &err)) {
......
......@@ -1257,6 +1257,11 @@ gst_m3u8_client_get_playlist_for_bitrate (GstM3U8Client * client, guint bitrate)
GST_M3U8_CLIENT_LOCK (client);
current_variant = client->main->current_variant;
if (bitrate == 0) {
GST_M3U8_CLIENT_UNLOCK (client);
return current_variant;
}
/* Go to the highest possible bandwidth allowed */
while (GST_M3U8 (current_variant->data)->bandwidth <= bitrate) {
list = g_list_next (current_variant);
......
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