1.16.0: can't write to temporary timeline description file
I am trying to use gst-launch-1.0
with gesdemux
as a way of reproducing and sharing bugs that I have found. In this case, I am not going to share the media files because I suspect this bug would reproduce with any timeline ... and the media files are private content in this case.
I have a gst-launch-1.0
script which succeeds in fedora 30
using gstreamer 1.16.0
(only the file paths are slightly different on Linux); but it fails in Windows.
On Windows I'm using the official 1.16.0-mingw
build of the gstreamer binaries. I'm using GitBash (on Windows 10.0.17763) and this is what happens when I attempt to launch.
$ ./launch.sh
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:decode/GstDecodeBin:decodebin0/GESDemux:gesdemux0: Could not write temporary timeline description file
Additional debug info:
../plugins/ges/gesdemux.c(378): ges_demux_sink_event (): /GstPipeline:pipeline0/GstURIDecodeBin:decode/GstDecodeBin:decodebin0/GESDemux:gesdemux0:
Existing file ▒C:\Users\ding\AppData\Local\Temp\.MGEV5Z▒ could not be removed: g_unlink() failed: Permission denied
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
The relevant block of code is ...
g_file_set_contents (filename, (gchar *) map.data, map.size, &err);
if (err) {
GST_ELEMENT_ERROR (self, RESOURCE, WRITE,
("Could not write temporary timeline description file"),
("%s", err->message));
goto error;
}
I can see the file was created on disk, and it is empty.
I looked at the Windows-specific notes here but they don't seem to apply to this situation (since the call is not attempting to rename or remove the file).