@override Future<void> dispose() async { if (_disposed) return; _disposed = true; _recording = false; _paused = false; await _frames.close(); }