Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit d388acd

Browse files
committed
stream.dash: fix segment number iterator
1 parent 49682dd commit d388acd

2 files changed

Lines changed: 5 additions & 7 deletions

File tree

src/streamlink/stream/dash_manifest.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -736,14 +736,12 @@ def segment_numbers(self) -> Iterator[Tuple[int, datetime.datetime]]:
736736
buffer_time = self.root.minBufferTime
737737

738738
# Segment number
739-
# To reduce unnecessary delay, start with the next/upcoming segment: +1
740739
seconds_offset = (since_start - suggested_delay - buffer_time).total_seconds()
741-
number_offset = max(0, int(seconds_offset / self.duration_seconds) + 1)
740+
number_offset = max(0, int(seconds_offset / self.duration_seconds))
742741
number_iter = count(self.startNumber + number_offset)
743742

744743
# Segment availability time
745-
# The availability time marks the segment's beginning: -1
746-
available_offset = datetime.timedelta(seconds=max(0, number_offset - 1) * self.duration_seconds)
744+
available_offset = datetime.timedelta(seconds=number_offset * self.duration_seconds)
747745
available_start = self.period.availabilityStartTime + available_offset
748746
available_iter = count_dt(
749747
available_start,

tests/stream/test_dash_parser.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,15 +147,15 @@ def test_segments_dynamic_number(self):
147147
datetime.datetime(2000, 1, 1, 0, 1, 30, tzinfo=UTC),
148148
),
149149
(
150-
"http://test/hd-5_000000794.mp4",
150+
"http://test/hd-5_000000793.mp4",
151151
datetime.datetime(2000, 1, 1, 0, 59, 15, tzinfo=UTC),
152152
),
153153
(
154-
"http://test/hd-5_000000795.mp4",
154+
"http://test/hd-5_000000794.mp4",
155155
datetime.datetime(2000, 1, 1, 0, 59, 20, tzinfo=UTC),
156156
),
157157
(
158-
"http://test/hd-5_000000796.mp4",
158+
"http://test/hd-5_000000795.mp4",
159159
datetime.datetime(2000, 1, 1, 0, 59, 25, tzinfo=UTC),
160160
),
161161
]

0 commit comments

Comments
 (0)