diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ef4a75c3..b5567afbe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Changed + +- `StartFrame` is now a control frame similar to `EndFrame`. + ### Fixed - Fixed a `BaseInputTransport` issue that was causing incoming system frames to diff --git a/src/pipecat/frames/frames.py b/src/pipecat/frames/frames.py index 46e2408bc..f1b0fc7b1 100644 --- a/src/pipecat/frames/frames.py +++ b/src/pipecat/frames/frames.py @@ -212,14 +212,6 @@ class SystemFrame(Frame): pass -@dataclass -class StartFrame(SystemFrame): - """This is the first frame that should be pushed down a pipeline.""" - allow_interruptions: bool = False - enable_metrics: bool = False - report_only_initial_ttfb: bool = False - - @dataclass class CancelFrame(SystemFrame): """Indicates that a pipeline needs to stop right away.""" @@ -306,6 +298,14 @@ class ControlFrame(Frame): pass +@dataclass +class StartFrame(ControlFrame): + """This is the first frame that should be pushed down a pipeline.""" + allow_interruptions: bool = False + enable_metrics: bool = False + report_only_initial_ttfb: bool = False + + @dataclass class EndFrame(ControlFrame): """Indicates that a pipeline has ended and frame processors and pipelines