| line | true | false | branch | 
 
| 250 | 15 | 39 | if exists $args{$k} | 
 
| 252 | 18 | 0 | unless exists $$self{'DEBUG'} | 
 
| 253 | 15 | 3 | if (exists $$self{'file'}) | 
 
| 262 | 15 | 3 | if (ref $$self{'root'}) | 
 
| 269 | 0 | 15 | unless open my $infh, '<', $infile | 
 
| 271 | 0 | 15 | unless read $infh, $$self{'buffer'}, -s $infile | 
 
| 289 | 0 | 15 | if $$self{'DEBUG'} | 
 
| 291 | 0 | 15 | if $$self{'DEBUG'} | 
 
| 292 | 0 | 15 | if $$self{'DEBUG'} > 1 | 
 
| 297 | 0 | 9 | unless open my $outfh, '>', $outfile | 
 
| 306 | 0 | 422 | unless my $pAtom = $parent->getNodeValue | 
 
| 307 | 0 | 422 | unless defined $posit | 
 
| 308 | 0 | 422 | unless $end_posit | 
 
| 315 | 0 | 1113 | if $$self{'DEBUG'} | 
 
| 317 | 1 | 1112 | unless $atom->size > 7 | 
 
| 319 | 25 | 1087 | if ($atom->type =~ /stsd/i) { } | 
 
|  | 14 | 1073 | elsif ($atom->type =~ /mp4a/i) { } | 
 
|  | 0 | 1073 | elsif ($atom->type =~ /drms/i) { } | 
 
|  | 13 | 1060 | elsif ($atom->type =~ /meta/i) { } | 
 
|  | 355 | 705 | elsif ($atom->isContainer) { } | 
 
| 331 | 0 | 705 | if $$self{'DEBUG'} | 
 
| 365 | 0 | 0 | if $key | 
 
| 370 | 0 | 0 | if $$self{'DEBUG'} | 
 
| 382 | 372 | 109 | unless my $atom = $self->FindAtom($type) | 
 
| 385 | 8 | 101 | if length $adata > 300 | 
 
| 386 | 5 | 96 | if ($type eq 'disk') { } | 
 
|  | 9 | 87 | elsif ($type eq 'trkn') { } | 
 
|  | 0 | 87 | elsif ($type eq 'genre') { } | 
 
| 400 | 101 | 0 | unless length $adata > 300 | 
 
| 402 | 0 | 13 | if $$self{'DEBUG'} | 
 
| 412 | 265189 | 514 | if $type and $_->type | 
 
| 415 | 201 | 2987 | if wantarray | 
 
| 416 | 1654 | 1333 | unless scalar @atoms > 0 | 
 
| 422 | 0 | 0 | unless my $a = $self->FindAtom($type) | 
 
| 430 | 0 | 0 | if $file_type | 
 
| 444 | 0 | 0 | if ($outfile and open my $dumpfh, ">$outfile") { } | 
 
| 454 | 0 | 0 | unless my $drms = $self->FindAtom('drms') | 
 
| 456 | 0 | 0 | unless my(@unwanted) = $self->FindAtom($a) | 
 
| 459 | 0 | 0 | if $$self{'DEBUG'} | 
 
| 471 | 0 | 49 | unless @stco_atoms or @co64_atoms | 
 
| 474 | 0 | 49 | unless my(@mdat) = $self->FindAtom('mdat') | 
 
| 477 | 181 | 0 | if $mdt->start > $change_position | 
 
| 479 | 0 | 49 | if $all_mdat_before | 
 
| 482 | 1064 | 0 | $_ > $change_position ? : | 
 
| 502 | 16 | 0 | if $offset64 > $change_position | 
 
| 518 | 0 | 132 | unless $tf_flags % 2 == 1 | 
 
| 521 | 0 | 132 | if $offset64 < $change_position | 
 
| 533 | 0 | 0 | unless my $stsz = $self->FindAtom('stsz') | 
 
| 538 | 0 | 0 | if $$self{'DEBUG'} | 
 
| 544 | 0 | 0 | unless my $atom = $self->FindAtom($unwanted) | 
 
| 550 | 0 | 1 | unless my $atom = $self->FindAtom($unwanted) | 
 
| 553 | 0 | 1 | unless $atom->selfDelete | 
 
| 560 | 0 | 0 | if ($self->FindAtom('mp4a') or $args{'force'}) | 
 
| 565 | 0 | 0 | if ($args{'zero_free_atoms'}) | 
 
| 577 | 0 | 209 | unless my $atom = $self->FindAtom('ftyp') | 
 
| 586 | 156 | 0 | unless my $atom = $self->FindAtom($atom_type) | 
 
| 592 | 0 | 104 | if exists $$self{'MP4Info'}{$tag} | 
 
| 596 | 13 | 0 | if $file_type | 
 
| 603 | 0 | 3 | unless my $moov = $self->FindAtom('moov') | 
 
| 606 | 36 | 0 | unless $asset = $self->FindAtom($typ) | 
 
| 608 | 0 | 0 | if $udta and $$udta{'type'} =~ /udta/i | 
 
| 613 | 3 | 0 | unless $udta | 
 
| 616 | 1 | 2 | unless ($udta) | 
 
| 623 | 0 | 3 | if ($entry and $delete_old) | 
 
| 646 | 13 | 72 | if $self->GetFtype =~ /^3g/ | 
 
| 651 | 1044 | 900 | unless my $atm = $self->FindAtom($type) | 
 
| 652 | 6 | 894 | unless my $data_atm = $atm->Contained('data') | 
 
| 654 | 92 | 802 | if ($type eq 'gnre') { } | 
 
|  | 78 | 724 | elsif ($type eq 'trkn') { } | 
 
| 663 | 724 | 0 | if ($firstchar == 0) | 
 
| 665 | 11 | 713 | if $utf8_atoms{$type} | 
 
| 670 | 6124 | 1028 | if defined $$self{'MP4Info'}{$tag} | 
 
| 675 | 26 | 46 | unless ($$self{'MP4Info'}{'GENRE'}) | 
 
| 677 | 0 | 26 | if ($gen_atom) | 
 
| 684 | 2 | 70 | if ($as_text) | 
 
| 686 | 2 | 0 | if (defined $$self{'MP4Info'}{'DISK'}) | 
 
| 691 | 2 | 0 | if (defined $$self{'MP4Info'}{'TRKN'}) | 
 
| 694 | 0 | 2 | if $tracknum and $tracks | 
 
| 697 | 2 | 0 | if (defined $$self{'MP4Info'}{'TMPO'}) | 
 
| 701 | 2 | 0 | if (defined $$self{'MP4Info'}{'CPRT'} and length $$self{'MP4Info'}{'CPRT'} > 3) | 
 
| 705 | 2 | 0 | if (defined $$self{'MP4Info'}{'COVR'}) | 
 
| 708 | 2 | 0 | if (defined $$self{'MP4Info'}{'GENRE'} and $$self{'MP4Info'}{'GENRE'} =~ /^\d+$/ and $$self{'MP4Info'}{'GENRE'} < 128) | 
 
| 725 | 0 | 0 | exists $$meta{'CPRT'} ? : | 
 
| 732 | 0 | 0 | if ($mvhd_data) | 
 
| 734 | 0 | 0 | if ($mvhd[0] == 1) { } | 
 
| 755 | 3 | 36 | if $self->GetFtype =~ /^3g/ | 
 
| 764 | 13 | 23 | if ($entry and $delete_old) | 
 
| 771 | 4 | 32 | if ($as_text) | 
 
| 773 | 4 | 0 | if ($iTMS_meta_atoms{$type}) | 
 
| 775 | 0 | 4 | if ($type eq 'disk' and $value =~ /(\d+)\D+(\d+)/) { } | 
 
|  | 3 | 1 | elsif ($type eq 'trkn' and $value =~ /(\d+)\D+(\d+)/) { } | 
 
|  | 0 | 1 | elsif ($type eq 'gnre') { } | 
 
| 787 | 2 | 2 | if $diff | 
 
| 791 | 1 | 31 | if ($typ eq 'covr' and $ilst->Contained($typ)) { } | 
 
| 796 | 19 | 12 | if $utf8_atoms{$type} | 
 
| 806 | 0 | 2 | unless my $moov = $self->FindAtom('moov') | 
 
| 810 | 0 | 2 | unless ($udta) | 
 
| 820 | 2 | 0 | unless ($meta) | 
 
| 826 | 2 | 0 | unless ($hdlr) | 
 
| 833 | 2 | 0 | unless ($ilst) | 
 
| 844 | 5 | 1 | if ($dict) | 
 
| 846 | 10 | 60 | if $key =~ /Count$/ | 
 
| 847 | 46 | 14 | unless exists $$dict{$key} | 
 
| 849 | 1 | 13 | if ($key eq 'discNumber') | 
 
| 850 | 0 | 1 | unless my $count = $$dict{'discCount'} | 
 
| 853 | 4 | 10 | if ($key eq 'trackNumber') | 
 
| 857 | 0 | 14 | if ($key eq 'artworkURL') | 
 
| 860 | 2 | 12 | if ($key eq 'copyright') | 
 
| 863 | 1 | 13 | if ($key eq 'genre') | 
 
| 865 | 1 | 0 | unless $gnre eq 'INVALID_GENRE' | 
 
| 867 | 4 | 10 | $keep_old ? : | 
 
| 872 | 16 | 68 | unless my $meta = $self->FindAtom($type) | 
 
| 874 | 12 | 56 | if ($type eq 'trkn') { } | 
 
|  | 8 | 48 | elsif ($type eq 'disk') { } | 
 
|  | 4 | 44 | elsif ($type eq 'cprt') { } | 
 
| 894 | 1 | 2 | unless my(@covr) = $self->FindAtom('covr') | 
 
| 897 | 0 | 2 | unless my(@data_atms) = $atm->Contained('data') | 
 
| 914 | 0 | 1 | unless my(@atoms) = $atm->Contained('data') | 
 
| 917 | 0 | 1 | unless $atm->selfDelete | 
 
| 933 | 0 | 1 | unless $type | 
 
| 935 | 1 | 0 | unless ($covr) | 
 
| 940 | 0 | 1 | unless $covr = $self->FindAtom('covr') | 
 
| 962 | 3 | 3 | if $new_tag | 
 
| 969 | 4 | 4 | if $new_tag | 
 
| 976 | 2 | 3 | if $new_tag | 
 
| 983 | 2 | 3 | if $new_tag | 
 
| 990 | 2 | 3 | if $new_tag | 
 
| 997 | 2 | 5 | if $new_tag | 
 
| 1005 | 0 | 2 | if ($new_tag) | 
 
| 1014 | 0 | 1 | if ($new_trkn) | 
 
| 1024 | 2 | 2 | if $new_trkn and $new_tcount | 
 
| 1035 | 0 | 1 | if ($new_tcount) | 
 
| 1048 | 1 | 0 | if (ref $tags_href) | 
 
| 1049 | 1 | 0 | if $$tags_href{'title'} | 
 
| 1050 | 0 | 1 | if $$tags_href{'artist'} | 
 
| 1051 | 1 | 0 | if $$tags_href{'album'} | 
 
| 1052 | 0 | 1 | if $$tags_href{'comment'} | 
 
| 1053 | 0 | 1 | if $$tags_href{'genre'} | 
 
| 1054 | 0 | 1 | if $$tags_href{'year'} | 
 
| 1055 | 0 | 1 | if $$tags_href{'track'} | 
 
| 1056 | 0 | 1 | if $$tags_href{'total'} | 
 
| 1099 | 9 | 0 | $_ ? : |