summaryrefslogtreecommitdiff
path: root/ext/hls
diff options
context:
space:
mode:
Diffstat (limited to 'ext/hls')
-rw-r--r--ext/hls/m3u8.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/ext/hls/m3u8.c b/ext/hls/m3u8.c
index 07babd13b..654067cd5 100644
--- a/ext/hls/m3u8.c
+++ b/ext/hls/m3u8.c
@@ -316,6 +316,11 @@ check_media_seqnums (GstM3U8 * self, GList * previous_files)
g_return_val_if_fail (previous_files, FALSE);
+ if (!self->files) {
+ /* Empty playlists are trivially consistent */
+ return TRUE;
+ }
+
/* Find first case of higher/equal sequence number in new playlist or
* same URI. From there on we can linearly step ahead */
for (l = self->files; l; l = l->next) {
@@ -334,6 +339,10 @@ check_media_seqnums (GstM3U8 * self, GList * previous_files)
break;
}
+ /* We must have seen at least one entry on each list */
+ g_assert (f1 != NULL);
+ g_assert (f2 != NULL);
+
if (!l) {
/* No match, no sequence in the new playlist was higher than
* any in the old, and no URI was found again. This is bad! */
@@ -341,9 +350,6 @@ check_media_seqnums (GstM3U8 * self, GList * previous_files)
return FALSE;
}
- g_assert (f1 != NULL);
- g_assert (f2 != NULL);
-
for (; l && m; l = l->next, m = m->next) {
f1 = l->data;
f2 = m->data;