diff options
author | Leandro Dorileo <leandro.maciel.dorileo@intel.com> | 2014-01-17 10:48:53 -0200 |
---|---|---|
committer | Leandro Dorileo <leandro.maciel.dorileo@intel.com> | 2014-01-29 10:13:39 -0200 |
commit | 54a59bc35c66b94c0dd96b71fbd2e2ccc3e0a480 (patch) | |
tree | 93183d453f980b74f4ea9e1a55ef5702c774972e | |
parent | a9ede073cde2bbb26f74e04786c55ca93bbaa540 (diff) | |
download | lightmediascanner-54a59bc35c66b94c0dd96b71fbd2e2ccc3e0a480.tar.gz lightmediascanner-54a59bc35c66b94c0dd96b71fbd2e2ccc3e0a480.tar.bz2 lightmediascanner-54a59bc35c66b94c0dd96b71fbd2e2ccc3e0a480.zip |
db layer: call the lms_dlna_* functions
Call the lms_dlna_* functions to properly set the dlna_profile and dlna_mime
fields. The plugins can still set/define their own dlna_mime and dlna_profile,
if so, we're not going to overwrite it and the plugin's will have priority.
-rw-r--r-- | src/lib/lightmediascanner_db_audio.c | 10 | ||||
-rw-r--r-- | src/lib/lightmediascanner_db_image.c | 11 | ||||
-rw-r--r-- | src/lib/lightmediascanner_db_video.c | 10 |
3 files changed, 31 insertions, 0 deletions
diff --git a/src/lib/lightmediascanner_db_audio.c b/src/lib/lightmediascanner_db_audio.c index c9ff039..5958f29 100644 --- a/src/lib/lightmediascanner_db_audio.c +++ b/src/lib/lightmediascanner_db_audio.c @@ -20,6 +20,7 @@ * @author Gustavo Sverzut Barbieri <barbieri@profusion.mobi> */ #include <lightmediascanner_db.h> +#include <lightmediascanner_dlna.h> #include "lightmediascanner_db_private.h" #include <stdlib.h> #include <stdio.h> @@ -728,6 +729,7 @@ lms_db_audio_add(lms_db_audio_t *lda, struct lms_audio_info *info) { int64_t album_id, genre_id, artist_id; int ret_album, ret_genre, ret_artist; + const struct lms_dlna_audio_profile *dlna; if (!lda) return -1; @@ -736,6 +738,14 @@ lms_db_audio_add(lms_db_audio_t *lda, struct lms_audio_info *info) if (info->id < 1) return -3; + if (info->dlna_mime.len == 0 && info->dlna_profile.len == 0) { + dlna = lms_dlna_get_audio_profile(info); + if (dlna) { + info->dlna_mime = *dlna->dlna_mime; + info->dlna_profile = *dlna->dlna_profile; + } + } + ret_artist = _db_insert_artist(lda, info, &artist_id); if (ret_artist < 0) return -4; diff --git a/src/lib/lightmediascanner_db_image.c b/src/lib/lightmediascanner_db_image.c index b9cdf88..87877fe 100644 --- a/src/lib/lightmediascanner_db_image.c +++ b/src/lib/lightmediascanner_db_image.c @@ -22,6 +22,7 @@ #include <lightmediascanner_db.h> #include "lightmediascanner_db_private.h" +#include <lightmediascanner_dlna.h> #include <stdlib.h> #include <stdio.h> @@ -348,6 +349,8 @@ _db_insert(lms_db_image_t *ldi, const struct lms_image_info *info) int lms_db_image_add(lms_db_image_t *ldi, struct lms_image_info *info) { + const struct lms_dlna_image_profile *dlna; + if (!ldi) return -1; if (!info) @@ -355,5 +358,13 @@ lms_db_image_add(lms_db_image_t *ldi, struct lms_image_info *info) if (info->id < 1) return -3; + if (info->dlna_mime.len == 0 && info->dlna_profile.len == 0) { + dlna = lms_dlna_get_image_profile(info); + if (dlna) { + info->dlna_mime = *dlna->dlna_mime; + info->dlna_profile = *dlna->dlna_profile; + } + } + return _db_insert(ldi, info); } diff --git a/src/lib/lightmediascanner_db_video.c b/src/lib/lightmediascanner_db_video.c index dc9b771..dee352c 100644 --- a/src/lib/lightmediascanner_db_video.c +++ b/src/lib/lightmediascanner_db_video.c @@ -21,6 +21,7 @@ */ #include <lightmediascanner_db.h> +#include <lightmediascanner_dlna.h> #include "lightmediascanner_db_private.h" #include <stdlib.h> #include <stdio.h> @@ -604,6 +605,7 @@ int lms_db_video_add(lms_db_video_t *ldv, struct lms_video_info *info) { struct lms_stream *s; + const struct lms_dlna_video_profile *dlna; int r; if (!ldv) @@ -613,6 +615,14 @@ lms_db_video_add(lms_db_video_t *ldv, struct lms_video_info *info) if (info->id < 1) return -3; + if (info->dlna_mime.len == 0 && info->dlna_profile.len == 0) { + dlna = lms_dlna_get_video_profile(info); + if (dlna) { + info->dlna_mime = *dlna->dlna_mime; + info->dlna_profile = *dlna->dlna_profile; + } + } + r = _db_insert(ldv, info); if (r < 0) return r; |