dart_cast 0.2.0
dart_cast: ^0.2.0 copied to clipboard
A pure Dart cross-platform casting package supporting Chromecast (CASTV2), AirPlay, and DLNA with built-in HTTP proxy for header injection.
0.2.0 #
- AirPlay feature flag detection via mDNS TXT records (
AirPlayFeaturesclass parsesfeatures/ftbitmask) AirPlayMediaControllerwith V1/V2/playformat auto-negotiation (V1 binary plist → V1 text/parameters → V2 with RTSP SETUP)UnsupportedFeatureExceptionthrown immediately when a device lacks video support bits (0 and 49)PlaybackExceptionthrown when all/playformat attempts are rejected by the device- Breaking:
HapSessionno longer hasplay,stop,scrub, orratemethods — useAirPlayMediaControllerinstead - Added
docs/PROTOCOL_REFERENCES.mdwith links to AirPlay, Chromecast, and DLNA specs - Added
docs/FUTURE_WORK.mddocumenting AirPlay screen mirroring and RAOP audio streaming roadmap
0.1.0 #
- Initial release
- Chromecast (CASTV2) protocol support with default media receiver
- AirPlay 1 video casting support
- DLNA/UPnP protocol support with AVTransport and RenderingControl
- Built-in HTTP proxy server for custom header injection
- HLS m3u8 playlist URL rewriting through proxy
- Local file serving for downloaded content
- Subtitle support across all protocols (WebVTT, SRT)
- Cross-platform: Android, iOS, macOS, Windows, Linux
- Pluggable device discovery (default: multicast_dns, injectable: bonsoir)
- 366+ tests with mock servers for each protocol
- Flutter example app with device picker and remote control