Mercurial > audlegacy-plugins
comparison src/alac/demux.c @ 2942:233cb5dffbf7
Fix tags for ALAC files.
For some reason, the tag can occour a second time, but this time empty.
Always use the first tag we found.
author | Jonathan Schleifer <js@webkeks.org> |
---|---|
date | Sat, 27 Sep 2008 19:04:32 +0200 |
parents | 2c9d1eb6e8a6 |
children | 87b0c47089e5 |
comparison
equal
deleted
inserted
replaced
2941:c57d9b5754b3 | 2942:233cb5dffbf7 |
---|---|
569 case MAKEFOURCC(0xA9,'c','m','t'): | 569 case MAKEFOURCC(0xA9,'c','m','t'): |
570 udta_tgt = UDTA_CMT; | 570 udta_tgt = UDTA_CMT; |
571 bptr += 4; | 571 bptr += 4; |
572 break; | 572 break; |
573 case MAKEFOURCC('d','a','t','a'): | 573 case MAKEFOURCC('d','a','t','a'): |
574 /* Don't compare to NULL in the following ifs! | |
575 * NULL may be -1 on some system, but we used memset to set it | |
576 * to 0! | |
577 */ | |
574 switch(udta_tgt) | 578 switch(udta_tgt) |
575 { | 579 { |
576 case UDTA_NAM: | 580 case UDTA_NAM: |
577 qtmovie->res->tuple.nam = g_strdup(bptr + 12); | 581 if (qtmovie->res->tuple.nam == 0) |
578 break; | 582 qtmovie->res->tuple.nam = g_strdup(bptr + 12); |
583 break; | |
579 case UDTA_ART: | 584 case UDTA_ART: |
580 qtmovie->res->tuple.art = g_strdup(bptr + 12); | 585 if (qtmovie->res->tuple.art == 0) |
581 break; | 586 qtmovie->res->tuple.art = g_strdup(bptr + 12); |
587 break; | |
582 case UDTA_ALB: | 588 case UDTA_ALB: |
583 qtmovie->res->tuple.alb = g_strdup(bptr + 12); | 589 if (qtmovie->res->tuple.alb == 0) |
584 break; | 590 qtmovie->res->tuple.alb = g_strdup(bptr + 12); |
591 break; | |
585 case UDTA_DAY: | 592 case UDTA_DAY: |
586 qtmovie->res->tuple.day = g_strdup(bptr + 12); | 593 if (qtmovie->res->tuple.day == 0) |
587 break; | 594 qtmovie->res->tuple.day = g_strdup(bptr + 12); |
595 break; | |
588 case UDTA_CMT: | 596 case UDTA_CMT: |
589 qtmovie->res->tuple.cmt = g_strdup(bptr + 12); | 597 if (qtmovie->res->tuple.cmt == 0) |
590 break; | 598 qtmovie->res->tuple.cmt = g_strdup(bptr + 12); |
599 break; | |
591 case UDTA_GEN: | 600 case UDTA_GEN: |
592 qtmovie->res->tuple.gen = g_strdup(bptr + 12); | 601 if (qtmovie->res->tuple.gen == 0) |
593 break; | 602 qtmovie->res->tuple.gen = g_strdup(bptr + 12); |
594 default: | 603 break; |
595 break; | |
596 } | 604 } |
597 | 605 |
598 bptr += 12; | 606 bptr += 12; |
599 bptr += strlen(bptr); | 607 bptr += strlen(bptr); |
600 break; | 608 break; |