Skip to content

Commit

Permalink
fix: Correct closing logic in AudioStream to prevent discarding remai…
Browse files Browse the repository at this point in the history
…ning data
  • Loading branch information
GrisaiaEvy authored and fedirz committed Jul 17, 2024
1 parent 5449f92 commit 4efd3c6
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions faster_whisper_server/audio.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,12 +87,15 @@ async def chunks(self, min_duration: float) -> AsyncGenerator[NDArray[np.float32
while True:
await self.modify_event.wait()
self.modify_event.clear()
if self.closed or self.duration - i >= min_duration:

if self.closed:
if self.duration > i:
yield self.after(i).data
return
if self.duration - i >= min_duration:
# If `i` shouldn't be set to `duration` after the yield
# because by the time assignment would happen more data might have been added
i_ = i
i = self.duration
# NOTE: probably better to just to a slice
yield self.after(i_).data
if self.closed:
return

0 comments on commit 4efd3c6

Please sign in to comment.