Skip to content

Repository files navigation

lan_audio_link

lan_audio_link is a generic, product-agnostic Flutter desktop plugin for real-time PCM audio transport across a local network.

Current MVP scope:

  • Native implementation for Windows and macOS
  • LAN-only UDP transport
  • Uncompressed PCM audio at 48 kHz, 16-bit, stereo by default
  • Input device enumeration
  • Output device enumeration
  • Sender mode with live capture from a selected device
  • Multi-receiver sender fan-out to several LAN targets in parallel
  • Receiver mode with bounded jitter buffering and live playback to a selected device
  • openLan and restrictedLan receiver access control
  • Dart streams for link state, levels, and stats

What this plugin does not do in the MVP:

  • Public internet streaming
  • Icecast, Shoutcast, LiveKit, WebRTC, SRT, or Opus
  • Audio recording or saving PCM/audio files to disk
  • Historical persistence of packets, buffers, or audio frames

Example API

final link = LanAudioLink();

final inputs = await link.getInputDevices();
final outputs = await link.getOutputDevices();

await link.startSender(
  inputDeviceId: inputs.first.id,
  targetHosts: const ['192.168.1.20', '192.168.1.21'],
  targetPort: 5000,
);

await link.stop();
await link.dispose();

Native architecture

  • Dart API and controller layer in lib/src
  • Method channel boundary for platform-independent Flutter usage
  • Windows native core in windows/native
  • macOS native core in macos/lan_audio_link/Sources/lan_audio_link
  • Device management separated from capture, playback, and UDP transport
  • Fixed-size bounded receiver jitter buffer
  • Packet header with magic, version, sequence, timestamp, format, and payload size

Roadmap

Future phases may add:

  • Linux support
  • Opus compression
  • SRT transport
  • Encryption
  • Broader remote-network support

About

Cross-platform low-latency LAN audio streaming plugin for Flutter. Real-time audio transmission and reception over local networks with automatic reconnection and device selection.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages