Solve "too many open files" by closing those which are not compatible with vorbisgain. Thanks to Marcel Rehberg for the patch.
--- a/vorbis.c
+++ b/vorbis.c
@@ -357,7 +357,8 @@
         {
 	        vorbis_error(result, _("Couldn't process '%s': "), filename);
         }
-
+        // make sure file is closed, since ov_open failed we are still responsible
+        fclose(file);
         return -1;
     }
 
