summaryrefslogtreecommitdiff
path: root/ext/hls/m3u8.c
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-04-23 17:36:49 +0200
committerSebastian Dröge <sebastian@centricular.com>2015-04-23 17:47:18 +0200
commit5fd2fc3050548c89edc87e1b19b64efa3adf4a63 (patch)
treef79d70d574f63b859746c4cea7a72d513d613e91 /ext/hls/m3u8.c
parentbb36ffb6336e9232c49513965679f6ee17cadbef (diff)
downloadgstreamer-plugins-bad-5fd2fc3050548c89edc87e1b19b64efa3adf4a63.tar.gz
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.
Diffstat (limited to 'ext/hls/m3u8.c')
-rwxr-xr-xext/hls/m3u8.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c
index 9645256f1..0d1f892de 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 */