summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/video_image_frame.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/gtk2_ardour/video_image_frame.cc b/gtk2_ardour/video_image_frame.cc
index 420f2a2e12..30fe487f51 100644
--- a/gtk2_ardour/video_image_frame.cc
+++ b/gtk2_ardour/video_image_frame.cc
@@ -194,7 +194,14 @@ http_get_thread (void *arg) {
(long int) vif->get_req_frame(), vif->get_width(), vif->get_height(),
vif->get_video_filename().c_str()
);
- char *res=curl_http_get(url, NULL);
+ int status = 0;
+ int timeout = 400; // * 5ms -> 2sec
+ char *res = NULL;
+ do {
+ res=curl_http_get(url, &status);
+ if (status == 503) usleep(5000); // try-again
+ } while (status == 503 && --timeout > 0);
+
pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, NULL);
vif->http_download_done(res);
pthread_exit(0);