Subject: | Bug when writing tags when only two tags are left |
Date: | Tue, 06 Nov 2007 19:28:58 -0600 |
To: | bug-Audio-FLAC-Header [...] rt.cpan.org |
From: | Rob Hoelz <hoelz [...] wisc.edu> |
I think I may have found a bug in Audio::FLAC::Header that doesn't
allow you to have less than two tags written to file when
$flac->write() is called. Here's an example:
Some output from metaflac --list \
The_Dandy_Warhols_-_Welcome_To_The_Monkey_House.flac:
METADATA block #2
type: 4 (VORBIS_COMMENT)
is last: false
length: 83
vendor string: reference libFLAC 1.2.1 20070917
comments: 1
comment[0]: VENDOR=reference libFLAC 1.2.1 20070917
comment[1]: ARTIST=The Dandy Warhols
comment[2]: ALBUM=Welcome To The Monkey House
comment[3]: TITLE=Welcome To The Monkey House
When I do this:
my $flac = Audio::FLAC::Header->new($filename);
my $tags = $flac->tags();
delete $tags->{'ARTIST'};
$flac->write();
it gets rid of the ARTIST tag just fine. Same if I repeat for
TITLE/ALBUM. But as soon as I try to delete a third tag (thus dropping
the tag count to 1), I see no effect when analysing the file with
metaflac. I do this with separate executions of Perl scripts.
Here's the obligatory information you need:
Audio-Flac-Header version 1.8
Perl v5.8.8
Arch Linux 2.6.23.1 x86_64
Attached is a patch that resolves the issue.
Thanks,
Rob Hoelz
Message body is not shown because sender requested not to inline it.