40 lines
1.8 KiB
Markdown
40 lines
1.8 KiB
Markdown
# yommi_ff
|
|
|
|
A new Flutter project.
|
|
|
|
## Getting Started
|
|
|
|
This project is a starting point for a Flutter application.
|
|
|
|
A few resources to get you started if this is your first Flutter project:
|
|
|
|
- [Lab: Write your first Flutter app](https://docs.flutter.dev/get-started/codelab)
|
|
- [Cookbook: Useful Flutter samples](https://docs.flutter.dev/cookbook)
|
|
|
|
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.
|
|
|
|
---
|