modify abort tts hangle

This commit is contained in:
brige 2024-11-10 14:06:47 +08:00
parent a6153b1eb9
commit dde41769bf

View File

@ -69,6 +69,13 @@ class TTSAudioSplitHandle(TTSAudioHandle):
logger.info('TTSAudioSplitHandle::on_handle is not running') logger.info('TTSAudioSplitHandle::on_handle is not running')
return return
# heapq.heappush(self._priority_queue, (index, stream)) # heapq.heappush(self._priority_queue, (index, stream))
with self._lock:
current = self._priority_queue[0][0]
if current == 0:
self._current = 0
self._priority_queue.clear()
if stream is None: if stream is None:
heapq.heappush(self._priority_queue, (index, None)) heapq.heappush(self._priority_queue, (index, None))
else: else:
@ -84,19 +91,15 @@ class TTSAudioSplitHandle(TTSAudioHandle):
return return
heapq.heappush(self._priority_queue, (index, chunks)) heapq.heappush(self._priority_queue, (index, chunks))
with self._lock: print('TTSAudioSplitHandle::on_handle', index, current, self._current, len(self._priority_queue))
current = self._priority_queue[0][0] if current == self._current:
if current == 0: self._current = self._current + 1
self._current = 0 chunks = heapq.heappop(self._priority_queue)[1]
print('TTSAudioSplitHandle::on_handle', index, current, self._current, len(self._priority_queue)) if chunks is None:
if current == self._current: pass
self._current = self._current + 1 else:
chunks = heapq.heappop(self._priority_queue)[1] for chunk in chunks:
if chunks is None: self.on_next_handle(chunk, 0)
pass
else:
for chunk in chunks:
self.on_next_handle(chunk, 0)
def stop(self): def stop(self):
self._is_running = False self._is_running = False