diff --git a/bin/api/epg_api.dart b/bin/api/epg_api.dart index 4ac4651..658262c 100644 --- a/bin/api/epg_api.dart +++ b/bin/api/epg_api.dart @@ -40,7 +40,7 @@ class EpgApi { '&action=get_epg&stream_id=$channelId&limit=48'; var response = - await http.get(Uri.parse(url)).timeout(const Duration(seconds: 15)); + await http.get(Uri.parse(url)).timeout(const Duration(seconds: 60)); Map epgData = { 'channel_id': channelId, 'programmes': [] @@ -57,7 +57,7 @@ class EpgApi { '$dns/player_api.php?username=${playlist.username}&password=${playlist.password}' '&action=get_short_epg&stream_id=$channelId'; response = - await http.get(Uri.parse(url)).timeout(const Duration(seconds: 10)); + await http.get(Uri.parse(url)).timeout(const Duration(seconds: 60)); if (response.statusCode == 200) { final raw = json.decode(response.body); epgData = _transformEpgData(raw, channelId); diff --git a/bin/api/streaming_handler.dart b/bin/api/streaming_handler.dart index 2629e8a..82fbc84 100644 --- a/bin/api/streaming_handler.dart +++ b/bin/api/streaming_handler.dart @@ -69,7 +69,7 @@ Future _resolveRedirects(String url, {int maxRedirects = 5}) async { request.followRedirects = false; final response = await client.send(request).timeout( - const Duration(seconds: 10), + const Duration(seconds: 30), onTimeout: () => throw TimeoutException('Redirect resolution timeout'), ); diff --git a/bin/services/recording_scheduler.dart b/bin/services/recording_scheduler.dart index d7a311f..8fdc39b 100644 --- a/bin/services/recording_scheduler.dart +++ b/bin/services/recording_scheduler.dart @@ -128,7 +128,7 @@ class RecordingScheduler { final url = '$dns/player_api.php?username=$username&password=$password' '&action=get_simple_data_table&stream_id=$channelId&type=epg&limit=48'; - final response = await http.get(Uri.parse(url)).timeout(const Duration(seconds: 15)); + final response = await http.get(Uri.parse(url)).timeout(const Duration(seconds: 60)); if (response.statusCode != 200) continue; final raw = json.decode(response.body); diff --git a/lib/core/api/api_client.dart b/lib/core/api/api_client.dart index dcfa6c5..cbaef55 100644 --- a/lib/core/api/api_client.dart +++ b/lib/core/api/api_client.dart @@ -13,8 +13,8 @@ class ApiClient { _dio = Dio(BaseOptions( baseUrl: _getBaseUrl(), headers: {'Content-Type': 'application/json'}, - connectTimeout: const Duration(seconds: 10), - receiveTimeout: const Duration(seconds: 10), + connectTimeout: const Duration(seconds: 60), + receiveTimeout: const Duration(seconds: 60), ),); // Add interceptor for logging