Fixed relative paths handling in cap_gstreamer:
authorMaksim Shabunin <maksim.shabunin@gmail.com>
Sat, 9 Nov 2019 11:19:23 +0000 (11:19 +0000)
committerMaksim Shabunin <maksim.shabunin@gmail.com>
Sat, 9 Nov 2019 11:34:30 +0000 (11:34 +0000)
modules/videoio/src/cap_gstreamer.cpp

index 585f439..f0a4f8e 100644 (file)
@@ -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<GError> 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)
     {