mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-17 22:06:41 +00:00
hlsdemux2: Always check DSN if required
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>
This commit is contained in:
parent
5d0b112c0c
commit
6934362817
1 changed files with 6 additions and 3 deletions
|
@ -1045,6 +1045,11 @@ find_segment_in_playlist (GstHLSMediaPlaylist * playlist,
|
|||
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 */
|
||||
|
@ -1055,9 +1060,7 @@ find_segment_in_playlist (GstHLSMediaPlaylist * playlist,
|
|||
return segment;
|
||||
}
|
||||
|
||||
if ((segment->discont_sequence == cand->discont_sequence
|
||||
|| !playlist->has_ext_x_dsn)
|
||||
&& (cand->sequence == segment->sequence)) {
|
||||
if (cand->sequence == segment->sequence) {
|
||||
return cand;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue