summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeandro Dorileo <leandro.maciel.dorileo@intel.com>2014-01-17 10:48:53 -0200
committerLeandro Dorileo <leandro.maciel.dorileo@intel.com>2014-01-29 10:13:39 -0200
commit54a59bc35c66b94c0dd96b71fbd2e2ccc3e0a480 (patch)
tree93183d453f980b74f4ea9e1a55ef5702c774972e
parenta9ede073cde2bbb26f74e04786c55ca93bbaa540 (diff)
downloadlightmediascanner-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.c10
-rw-r--r--src/lib/lightmediascanner_db_image.c11
-rw-r--r--src/lib/lightmediascanner_db_video.c10
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;