[真实链路自测]:完成完整流程自测和ACK缓冲修正,包含真实Provider验收、播放回声清理和回归测试
This commit is contained in:
@@ -58,12 +58,15 @@ class MemoryAudioTransport:
|
||||
frames: list[AudioFrame] | None = None,
|
||||
input_available: bool = True,
|
||||
output_available: bool = True,
|
||||
flush_clears_input: bool = True,
|
||||
) -> None:
|
||||
self._frames: deque[AudioFrame] = deque(frames or [])
|
||||
self.played_segments: list[AudioSegment] = []
|
||||
self.flush_count = 0
|
||||
self.started = False
|
||||
self._input_available = input_available
|
||||
self._output_available = output_available
|
||||
self._flush_clears_input = flush_clears_input
|
||||
|
||||
def start_input(
|
||||
self, device_id: str | None = None, sample_rate: int = 16000, channels: int = 1
|
||||
@@ -104,6 +107,9 @@ class MemoryAudioTransport:
|
||||
return PlaybackResult(True, segment.duration_ms)
|
||||
|
||||
def flush_input(self) -> int:
|
||||
self.flush_count += 1
|
||||
if not self._flush_clears_input:
|
||||
return 0
|
||||
count = len(self._frames)
|
||||
self._frames.clear()
|
||||
return count
|
||||
|
||||
Reference in New Issue
Block a user