diff --git a/README.md b/README.md index 08b90a3..2d40b47 100644 --- a/README.md +++ b/README.md @@ -14,3 +14,26 @@ A few resources to get you started if this is your first Flutter project: For help getting started with Flutter development, view the [online documentation](https://docs.flutter.dev/), which offers tutorials, samples, guidance on mobile development, and a full API reference. + +--- + +## M3U Sources (Live Channel Playlists) 📺 + +This app supports loading remote M3U playlists (HLS/DASH) and managing saved M3U sources. + +- Open the app and click the **Saved sources** button (list icon) next to the M3U URL input on the home screen. +- Use the **M3U Sources** screen to **add** M3U URLs, **remove** them, or **mark one as default** (star icon). +- Selecting a saved source closes the screen and fills the M3U URL input; the app will fetch channels from that URL. +- If a default source is set it will be auto-loaded on startup. + +Notes: + +- The app caches fetched M3U results in memory for a short period (cache TTL: 5 minutes) to avoid repeated network requests. Use the refresh button to force a refresh. +- From the channel list you can tap a channel to play inline or open it full-screen. The player includes a small **Inspect** action (info icon) that performs a quick HEAD probe for HTTP(S) streams and a **Retry** button for recoverable errors. + +Troubleshooting & Tips: + +- If a stream needs custom headers or cookies the player may need to be extended—this is available as a planned enhancement. +- On macOS, if subtitle files on external drives fail to load, the app shows guidance to enable **Full Disk Access** in System Settings. + +---