feat(streaming): buffer resilience and automatic reconnection
- Construct the audio player with an enlarged live-stream buffer (15-50s forward cushion, 2.5s to start, 5s after rebuffer) so short network drops play through silently - Add reconnect-on-stall state machine with bounded exponential backoff (1/2/4/8/16s, ~90s total window, 5 attempts) that re-prepares to the live edge; backoff/decision logic extracted to controlador_reconexion.dart as pure testable code - Surface a new reconnecting playback state in the mini player and full player (localized in all 13 locales) instead of error dialogs during the retry window; a single friendly error appears only after exhaustion - Guard interplay: user pause/stop cancels retries, audio interruptions cancel reconnect, alarm wake-up path keeps precedence, recording fails cleanly during drops - Reset retry budget on station change; route stream timeouts through the network-error class - 10 new tests (99 total green), flutter analyze clean
This commit is contained in:
@@ -930,6 +930,9 @@ class AppLocalizationsDe extends AppLocalizations {
|
||||
@override
|
||||
String get playbackStatusPaused => 'Pausiert';
|
||||
|
||||
@override
|
||||
String get playbackStatusReconnecting => 'Wird neu verbunden...';
|
||||
|
||||
@override
|
||||
String get playbackStatusConnectionError => 'Verbindungsfehler';
|
||||
|
||||
|
||||
Reference in New Issue
Block a user