From fccf28408818a112d64fe9c5d0ad4a392359d61c Mon Sep 17 00:00:00 2001 From: Maksim Shabunin Date: Sat, 9 Nov 2019 11:19:23 +0000 Subject: [PATCH] Fixed relative paths handling in cap_gstreamer: --- modules/videoio/src/cap_gstreamer.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/videoio/src/cap_gstreamer.cpp b/modules/videoio/src/cap_gstreamer.cpp index 585f43959d..f0a4f8eddb 100644 --- a/modules/videoio/src/cap_gstreamer.cpp +++ b/modules/videoio/src/cap_gstreamer.cpp @@ -748,18 +748,20 @@ bool GStreamerCapture::open(const String &filename_) // else, we might have a file or a manual pipeline. // if gstreamer cannot parse the manual pipeline, we assume we were given and // ordinary file path. + CV_LOG_INFO(NULL, "OpenCV | GStreamer: " << filename); if (!gst_uri_is_valid(filename)) { if (utils::fs::exists(filename_)) { - uri.attach(g_filename_to_uri(filename, NULL, NULL)); + GSafePtr err; + uri.attach(gst_filename_to_uri(filename, err.getRef())); if (uri) { file = true; } else { - CV_WARN("Error opening file: " << filename << " (" << uri.get() << ")"); + CV_WARN("Error opening file: " << filename << " (" << err->message << ")"); return false; } } @@ -779,7 +781,7 @@ bool GStreamerCapture::open(const String &filename_) { uri.attach(g_strdup(filename)); } - + CV_LOG_INFO(NULL, "OpenCV | GStreamer: mode - " << (file ? "FILE" : manualpipeline ? "MANUAL" : "URI")); bool element_from_uri = false; if (!uridecodebin) { -- GitLab