# Troubleshooting

**The browser stopped after closing the terminal.** Playback depends on the local
runtime. Relaunch Digital Stream and reopen a valid session link; old media tickets
are resolved again. Keep the application running until viewing finishes.

**Port 3005 is occupied.** With no explicit --port, Digital Stream chooses an available
port and prints its actual origin. Use the new watch link. --port 3005 intentionally
fails if that exact port cannot bind.

**Another instance uses this data directory.** Stop that instance, or supply a distinct
--data-dir. Stale locks from a terminated process are recovered at startup.

**No pictures or sound on a source.** The browser player reports unsupported codec,
DRM or provider errors and tries available mirrors while retaining position. Run doctor
for FFmpeg/ffprobe status. Install the missing tools if conversion is needed; direct
sources remain available. Browser autoplay can require an explicit Play click.

**A provider returns no results.** Providers are independent. Check its setup state,
enable it in Providers, choose its scope with p, or use Open Cinema to verify the system.
Cross-provider searches retain successful results and summarize failures. Metadata-only
and Android-runtime entries do not claim playable portable streams.

**Opening or copying failed.** The watch link is always displayed. Select it and copy it
with your terminal’s normal selection mechanism, then paste it into a browser on the
same computer. Headless shells may have no browser opener or active clipboard service.

**State is damaged.** Digital Stream preserves a .corrupt timestamped copy and recovers
complete saved title records when possible. Inspect Diagnostics. Reset only history,
watchlist or provider selection from Settings; other configuration is preserved.

**Optional browser or AI provider failed.** Basic playback does not need either.
Follow SETUP.md for explicit setup. No Chromium, Python environment, model or media tool
is downloaded during installation or basic launch.

**A link is invalid, stopped or expired.** Create a new watch session in the terminal.
Sessions expire 12 hours after creation. Changing terminal selection never silently
replaces a different browser session. Stop and shutdown are separate actions.
