Use local variable instead of instance variable for RTVI prepend decision
Replace _rtvi_external instance variable with a local prepend_rtvi flag since it is only used during __init__ to decide whether to prepend the RTVIProcessor to the pipeline.
This commit is contained in:
@@ -330,7 +330,7 @@ class PipelineTask(BasePipelineTask):
|
|||||||
|
|
||||||
# RTVI support
|
# RTVI support
|
||||||
self._rtvi = None
|
self._rtvi = None
|
||||||
self._rtvi_external = False
|
prepend_rtvi = False
|
||||||
external_rtvi = self._find_processor(pipeline, RTVIProcessor)
|
external_rtvi = self._find_processor(pipeline, RTVIProcessor)
|
||||||
external_observer_found = any(isinstance(o, RTVIObserver) for o in observers)
|
external_observer_found = any(isinstance(o, RTVIObserver) for o in observers)
|
||||||
|
|
||||||
@@ -350,10 +350,10 @@ class PipelineTask(BasePipelineTask):
|
|||||||
"They are both added by default, no need to add them yourself."
|
"They are both added by default, no need to add them yourself."
|
||||||
)
|
)
|
||||||
self._rtvi = external_rtvi
|
self._rtvi = external_rtvi
|
||||||
self._rtvi_external = True
|
|
||||||
elif enable_rtvi:
|
elif enable_rtvi:
|
||||||
self._rtvi = rtvi_processor or RTVIProcessor()
|
self._rtvi = rtvi_processor or RTVIProcessor()
|
||||||
observers.append(self._rtvi.create_rtvi_observer(params=rtvi_observer_params))
|
observers.append(self._rtvi.create_rtvi_observer(params=rtvi_observer_params))
|
||||||
|
prepend_rtvi = True
|
||||||
|
|
||||||
if self._rtvi:
|
if self._rtvi:
|
||||||
# Automatically call RTVIProcessor.set_bot_ready()
|
# Automatically call RTVIProcessor.set_bot_ready()
|
||||||
@@ -393,10 +393,7 @@ class PipelineTask(BasePipelineTask):
|
|||||||
# Only prepend the RTVIProcessor if we created it ourselves. When the
|
# Only prepend the RTVIProcessor if we created it ourselves. When the
|
||||||
# user already placed it inside their pipeline we must not insert it
|
# user already placed it inside their pipeline we must not insert it
|
||||||
# again or it will appear twice in the frame chain.
|
# again or it will appear twice in the frame chain.
|
||||||
if self._rtvi and not self._rtvi_external:
|
processors = [self._rtvi, pipeline] if prepend_rtvi else [pipeline]
|
||||||
processors = [self._rtvi, pipeline]
|
|
||||||
else:
|
|
||||||
processors = [pipeline]
|
|
||||||
self._pipeline = Pipeline(processors, source=source, sink=sink)
|
self._pipeline = Pipeline(processors, source=source, sink=sink)
|
||||||
|
|
||||||
# The task observer acts as a proxy to the provided observers. This way,
|
# The task observer acts as a proxy to the provided observers. This way,
|
||||||
|
|||||||
Reference in New Issue
Block a user