| line |
true |
false |
branch |
|
887
|
0 |
0 |
if $userTagName{$name} |
|
888
|
0 |
0 |
unless $name =~ /[a-z]/ |
|
911
|
0 |
0 |
unless $val =~ /^\[(\d+\.\d+)\]/g |
|
915
|
0 |
0 |
if ($h) { } |
|
924
|
0 |
0 |
if ($ss >= 60) |
|
926
|
0 |
0 |
if ++$m >= 60 |
|
940
|
0 |
0 |
unless length $$dataPt > 6 |
|
944
|
0 |
0 |
if not $lang =~ /^[a-z]{3}$/ or $lang eq "eng" |
|
947
|
0 |
0 |
if ($enc == 1 or $enc == 2) { } |
|
948
|
0 |
0 |
unless $$dataPt =~ /\G(..)*?\0\0/gs |
|
952
|
0 |
0 |
unless $$dataPt =~ /\0/g |
|
960
|
0 |
0 |
if $lang |
|
964
|
0 |
0 |
if $lang |
|
968
|
0 |
0 |
unless $$dataPt =~ /$pat/gs |
|
973
|
0 |
0 |
if ($timeCode == 2) { } |
|
977
|
0 |
0 |
if $timeCode != 1 |
|
992
|
0 |
0 |
if ($$dataPt =~ /^(.*?)\0/s) { } |
|
999
|
0 |
0 |
unless ($tagTablePtr->{$tag}) |
|
1001
|
0 |
0 |
unless $tag =~ /^[-\w]{1,24}$/ |
|
1002
|
0 |
0 |
unless ($tagTablePtr->{$tag}) |
|
1013
|
0 |
0 |
if $key |
|
1026
|
0 |
1 |
unless $genre{$1} |
|
1031
|
0 |
0 |
unless $genre{$1} |
|
1057
|
0 |
35 |
unless length $val |
|
1058
|
27 |
8 |
unless (defined $enc) |
|
1063
|
35 |
0 |
if ($enc == 0 or $enc == 3) { } |
|
|
0 |
0 |
elsif ($enc == 1 or $enc == 2) { } |
|
1068
|
0 |
41 |
$enc ? : |
|
1076
|
0 |
0 |
if ($val =~ s/((..)*?)\0\0//s) { } |
|
1079
|
0 |
0 |
unless length $val > 1 |
|
1083
|
0 |
0 |
if $v =~ s/^(\xfe\xff|\xff\xfe)// |
|
1090
|
8 |
27 |
if wantarray |
|
1101
|
0 |
3 |
if $val & 2155905152 |
|
1127
|
40 |
0 |
if ($vers < 768) { } |
|
1129
|
3 |
37 |
if $offset + 6 > $size |
|
1131
|
0 |
37 |
if $id eq "\0\0\0" |
|
1136
|
0 |
0 |
if $offset + 10 > $size |
|
1138
|
0 |
0 |
if $id eq "\0\0\0\0" |
|
1146
|
0 |
0 |
if (not defined $len or $offset + $len + 10 > $size) |
|
1147
|
0 |
0 |
if ($offset + $len == $size) { } |
|
1156
|
0 |
0 |
if $tagTablePtr->{$nextID} |
|
1158
|
0 |
0 |
if $offset + $oldLen + 10 > $size |
|
1160
|
0 |
0 |
if $tagTablePtr->{$nextID} |
|
1164
|
0 |
37 |
if $offset + $len > $size |
|
1166
|
0 |
37 |
unless ($tagInfo) |
|
1167
|
0 |
0 |
if (not $otherTable and $otherTable{$tagTablePtr}) |
|
1170
|
0 |
0 |
if $otherTable |
|
1171
|
0 |
0 |
if ($tagInfo) { } |
|
1174
|
0 |
0 |
unless $verbose or $et->Options("Unknown") |
|
1176
|
0 |
0 |
unless length $id |
|
1177
|
0 |
0 |
unless ($tagTablePtr->{$id}) |
|
1185
|
0 |
37 |
if ($flags) |
|
1186
|
0 |
0 |
if ($vers < 1024) { } |
|
1188
|
0 |
0 |
if $flags & 128 |
|
1189
|
0 |
0 |
if $flags & 64 |
|
1190
|
0 |
0 |
if $flags & 32 |
|
1193
|
0 |
0 |
if $flags & 64 |
|
1194
|
0 |
0 |
if $flags & 8 |
|
1195
|
0 |
0 |
if $flags & 4 |
|
1196
|
0 |
0 |
if $flags & 2 |
|
1197
|
0 |
0 |
if $flags & 1 |
|
1200
|
0 |
37 |
if ($flags{'Encrypt'}) |
|
1208
|
0 |
37 |
if $flags{'Unsync'} |
|
1211
|
0 |
37 |
if ($flags{'GroupID'}) |
|
1212
|
0 |
0 |
unless length $val >= 1 |
|
1217
|
0 |
37 |
if ($flags{'DataLen'} or $flags{'Compress'}) |
|
1218
|
0 |
0 |
unless length $val >= 4 |
|
1223
|
0 |
37 |
if ($flags{'Compress'}) |
|
1224
|
0 |
0 |
if (eval {
do {
require Compress::Zlib
}
}) { } |
|
1227
|
0 |
0 |
if $inflate |
|
1228
|
0 |
0 |
if ($inflate and $stat == Compress::Zlib::Z_STREAM_END()) { } |
|
1240
|
0 |
37 |
if (defined $dataLen) |
|
1242
|
0 |
0 |
unless defined $dataLen |
|
1243
|
0 |
0 |
unless $dataLen == length $val |
|
1245
|
0 |
37 |
unless ($tagInfo) |
|
1246
|
0 |
0 |
unless $verbose |
|
1247
|
0 |
0 |
if %flags |
|
1265
|
0 |
37 |
if ($id =~ /^(TXX|TXXX)$/) { } |
|
|
27 |
10 |
elsif ($id =~ /^T/ or $id =~ /^(IPL|IPLS|GP1|MVI|MVN)$/) { } |
|
|
0 |
10 |
elsif ($id =~ /^(WXX|WXXX)$/) { } |
|
|
0 |
10 |
elsif ($id =~ /^W/) { } |
|
|
6 |
4 |
elsif ($id =~ /^(COM|COMM|ULT|USLT)$/) { } |
|
|
0 |
4 |
elsif ($id eq 'USER') { } |
|
|
0 |
4 |
elsif ($id =~ /^(CNT|PCNT)$/) { } |
|
|
2 |
2 |
elsif ($id =~ /^(PIC|APIC)$/) { } |
|
|
0 |
2 |
elsif ($id eq 'POP' or $id eq 'POPM') { } |
|
|
0 |
2 |
elsif ($id eq 'OWNE') { } |
|
|
2 |
0 |
elsif ($id eq 'RVA' or $id eq 'RVAD') { } |
|
|
0 |
0 |
elsif ($id eq 'RVA2') { } |
|
|
0 |
0 |
elsif ($id eq 'PRIV') { } |
|
|
0 |
0 |
elsif ($tagInfo->{'Format'} or $tagInfo->{'SubDirectory'}) { } |
|
|
0 |
0 |
elsif ($id eq 'GRP1' or $id eq 'MVNM' or $id eq 'MVIN') { } |
|
|
0 |
0 |
elsif (not $tagInfo->{'Binary'}) { } |
|
1268
|
0 |
0 |
unless defined $vals[$_] |
|
1269
|
0 |
0 |
if (length $vals[0]) |
|
1280
|
0 |
0 |
if ($enc == 1 or $enc == 2) { } |
|
1285
|
0 |
0 |
unless (defined $tag and defined $url) |
|
1290
|
0 |
0 |
if (length $tag) |
|
1292
|
0 |
0 |
unless $tag =~ /url/i |
|
1300
|
0 |
6 |
unless $valLen > 4 |
|
1303
|
0 |
12 |
unless defined $vals[$_] |
|
1304
|
0 |
6 |
length $vals[0] ? : |
|
1306
|
0 |
0 |
unless $valLen > 4 |
|
1310
|
0 |
0 |
unless $valLen >= 4 |
|
1315
|
0 |
2 |
unless $valLen >= 4 |
|
1318
|
0 |
2 |
if ($enc == 1 or $enc == 2) { } |
|
1319
|
0 |
0 |
$id eq 'PIC' ? : |
|
1321
|
2 |
0 |
$id eq 'PIC' ? : |
|
1324
|
0 |
2 |
unless $val =~ s/^$hdr//s |
|
1336
|
0 |
0 |
unless (defined $dat and length $dat) |
|
1347
|
0 |
0 |
if $strs[1] |
|
1352
|
0 |
2 |
unless my $bits = shift @dat |
|
1360
|
2 |
4 |
if scalar @dat < $j + $bytes |
|
1362
|
2 |
2 |
if $val |
|
1368
|
0 |
4 |
unless $flag & $elem->[3] |
|
1372
|
0 |
0 |
$val =~ /^([^\0]*)\0/s ? : |
|
1395
|
0 |
0 |
if $id |
|
1410
|
0 |
6 |
if ($lang and $lang =~ /^[a-z]{3}$/i and $lang ne "eng") |
|
1413
|
0 |
37 |
if %flags |
|
1435
|
0 |
19 |
if $et->{'DoneID3'} |
|
1448
|
3 |
16 |
unless $raf->Read($buff, 3) == 3 |
|
1454
|
0 |
3 |
unless $raf->Read($hBuff, 7) == 7 |
|
1457
|
0 |
3 |
unless defined $size |
|
1459
|
0 |
3 |
if ($vers >= 1280) |
|
1463
|
0 |
3 |
unless ($raf->Read($hBuff, $size) == $size) |
|
1468
|
0 |
3 |
if ($flags & 128 and $vers < 1024) |
|
1473
|
0 |
3 |
if ($flags & 64) |
|
1475
|
0 |
0 |
unless $size >= 4 |
|
1477
|
0 |
0 |
if ($len > length $hBuff) |
|
1484
|
0 |
3 |
if ($flags & 16) |
|
1497
|
0 |
3 |
if ($vers >= 1024) { } |
|
|
0 |
3 |
elsif ($vers >= 768) { } |
|
1511
|
2 |
6 |
if ($raf->Seek(-128, 2) and $raf->Read($tBuff, 128) == 128 and $tBuff =~ /^TAG/) |
|
1523
|
0 |
2 |
if ($raf->Seek(-$trailSize - $eSize, 2) and $raf->Read($eBuff, $eSize) == $eSize and $eBuff =~ /^TAG+/) |
|
1532
|
0 |
11 |
if ($raf->Seek(-$trailSize - 15, 2) and $raf->Read($buff, 15) == 15 and $buff =~ /^(.{6})LYRICS(END|200)$/) |
|
1534
|
0 |
0 |
$ver eq 'END' ? : |
|
1536
|
0 |
0 |
if $len > $raf->Tell |
|
1537
|
0 |
0 |
if ($raf->Seek(-$len, 1) and $raf->Read($buff, $len) == $len and $buff =~ /LYRICSBEGIN/g) { } |
|
1542
|
0 |
0 |
if ($et->Options("Verbose")) |
|
1545
|
0 |
0 |
if ($pos > 11) |
|
1551
|
0 |
0 |
if ($ver eq 'END') { } |
|
1559
|
0 |
0 |
unless $buff =~ /\G(.{3})(\d{5})/g |
|
1562
|
0 |
0 |
if $pos + $size > length $buff |
|
1563
|
0 |
0 |
unless ($tbl->{$tag}) |
|
1570
|
0 |
0 |
unless $pos == length($buff) - 15 |
|
1580
|
3 |
13 |
if ($rtnVal) |
|
1582
|
2 |
1 |
if ($dirInfo->{'RAF'}) |
|
1594
|
0 |
2 |
unless require "Image/ExifTool/$module.pm" |
|
1598
|
2 |
0 |
if &$func($et, $dirInfo) |
|
1608
|
3 |
0 |
if (%id3Header) |
|
1613
|
2 |
1 |
if (%id3Trailer) |
|
1619
|
0 |
2 |
if ($id3Trailer{'EnhancedTAG'}) |
|
1654
|
0 |
0 |
unless $len >= 4 |
|
1657
|
0 |
0 |
if ($enc == 1 or $enc == 2) { } |
|
1663
|
0 |
0 |
unless $$dataPt =~ s/^$hdr//s |
|
1665
|
0 |
0 |
if length $mime |
|
1666
|
0 |
0 |
if length $file |
|
1667
|
0 |
0 |
if length $desc |
|
1668
|
0 |
0 |
if ($tagTablePtr->{$mime}) { } |
|
1691
|
12 |
1 |
unless ($et->{'DoneID3'}) |
|
1696
|
12 |
1 |
unless ($rtnVal) |
|
1704
|
1 |
11 |
$et->{'FILE_EXT'} && $et->{'FILE_EXT'} eq 'MP3' ? : |
|
1705
|
9 |
3 |
if ($raf->Read($buff, $scanLen)) |
|
1707
|
0 |
9 |
if ($buff =~ /\0\0\x01(\xb3|\xc0)/) { } |
|
1710
|
0 |
0 |
if $raf->Read($buf2, 65536 - $scanLen) |
|
1711
|
0 |
0 |
if Image::ExifTool::MPEG::ParseMPEGAudioVideo($et, \$buff) |
|
1716
|
0 |
9 |
$ext eq 'MUS' ? : |
|
1717
|
1 |
8 |
if Image::ExifTool::MPEG::ParseMPEGAudio($et, \$buff, $mp3) |
|
1723
|
1 |
12 |
if ($rtnVal and not $et->{'DoneAPE'}) |