services: add pts to LLMFullResponseEndFrame in WordTTSService
This commit is contained in:
@@ -427,15 +427,18 @@ class WordTTSService(TTSService):
|
|||||||
self._words_task = None
|
self._words_task = None
|
||||||
|
|
||||||
async def _words_task_handler(self):
|
async def _words_task_handler(self):
|
||||||
|
last_pts = 0
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
(word, timestamp) = await self._words_queue.get()
|
(word, timestamp) = await self._words_queue.get()
|
||||||
if word == "LLMFullResponseEndFrame" and timestamp == 0:
|
if word == "LLMFullResponseEndFrame" and timestamp == 0:
|
||||||
await self.push_frame(LLMFullResponseEndFrame())
|
frame = LLMFullResponseEndFrame()
|
||||||
|
frame.pts = last_pts
|
||||||
else:
|
else:
|
||||||
frame = TextFrame(word)
|
frame = TextFrame(word)
|
||||||
frame.pts = self._initial_word_timestamp + timestamp
|
frame.pts = self._initial_word_timestamp + timestamp
|
||||||
await self.push_frame(frame)
|
last_pts = frame.pts
|
||||||
|
await self.push_frame(frame)
|
||||||
self._words_queue.task_done()
|
self._words_queue.task_done()
|
||||||
except asyncio.CancelledError:
|
except asyncio.CancelledError:
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user