diff -u xmms/xmms/main.c xmms-colin/xmms/main.c --- xmms/xmms/main.c.old 14 Apr 2002 12:15:39 -0000 +++ xmms-colin/xmms/main.c 26 Apr 2002 00:37:47 -0000 @@ -2901,9 +2901,10 @@ gchar stime_prefix, *tmp; static gboolean waiting = FALSE; static gint count = 0; - + gint try_count = 0; static GTimer *pause_timer = NULL; - + + begin_try: if (get_input_playing()) { GDK_THREADS_ENTER(); @@ -2952,10 +2953,11 @@ waiting = FALSE; } } - else if (time == -2) + else if (time == -2 && try_count == 3) { static GtkWidget *infobox; GDK_THREADS_ENTER(); + printf("try_count = 3, giving up\n"); if (!infobox) { infobox = xmms_show_message( @@ -2972,7 +2974,16 @@ else gdk_window_raise(infobox->window); mainwin_stop_pushed(); + try_count = 0; + GDK_THREADS_LEAVE(); + } + else if (time == -2 && try_count < 3) { + printf("Can't open audio, try_count = %d\n", try_count); + try_count ++; + GDK_THREADS_ENTER(); + sleep (1); GDK_THREADS_LEAVE(); + goto begin_try; } else {