From 76f74ca4338e8c4e20653761ad838d518257b486 Mon Sep 17 00:00:00 2001 From: Michael Oborne Date: Thu, 23 May 2024 09:15:46 +1000 Subject: [PATCH] GStreamer: add retry to file download --- ExtLibs/Utilities/GStreamer.cs | 36 +++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/ExtLibs/Utilities/GStreamer.cs b/ExtLibs/Utilities/GStreamer.cs index 0e25d9c573..555e2fb3cc 100644 --- a/ExtLibs/Utilities/GStreamer.cs +++ b/ExtLibs/Utilities/GStreamer.cs @@ -2163,26 +2163,34 @@ public static void DownloadGStreamer(Action status = null) status?.Invoke(0, "Downloading.."); + int retry = 3; - try - { - Download.getFilefromNet(url, output, status: status); - - status?.Invoke(50, "Extracting.."); - ZipFile.ExtractToDirectory(output, Settings.GetDataDirectory()); - status?.Invoke(100, "Done."); - } - catch (WebException ex) + while (retry > 0) { - status?.Invoke(-1, "Error downloading file " + ex.ToString()); try { - if (File.Exists(output)) - File.Delete(output); + Download.getFilefromNet(url, output, status: status); + + status?.Invoke(50, "Extracting.."); + ZipFile.ExtractToDirectory(output, Settings.GetDataDirectory()); + status?.Invoke(100, "Done."); + + break; } - catch + catch (Exception ex) { - } + status?.Invoke(-1, "Error downloading file " + ex.ToString()); + try + { + if (File.Exists(output)) + File.Delete(output); + } + catch + { + } + status?.Invoke(-1, "Retry"); + } + retry--; } } }