diff options
-rw-r--r-- | README.md | 2 | ||||
-rw-r--r-- | binding/media-manager.c | 6 |
2 files changed, 6 insertions, 2 deletions
@@ -21,7 +21,7 @@ with the following fields. | Name | Description | |:------------|---------------------------------------------| | duration | length of track in milliseconds | -| path | path to media on filesystem | +| path | uri escaped path to media on filesystem | | title | title for media entey | | album | album name for media entry | | artist | artist name for media entry | diff --git a/binding/media-manager.c b/binding/media-manager.c index 9761924..f15d79e 100644 --- a/binding/media-manager.c +++ b/binding/media-manager.c @@ -131,13 +131,17 @@ GList* media_lightmediascanner_scan(GList *list, gchar *uri, int scan_type) struct stat buf; struct Media_Item *item; const char *path = (const char *) sqlite3_column_text(res, 0); + gchar *tmp; ret = stat(path, &buf); if (ret) continue; item = g_malloc0(sizeof(*item)); - item->path = g_strdup_printf("file://%s", path); + tmp = g_uri_escape_string(path, "/", TRUE); + item->path = g_strdup_printf("file://%s", tmp); + g_free(tmp); + item->type = scan_type; item->metadata.title = g_strdup((gchar *) sqlite3_column_text(res, 1)); item->metadata.artist = g_strdup((gchar *) sqlite3_column_text(res, 2)); |