On Windows, the file handles must be closed before you can delete a file.
Also, it would cause an error if you try to close an already closed handle.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/814>
GST_DEBUG_OBJECT (dlbuf, "closing sparse file");
+ gst_sparse_file_free (dlbuf->file);
+ dlbuf->file = NULL;
+ /* fd was closed by gst_sparse_file_free's fclose() */
+ dlbuf->temp_fd = -1;
+
if (dlbuf->temp_remove) {
if (remove (dlbuf->temp_location) < 0) {
GST_WARNING_OBJECT (dlbuf, "Failed to remove temporary file %s: %s",
dlbuf->temp_location, g_strerror (errno));
}
}
- gst_sparse_file_free (dlbuf->file);
- close (dlbuf->temp_fd);
- dlbuf->file = NULL;
}
static void