summaryrefslogtreecommitdiff
path: root/plugins/mpgmad/mpgmad.c
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mpgmad/mpgmad.c')
-rw-r--r--plugins/mpgmad/mpgmad.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/mpgmad/mpgmad.c b/plugins/mpgmad/mpgmad.c
index 21d3b8fb..8e54b6c8 100644
--- a/plugins/mpgmad/mpgmad.c
+++ b/plugins/mpgmad/mpgmad.c
@@ -498,6 +498,8 @@ cmp3_init (DB_playItem_t *it) {
}
else {
int len = deadbeef->fgetlength (buffer.file);
+ const char *name = deadbeef->fget_content_name (buffer.file);
+ const char *genre = deadbeef->fget_content_genre (buffer.file);
if (len > 0) {
deadbeef->pl_delete_all_meta (it);
int v2err = deadbeef->junk_read_id3v2 (it, buffer.file);
@@ -506,6 +508,18 @@ cmp3_init (DB_playItem_t *it) {
deadbeef->fseek (buffer.file, 0, SEEK_SET);
}
}
+ else {
+ deadbeef->pl_delete_all_meta (it);
+ if (name) {
+ deadbeef->pl_add_meta (it, "title", name);
+ }
+ else {
+ deadbeef->pl_add_meta (it, "title", NULL);
+ }
+ if (genre) {
+ deadbeef->pl_add_meta (it, "genre", genre);
+ }
+ }
int res = cmp3_scan_stream (&buffer, 0);
if (res < 0) {
trace ("mpgmad: cmp3_init: initial cmp3_scan_stream failed\n");