Skip to content

Commit f2cac6e

Browse files
committed
hotfix size_hint in channels underflow
1 parent 1671d36 commit f2cac6e

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

src/conversions/channels.rs

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,13 +92,14 @@ where
9292
let (min, max) = self.input.size_hint();
9393

9494
let consumed = std::cmp::min(self.from, self.next_output_sample_pos) as usize;
95-
let calculate = |size| {
96-
(size + consumed) / self.from as usize * self.to as usize
97-
- self.next_output_sample_pos as usize
98-
};
9995

100-
let min = calculate(min);
101-
let max = max.map(calculate);
96+
let min = ((min + consumed) / self.from as usize * self.to as usize)
97+
.saturating_sub(self.next_output_sample_pos as usize);
98+
99+
let max = max.map(|max| {
100+
((max + consumed) / self.from as usize * self.to as usize)
101+
.saturating_sub(self.next_output_sample_pos as usize)
102+
});
102103

103104
(min, max)
104105
}

0 commit comments

Comments
 (0)