[Bug 721031] New: MSI installer does not set plugin directory and the automatic search does not use the GSTREAMER_ROOT environment variable.

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Wed Dec 25 00:00:52 PST 2013


https://bugzilla.gnome.org/show_bug.cgi?id=721031
  GStreamer | packages | 1.2.1

           Summary: MSI installer does not set plugin directory and the
                    automatic search does not use the GSTREAMER_ROOT
                    environment variable.
    Classification: Platform
           Product: GStreamer
           Version: 1.2.1
        OS/Version: Windows
            Status: UNCONFIRMED
          Severity: major
          Priority: Normal
         Component: packages
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: shiften at yahoo.com
         QAContact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---


When installing gstreamer-1.0-x86-1.2.1.msi, a Windows (Visual Studio) program
linked against the gstreamer SDK does not load any plugins when relying on the
gstreamer MSI to be separately installed.

I looked into it, and the MSI is setting the system environment variable,
GSTREAMER_ROOT, correctly but it is not setting GST_PLUGIN_SYSTEM_PATH_1_0 or
any other GST PLUGIN path variable.

In the scan_and_update_registry() function, the closest it gets is:

DEBUG           GST_REGISTRY gstregistry.c:1596:scan_and_update_registry:
scanning main plugins /c/gstreamer/1.0/x86/lib/gstreamer-1.0

In win32/common/config.h, it specifically lists "c:/", so I'm not sure where
the "/c/" comes from.  This may be because the shipped MSI is using Cygwin or a
cross compiler?

Either way, the default location for installing the MSI ended up being
"D:\gstreamer", not C:.  D: isn't the system root, just where the MSI was
located.  This should be corrected to install to the system root or preferably
the Program Files, as access can always be found through the GSTREAMER_ROOT
variable.

The suggested solution for the above problems is to adjust the
scan_and_update_registry() function to use GSTREAMER_ROOT and build the path
from there, instead of the constants in the config.h file.

Another option is to adjust the MSI to set the system environment variable,
GST_PLUGIN_SYSTEM_PATH_1_0, to the correct value.  This would require no code
change.

Also, I think that the 0.10 msi (from OSSBuild on Google Code) either set the
paths to the bin dlls or had a copy somewhere that was on the path.  I would
suggest also doing that for the the 1.0 gstreamer MSI.

Thanks.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list