summaryrefslogtreecommitdiff
path: root/lib/rbcodec/metadata/mp4.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rbcodec/metadata/mp4.c')
-rw-r--r--lib/rbcodec/metadata/mp4.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/rbcodec/metadata/mp4.c b/lib/rbcodec/metadata/mp4.c
index 41f38480b1..accc5cd662 100644
--- a/lib/rbcodec/metadata/mp4.c
+++ b/lib/rbcodec/metadata/mp4.c
@@ -533,13 +533,18 @@ static bool read_mp4_tags(int fd, struct mp3entry* id3,
533 rd_ret = 0; 533 rd_ret = 0;
534 tag_name[rd_ret] = 0; 534 tag_name[rd_ret] = 0;
535 535
536 static const char *tn_options[] = {"composer", "iTunSMPB",
537 "musicbrainz track id", "album artist", NULL};
536 538
537 if ((strcasecmp(tag_name, "composer") == 0) && !cwrt) 539 int tn_op = string_option(tag_name, tn_options, true);
540
541
542 if (tn_op == 0 && !cwrt) /*composer*/
538 { 543 {
539 read_mp4_tag_string(fd, size, &buffer, &buffer_left, 544 read_mp4_tag_string(fd, size, &buffer, &buffer_left,
540 &id3->composer); 545 &id3->composer);
541 } 546 }
542 else if (strcasecmp(tag_name, "iTunSMPB") == 0) 547 else if (tn_op == 1) /*iTunSMPB*/
543 { 548 {
544 char value[TAG_VALUE_LENGTH]; 549 char value[TAG_VALUE_LENGTH];
545 char* value_p = value; 550 char* value_p = value;
@@ -552,12 +557,12 @@ static bool read_mp4_tags(int fd, struct mp3entry* id3,
552 DEBUGF("AAC: lead_trim %d, tail_trim %d\n", 557 DEBUGF("AAC: lead_trim %d, tail_trim %d\n",
553 id3->lead_trim, id3->tail_trim); 558 id3->lead_trim, id3->tail_trim);
554 } 559 }
555 else if (strcasecmp(tag_name, "musicbrainz track id") == 0) 560 else if (tn_op == 2) /*musicbrainz track id*/
556 { 561 {
557 read_mp4_tag_string(fd, size, &buffer, &buffer_left, 562 read_mp4_tag_string(fd, size, &buffer, &buffer_left,
558 &id3->mb_track_id); 563 &id3->mb_track_id);
559 } 564 }
560 else if ((strcasecmp(tag_name, "album artist") == 0)) 565 else if (tn_op == 3) /*album artist*/
561 { 566 {
562 read_mp4_tag_string(fd, size, &buffer, &buffer_left, 567 read_mp4_tag_string(fd, size, &buffer, &buffer_left,
563 &id3->albumartist); 568 &id3->albumartist);