stopAudioStream method

Future<void> stopAudioStream()

Implementation

Future<void> stopAudioStream() async {
  if (!_isStreaming) return;

  await _log('=== STOPPING AUDIO STREAM ===');
  await _log('Final statistics:');
  await _log('  Packets received: $_packetsReceived');
  await _log('  Frames processed: $_framesProcessed');
  await _log('=============================');

  try {
    await _audioSubscription?.cancel();
    _audioSubscription = null;

    _isStreaming = false;
    _resetProcessing();
    if (!_audioDataController.isClosed) {
      _audioDataController.add(Uint8List(0));
    }
    if (!_processedAudioController.isClosed) {
      _processedAudioController.add(Uint8List(0));
    }

    await _log('Audio stream stopped successfully');
  } catch (e) {
    await _log('Error stopping audio stream: $e');
    _isStreaming = false;
  }
}