From 6d778e04915cc93851bcee69d334b4183ae9dd01 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aleix=20Conchillo=20Flaqu=C3=A9?= Date: Mon, 14 Oct 2024 10:40:41 -0700 Subject: [PATCH] services: add pts to LLMFullResponseEndFrame in WordTTSService --- src/pipecat/services/ai_services.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/pipecat/services/ai_services.py b/src/pipecat/services/ai_services.py index 7ca043e97..f1e01a18e 100644 --- a/src/pipecat/services/ai_services.py +++ b/src/pipecat/services/ai_services.py @@ -427,15 +427,18 @@ class WordTTSService(TTSService): self._words_task = None async def _words_task_handler(self): + last_pts = 0 while True: try: (word, timestamp) = await self._words_queue.get() if word == "LLMFullResponseEndFrame" and timestamp == 0: - await self.push_frame(LLMFullResponseEndFrame()) + frame = LLMFullResponseEndFrame() + frame.pts = last_pts else: frame = TextFrame(word) 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() except asyncio.CancelledError: break