downloadbuffer: close file before trying to remove

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/821>
This commit is contained in:
Doug Nazar 2021-05-06 23:00:57 -04:00 committed by Tim-Philipp Müller
parent a16492a61f
commit 20d4184a69

View file

@ -960,15 +960,17 @@ gst_download_buffer_close_temp_location_file (GstDownloadBuffer * dlbuf)
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