Add start frame to interrupt loop
This commit is contained in:
@@ -199,12 +199,19 @@ class BaseTransportService():
|
|||||||
|
|
||||||
post_process_task = asyncio.create_task(post_process(post_processor))
|
post_process_task = asyncio.create_task(post_process(post_processor))
|
||||||
|
|
||||||
|
started = False
|
||||||
|
|
||||||
async for frame in self.get_receive_frames():
|
async for frame in self.get_receive_frames():
|
||||||
print("Got frame: ", frame.__class__.__name__)
|
print("Got frame: ", frame.__class__.__name__)
|
||||||
if isinstance(frame, UserStartedSpeakingFrame):
|
if isinstance(frame, UserStartedSpeakingFrame):
|
||||||
pipeline_task.cancel()
|
pipeline_task.cancel()
|
||||||
self.interrupt()
|
self.interrupt()
|
||||||
pipeline_task = asyncio.create_task(pipeline.run_pipeline())
|
pipeline_task = asyncio.create_task(pipeline.run_pipeline())
|
||||||
|
started = False
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not started:
|
||||||
|
await self.send_queue.put(StartFrame())
|
||||||
|
|
||||||
if pre_processor:
|
if pre_processor:
|
||||||
frame_generator = pre_processor.process_frame(frame)
|
frame_generator = pre_processor.process_frame(frame)
|
||||||
|
|||||||
Reference in New Issue
Block a user