qtmux: avoid removing temp file when error occurred
authorMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 5 Nov 2010 10:08:01 +0000 (11:08 +0100)
committerMark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Fri, 19 Nov 2010 18:21:36 +0000 (19:21 +0100)
gst/qtmux/gstqtmux.c

index 83ac60c..e128e16 100644 (file)
@@ -1125,13 +1125,21 @@ flush_failed:
     GST_ELEMENT_ERROR (qtmux, RESOURCE, WRITE,
         ("Failed to flush temporary file"), GST_ERROR_SYSTEM);
     ret = GST_FLOW_ERROR;
-    return ret;
+    goto fail;
   }
 seek_failed:
   {
     GST_ELEMENT_ERROR (qtmux, RESOURCE, SEEK,
         ("Failed to seek temporary file"), GST_ERROR_SYSTEM);
     ret = GST_FLOW_ERROR;
+    goto fail;
+  }
+fail:
+  {
+    /* clear descriptor so we don't remove temp file later on,
+     * might be possible to recover */
+    fclose (qtmux->fast_start_file);
+    qtmux->fast_start_file = NULL;
     return ret;
   }
 }