We don't want to consider the candidate as being before the playlist if the DSN
don't match
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2839>
for (idx = 0; idx < playlist->segments->len; idx++) {
GstM3U8MediaSegment *cand = g_ptr_array_index (playlist->segments, idx);
for (idx = 0; idx < playlist->segments->len; idx++) {
GstM3U8MediaSegment *cand = g_ptr_array_index (playlist->segments, idx);
+ /* Ignore non-matching DSN if needed */
+ if ((segment->discont_sequence != cand->discont_sequence)
+ && playlist->has_ext_x_dsn)
+ continue;
+
if (idx == 0 && cand->sequence == segment->sequence + 1) {
/* Special case for segments just before the 1st one. We add another
* reference because it now also belongs to the current playlist */
if (idx == 0 && cand->sequence == segment->sequence + 1) {
/* Special case for segments just before the 1st one. We add another
* reference because it now also belongs to the current playlist */
- if ((segment->discont_sequence == cand->discont_sequence
- || !playlist->has_ext_x_dsn)
- && (cand->sequence == segment->sequence)) {
+ if (cand->sequence == segment->sequence) {