From 5fd2fc3050548c89edc87e1b19b64efa3adf4a63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 23 Apr 2015 17:36:49 +0200 Subject: [PATCH] hlsdemux: Don't error out if we can't match variant playlists after updating It's better to just select some random variant playlist instead of stopping, chances are that it's still continuing to work and we might just have to select a different variant again later. --- ext/hls/m3u8.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c index 9645256f18..0d1f892ded 100755 --- a/ext/hls/m3u8.c +++ b/ext/hls/m3u8.c @@ -925,15 +925,16 @@ gst_m3u8_client_update_variant_playlist (GstM3U8Client * self, gchar * data, } if (unmatched_lists != NULL) { - g_list_free (unmatched_lists); + GST_WARNING ("Unable to match all playlists"); - /* We should attempt to handle the case where playlists are dropped/replaced, - * and possibly switch over to a comparable (not neccessarily identical) - * playlist. - */ - GST_FIXME - ("Cannot update variant playlist, unable to match all playlists"); - goto out; + for (list_entry = unmatched_lists; list_entry; + list_entry = list_entry->next) { + if (list_entry->data == self->current) { + GST_WARNING ("Unable to match current playlist"); + } + } + + g_list_free (unmatched_lists); } /* Switch out the variant playlist */