fix: DeepgramTTSService, let the base class push TTSStoppedFrame
Please describe the changes in your PR. If it is addressing an issue, please reference that as well.
I found this in testing with an RTVI client. After a function call, the test in the voice-ui-kit was not creating a new line. In pulling the thread, I found that emitting the TTSStoppedFrame any time a Flushed message was received from Deepgram was a problem because the LLMFullResponseEndFrame comes after a function call, resulting in a flush (despite no text), causing an errant TTSStoppedFrame to be pushed.
Now, DeepgramTTSService relies on the base class to push the TTSStoppedFrame.
Also, because it's a websocket TTS service, I'm pausing processing during audio playout to prevent overlapping audio.
Codecov Report
:x: Patch coverage is 0% with 1 line in your changes missing coverage. Please review.
| Files with missing lines | Patch % | Lines |
|---|---|---|
| src/pipecat/services/deepgram/tts.py | 0.00% | 1 Missing :warning: |
| Files with missing lines | Coverage Δ | |
|---|---|---|
| src/pipecat/services/deepgram/tts.py | 0.00% <0.00%> (ø) |
:rocket: New features to boost your workflow:
- :snowflake: Test Analytics: Detect flaky tests, report on failures, and find test suite problems.