After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 614058 - GStreamer registry and plugins path should not be relative
GStreamer registry and plugins path should not be relative
Status: RESOLVED FIXED
Product: banshee
Classification: Other
Component: GStreamer
git master
Other Windows
: Normal major
: 1.x
Assigned To: Banshee Maintainers
Banshee Maintainers
moovida
Depends on:
Blocks:
 
 
Reported: 2010-03-26 21:51 UTC by Julien MOUTTE
Modified: 2011-02-04 14:08 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Store GStreamer Registry in ApplicationData (1.21 KB, patch)
2011-02-02 00:39 UTC, Dustin C. Hatch
none Details | Review
Use absolute path for GStreamer plugins path (1.33 KB, patch)
2011-02-02 00:40 UTC, Dustin C. Hatch
none Details | Review
Store GStreamer Registry in ApplicationData (1.24 KB, patch)
2011-02-02 00:43 UTC, Dustin C. Hatch
committed Details | Review
Use absolute path for GStreamer plugins path (1.35 KB, patch)
2011-02-02 00:44 UTC, Dustin C. Hatch
committed Details | Review

Description Julien MOUTTE 2010-03-26 21:51:59 UTC
Relative paths are not going to work on Windows as we can't assume that the application is always launched with a cwd corresponding to the installed application directory. For example when associating the app to some media types like .mp3 the application will be launched with a different cwd. GStreamer plugins won't be found in that case and the registry will be invalidated.

Additionally we can't create the registry in cwd as the UAC on Windows might not let us do that in C:\Program Files
Comment 1 Dustin C. Hatch 2011-01-29 00:58:07 UTC
I just ran into this while testing the new installer maker. When launching Nereid from Windows Explorer, it tries to create the registry in the working directory, which is C:\Program Files (x86)\Banshee, to which normal users do not have write access.

I think %LOCALAPPDATA%\banshee-1 would be an appropriate location for this stuff. I'll look into creating a patch this weekend.
Comment 2 Gabriel Burt 2011-02-01 02:42:39 UTC
I think something like this would work well:

var path = Hyena.Paths.Combine (Hyena.Paths.ApplicationData, "gstreamer-registry.bin");
Comment 3 Dustin C. Hatch 2011-02-02 00:39:07 UTC
Created attachment 179850 [details] [review]
Store GStreamer Registry in ApplicationData
Comment 4 Dustin C. Hatch 2011-02-02 00:40:50 UTC
Created attachment 179851 [details] [review]
Use absolute path for GStreamer plugins path

I believe this will work for the plugins path; it needs to be the absolute path name of the installation directory plus "gst-plugins." If this isn't right or doesn't work, let me know.
Comment 5 Dustin C. Hatch 2011-02-02 00:43:45 UTC
Created attachment 179852 [details] [review]
Store GStreamer Registry in ApplicationData

Sorry, I failed at following conventions again...
Comment 6 Dustin C. Hatch 2011-02-02 00:44:09 UTC
Created attachment 179853 [details] [review]
Use absolute path for GStreamer plugins path
Comment 7 Gabriel Burt 2011-02-04 14:08:32 UTC
Committed both, thanks Dustin!