summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatt Ranostay <matt.ranostay@konsulko.com>2017-08-07 15:14:58 -0700
committerMatt Ranostay <matt.ranostay@konsulko.com>2017-08-07 15:15:13 -0700
commitc5aacddf9142a56a25bc01cfd7d4ce537cb44cd2 (patch)
tree41480a0b03d486e581a6b64be0935b1f7f4fad6f
parent6873bf7083349756314691589c45a0a43402fc47 (diff)
binding: media: scan local users Media directory
Scan ~/Music in addition to the mounted physical media. Bug-AGL: SPEC-810 Change-Id: Ieb76cedc841cf5ea9ae4c260872943b9763ddcb3 Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
-rw-r--r--mediaplayer-api.c5
-rw-r--r--mediaplayer-manager.c24
-rw-r--r--mediaplayer-manager.h1
3 files changed, 26 insertions, 4 deletions
diff --git a/mediaplayer-api.c b/mediaplayer-api.c
index 44944df..08372ad 100644
--- a/mediaplayer-api.c
+++ b/mediaplayer-api.c
@@ -91,10 +91,6 @@ static json_object *new_json_object_from_device(GList *list)
json_object_object_add(jresp, "Media", jarray);
- // TODO: Add media path
- jstring = json_object_new_string("");
- json_object_object_add(jresp, "Path", jstring);
-
return jresp;
}
@@ -105,6 +101,7 @@ static void media_results_get (struct afb_req request)
ListLock();
list = media_lightmediascanner_scan();
+ list = media_local_scan(list);
if (list == NULL) {
afb_req_fail(request, "failed", "media scan error");
ListUnlock();
diff --git a/mediaplayer-manager.c b/mediaplayer-manager.c
index 6265312..38e5cab 100644
--- a/mediaplayer-manager.c
+++ b/mediaplayer-manager.c
@@ -83,6 +83,30 @@ void DebugTraceSendMsg(int level, gchar* message)
}
+GList* media_local_scan(GList *list)
+{
+ gchar *path = g_strconcat(g_get_home_dir(), "/", "Music", NULL);
+ gchar *tmp = NULL;
+ GDir *dir;
+
+ dir = g_dir_open(path, 0, NULL);
+ if (dir == NULL)
+ {
+ LOGE("Cannot open media path %s\n", path);
+ return list;
+ }
+
+ while ((tmp = (gchar *) g_dir_read_name(dir)) != NULL)
+ {
+ list = g_list_append(list, g_strdup_printf("file://%s/%s", path, tmp));
+ }
+
+ g_free(path);
+ g_dir_close(dir);
+
+ return list;
+}
+
GList* media_lightmediascanner_scan(void)
{
sqlite3 *conn;
diff --git a/mediaplayer-manager.h b/mediaplayer-manager.h
index ae4fc8a..5864867 100644
--- a/mediaplayer-manager.h
+++ b/mediaplayer-manager.h
@@ -98,5 +98,6 @@ void ListLock();
void ListUnlock();
GList* media_lightmediascanner_scan(void);
+GList* media_local_scan(GList *list);
#endif