mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-23 16:50:47 +00:00
core: store presets, registry and plugins in XDG directories.
Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/ root directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/. Fixes bug #518597.
This commit is contained in:
parent
5fe9bcd989
commit
4e36f93924
4 changed files with 18 additions and 12 deletions
|
@ -12,6 +12,11 @@ The 0.11 porting guide
|
||||||
* multifdsink, tcpclientsink, tcpclientsrc, tcpserversrc the protocol property
|
* multifdsink, tcpclientsink, tcpclientsrc, tcpserversrc the protocol property
|
||||||
is removed, use gdppay and gdpdepay.
|
is removed, use gdppay and gdpdepay.
|
||||||
|
|
||||||
|
* Presets and plugins moved to $XDG_DATA_HOME/gstreamer-0.11/ root
|
||||||
|
directory. Registry moved to $XDG_CACHE_HOME/gstreamer-0.11/.
|
||||||
|
XDG_CACHE_HOME usually points to $HOME/.cache and XDG_DATA_HOME
|
||||||
|
usually is $HOME/.local/share/.
|
||||||
|
|
||||||
* GstObject:
|
* GstObject:
|
||||||
GST_OBJECT_DISPOSING flag removed
|
GST_OBJECT_DISPOSING flag removed
|
||||||
GST_OBJECT_IS_DISPOSING removed
|
GST_OBJECT_IS_DISPOSING removed
|
||||||
|
|
|
@ -141,9 +141,9 @@ preset_get_paths (GstPreset * preset, const gchar ** preset_user_path,
|
||||||
if (!(preset_path = g_type_get_qdata (type, preset_user_path_quark))) {
|
if (!(preset_path = g_type_get_qdata (type, preset_user_path_quark))) {
|
||||||
gchar *preset_dir;
|
gchar *preset_dir;
|
||||||
|
|
||||||
/* user presets go in '$HOME/.gstreamer-0.10/presets/GstSimSyn.prs' */
|
/* user presets go in user's XDG data directory. */
|
||||||
preset_dir = g_build_filename (g_get_home_dir (),
|
preset_dir = g_build_filename (g_get_user_data_dir (),
|
||||||
".gstreamer-" GST_MAJORMINOR, "presets", NULL);
|
"gstreamer-" GST_MAJORMINOR, "presets", NULL);
|
||||||
GST_INFO_OBJECT (preset, "user_preset_dir: '%s'", preset_dir);
|
GST_INFO_OBJECT (preset, "user_preset_dir: '%s'", preset_dir);
|
||||||
preset_path =
|
preset_path =
|
||||||
g_strdup_printf ("%s" G_DIR_SEPARATOR_S "%s.prs", preset_dir,
|
g_strdup_printf ("%s" G_DIR_SEPARATOR_S "%s.prs", preset_dir,
|
||||||
|
|
|
@ -1509,8 +1509,9 @@ scan_and_update_registry (GstRegistry * default_registry,
|
||||||
|
|
||||||
/* plugins in the user's home directory take precedence over
|
/* plugins in the user's home directory take precedence over
|
||||||
* system-installed ones */
|
* system-installed ones */
|
||||||
home_plugins = g_build_filename (g_get_home_dir (),
|
home_plugins = g_build_filename (g_get_user_data_dir (),
|
||||||
".gstreamer-" GST_MAJORMINOR, "plugins", NULL);
|
"gstreamer-" GST_MAJORMINOR, "plugins", NULL);
|
||||||
|
|
||||||
GST_DEBUG ("scanning home plugins %s", home_plugins);
|
GST_DEBUG ("scanning home plugins %s", home_plugins);
|
||||||
changed |= gst_registry_scan_path_internal (&context, home_plugins);
|
changed |= gst_registry_scan_path_internal (&context, home_plugins);
|
||||||
g_free (home_plugins);
|
g_free (home_plugins);
|
||||||
|
@ -1589,8 +1590,8 @@ ensure_current_registry (GError ** error)
|
||||||
default_registry = gst_registry_get_default ();
|
default_registry = gst_registry_get_default ();
|
||||||
registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
|
registry_file = g_strdup (g_getenv ("GST_REGISTRY"));
|
||||||
if (registry_file == NULL) {
|
if (registry_file == NULL) {
|
||||||
registry_file = g_build_filename (g_get_home_dir (),
|
registry_file = g_build_filename (g_get_user_cache_dir (),
|
||||||
".gstreamer-" GST_MAJORMINOR, "registry." HOST_CPU ".bin", NULL);
|
"gstreamer-" GST_MAJORMINOR, "registry." HOST_CPU ".bin", NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_gst_disable_registry_cache) {
|
if (!_gst_disable_registry_cache) {
|
||||||
|
|
|
@ -248,8 +248,8 @@ remove_preset_file (void)
|
||||||
{
|
{
|
||||||
gchar *preset_file_name;
|
gchar *preset_file_name;
|
||||||
|
|
||||||
preset_file_name = g_build_filename (g_get_home_dir (),
|
preset_file_name = g_build_filename (g_get_user_data_dir (),
|
||||||
".gstreamer-" GST_MAJORMINOR, "presets", "GstPresetTest.prs", NULL);
|
"gstreamer-" GST_MAJORMINOR, "presets", "GstPresetTest.prs", NULL);
|
||||||
g_unlink (preset_file_name);
|
g_unlink (preset_file_name);
|
||||||
g_free (preset_file_name);
|
g_free (preset_file_name);
|
||||||
}
|
}
|
||||||
|
@ -281,9 +281,9 @@ gst_preset_suite (void)
|
||||||
gchar *gst_dir;
|
gchar *gst_dir;
|
||||||
gboolean can_write = FALSE;
|
gboolean can_write = FALSE;
|
||||||
|
|
||||||
/* cehck if we can create presets */
|
/* check if we can create presets */
|
||||||
gst_dir = g_build_filename (g_get_home_dir (),
|
gst_dir = g_build_filename (g_get_user_data_dir (),
|
||||||
".gstreamer-" GST_MAJORMINOR, NULL);
|
"gstreamer-" GST_MAJORMINOR, NULL);
|
||||||
can_write = (g_access (gst_dir, R_OK | W_OK | X_OK) == 0);
|
can_write = (g_access (gst_dir, R_OK | W_OK | X_OK) == 0);
|
||||||
g_free (gst_dir);
|
g_free (gst_dir);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue