From eebeb9087ad2f24d750f480672804da9e7be1455 Mon Sep 17 00:00:00 2001 From: Jun Harada Date: Fri, 22 Nov 2024 09:51:56 +0900 Subject: [PATCH] enable intentional restart of endless streaming. --- lib/endless_streaming_service.dart | 5 +++-- lib/endless_streaming_service_beta.dart | 5 +++-- lib/endless_streaming_service_v2.dart | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/lib/endless_streaming_service.dart b/lib/endless_streaming_service.dart index d461319..2108419 100644 --- a/lib/endless_streaming_service.dart +++ b/lib/endless_streaming_service.dart @@ -157,16 +157,17 @@ class EndlessStreamingService { _endlessStream.addError(error); }); - _resetTimer = Timer(_restartTime, _restart); + _resetTimer = Timer(_restartTime, restart); } - Future _restart() async { + Future restart() async { _transitioning = true; await Future.delayed(_transitionBufferTime); await _audioStreamSubscription?.cancel(); _audioStreamSubscription = null; await _streamingRecognizeSubscription.cancel(); await _request.close(); + _resetTimer?.cancel(); if (!_audioStreamIsFinished) { _startStream(); } diff --git a/lib/endless_streaming_service_beta.dart b/lib/endless_streaming_service_beta.dart index e4b8c1b..f2e7034 100644 --- a/lib/endless_streaming_service_beta.dart +++ b/lib/endless_streaming_service_beta.dart @@ -157,16 +157,17 @@ class EndlessStreamingServiceBeta { _endlessStream.addError(error); }); - _resetTimer = Timer(_restartTime, _restart); + _resetTimer = Timer(_restartTime, restart); } - Future _restart() async { + Future restart() async { _transitioning = true; await Future.delayed(_transitionBufferTime); await _audioStreamSubscription?.cancel(); _audioStreamSubscription = null; await _streamingRecognizeSubscription.cancel(); await _request.close(); + _resetTimer?.cancel(); if (!_audioStreamIsFinished) { _startStream(); } diff --git a/lib/endless_streaming_service_v2.dart b/lib/endless_streaming_service_v2.dart index 9b412fb..7f57cda 100644 --- a/lib/endless_streaming_service_v2.dart +++ b/lib/endless_streaming_service_v2.dart @@ -181,16 +181,17 @@ class EndlessStreamingServiceV2 { _endlessStream.addError(error); }); - _resetTimer = Timer(_restartTime, _restart); + _resetTimer = Timer(_restartTime, restart); } - Future _restart() async { + Future restart() async { _transitioning = true; await Future.delayed(_transitionBufferTime); await _audioStreamSubscription?.cancel(); _audioStreamSubscription = null; await _streamingRecognizeSubscription.cancel(); await _request.close(); + _resetTimer?.cancel(); if (!_audioStreamIsFinished) { _startStream(); }