Branch Coverage

blib/lib/Image/ExifTool/WriteQuickTime.pl
Criterion Covered Total %
branch 482 846 56.9


line true false branch
142 0 0 if (@v == 2 or @v == 3)
146 0 0 $below ? :
0 0 if @v == 3
149 0 0 if $val =~ m[^([-+]\d+(\.\d*)?){2,3}(CRS.*)?/?$]
162 0 0 if (@a == 2 or @a == 3)
171 0 0 unless &Image::ExifTool::IsFloat($_)
172 0 0 length $3 < 3 ? :
176 0 0 if $val =~ m[^([-+]\d+(\.\d*)?){2,3}(CRS.*)?/?$]
193 0 3 if $len < 8
201 0 3 unless $ok{$noff} and $ok{$nlen} and $ok{$nbas} and $ok{$nind}
203 3 0 $noff == 4 ? :
204 3 0 if ($ver < 2) { }
208 0 0 if $len < 10
213 9 0 if ($ver < 2) { }
214 0 9 if $pos + 2 > $len
218 0 0 if $pos + 4 > $len
223 0 9 if ($ver == 1 or $ver == 2)
224 0 0 if $pos + 2 > $len
230 0 9 if $pos + 2 > $len
232 0 9 if ($drefIdx)
233 0 0 if ($et->{'QtDataRef'} and $et->{'QtDataRef'}[$drefIdx - 1]) { }
236 0 0 unless $dref->[1] == 1 and $dref->[0] ne "rsrc"
245 6 3 if ($base_offset and not $constOff)
246 6 0 $nbas == 4 ? :
249 0 9 if $pos + 2 > $len
255 0 9 if $ver == 1 or $ver == 2
257 0 9 unless defined $extent_offset
258 9 0 unless ($constOff)
259 9 0 if $noff
260 9 0 if not defined $minOffset or $minOffset > $extent_offset
262 0 9 if $pos + $nlen > length $$dataPt
267 3 6 if (defined $minOffset and $minOffset > $base_offset) { }
285 0 96 unless $langCode
288 96 0 unless defined $writable
289 0 96 unless $writable
303 147 430 unless $format
317 22 0 unless $format
318 2 20 if ($format and $format ne 'string' or not $format and $writable and $writable ne 'string') { }
0 20 elsif ($$valPt =~ /^\xff\xd8\xff/) { }
0 20 elsif ($$valPt =~ /^(\x89P|\x8aM|\x8bJ)NG\r\n\x1a\n/) { }
0 20 elsif ($$valPt =~ /^BM.{15}\0/s) { }
320 0 2 if ($writable and $qtFormat{$writable}) { }
335 0 22 unless defined $$valPt
346 6 0 if ($n == 4) { }
0 0 elsif ($n == 8) { }
361 174 9 unless $et
367 0 9 if $dirLen < 8
368 3 6 if ($et->{'DEL_GROUP'}{'Keys'})
373 0 3 $n == 1 ? :
384 0 15 if $len < 8 or $pos + $len > $dirLen
388 15 0 if $ns eq "mdta"
389 0 15 unless $tag
392 15 0 if ($tagInfo)
394 2 13 if ($newTags->{$tag})
397 1 1 if ($nvHash and $et->IsOverwriting($nvHash) > 0 and not defined $et->GetNewValue($nvHash))
401 6 0 unless $newTags->{$t}{'SrcTagInfo'} and $newTags->{$t}{'SrcTagInfo'} eq $tagInfo
403 0 0 unless $et->IsOverwriting($nv) and defined $et->GetNewValue($nv)
407 1 0 unless ($dontDelete)
427 1 11 if ($tagInfo->{'LangCode'} and $tagInfo->{'SrcTagInfo'}) { }
432 3 9 if $done{$id}
434 0 5 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash) and defined $et->GetNewValue($nvHash)
437 0 5 $id =~ /^com\./ ? :
444 8 1 if ($num) { }
471 0 3 unless $items and $raf
478 0 9 unless defined $primary
481 6 3 unless $item->{'RefersTo'} and $item->{'RefersTo'}{$primary}
485 0 3 unless $name
486 0 3 unless $et->{'EDIT_DIRS'}{$name}
489 0 3 unless $boxPos->{'iloc'}
490 0 3 unless $item->{'Extents'} and @{$item->{'Extents'};}
491 0 3 if $item->{'ContentEncoding'}
492 0 3 if $item->{'ProtectionIndex'}
493 0 3 if $item->{'ConstructionMethod'}
494 0 3 if $item->{'DataReferenceIndex'}
495 0 3 if $warn
499 0 3 if defined $buff
501 2 1 if ($extent->[2]) { }
502 0 2 unless $raf->Seek($pos, 0)
503 0 2 unless $raf->Read($buff, $extent->[2])
509 0 3 unless defined $buff
510 0 3 if length $val
512 1 2 if ($name eq 'EXIF') { }
513 0 1 if (not length $buff) { }
0 1 elsif ($buff =~ /^(MM\0\x2a|II\x2a\0)/) { }
1 0 elsif (length $buff >= 4 and length $buff >= 4 + unpack('N', $buff)) { }
539 3 0 if (defined $newVal and $changed ne $et->{'CHANGED'} and $dirInfo{'DirLen'} || length $newVal)
543 1 2 if length $hdr and length $newVal
551 0 3 if ($nlen == 8) { }
3 0 elsif ($n <= 4294967295) { }
561 0 3 if (@{$item->{'Extents'};} != 1)
572 4 2 if $did{$name} or not $et->{'ADD_DIRS'}{$name}
575 0 2 if (@missing)
576 0 0 @missing > 1 ? :
580 0 2 unless (defined $et->{'PrimaryItem'})
581 0 0 unless (defined $primary)
586 0 0 if ($primary < 65536) { }
595 1 1 if ($name eq 'EXIF') { }
611 2 0 if (defined $newVal and $changed ne $et->{'CHANGED'})
613 2 0 if ($boxPos->{'iref'}) { }
617 0 0 $primary < 65536 ? :
620 1 1 if length $hdr
622 2 0 unless defined $add{'iinf'}
624 1 1 if ($name eq 'XMP') { }
634 2 0 if ($id < 65536) { }
641 0 2 if ($irefVer) { }
654 2 0 if ($ilocVer == 0) { }
0 0 elsif ($ilocVer == 1) { }
0 0 elsif ($ilocVer == 2) { }
675 0 2 unless my $off = $dirInfo->{'ChunkOffset'}
677 2 0 if ($noff == 4) { }
0 0 elsif ($noff == 8) { }
0 0 elsif ($noff == 0) { }
683 0 0 if ($nbas == 4) { }
0 0 elsif ($nbas == 8) { }
703 2 1 if ($countNew)
709 6 6 unless $add{$tag}
711 6 0 $boxPos->{$tag}[1] ? :
712 0 0 unless $tag eq "iref"
720 2 4 if ($tag eq 'iinf') { }
2 2 elsif ($tag eq 'iref') { }
2 0 elsif ($tag eq 'iloc') { }
0 0 elsif ($tag ne 'hdlr') { }
722 0 2 if ($iinfVer == 0) { }
733 2 0 if ($ilocVer < 2) { }
741 0 2 if ($added)
753 3 0 @mdatEdit ? :
767 504 305 unless $et
780 287 18 $dataPt ? :
782 287 18 if ($dataPt) { }
785 0 18 unless $raf
791 56 249 if $dirStart
797 8 297 if ($addDirs->{'Keys'} and $curPath =~ /^MOV-Movie(-Meta)?$/) { }
9 288 elsif ($curPath eq 'MOV-Movie-Meta-ItemList') { }
802 9 0 if ($keys)
807 14 1 if $keys->{'Remap'}{$index}
814 10 2 unless $index
816 1 1 if ($tagInfo->{'LangCode'})
818 1 0 unless $langTags{$id}
830 30 2 unless $newTags->{$_}{'LangCode'} and $newTags->{$_}{'SrcTagInfo'}
832 2 0 unless $langTags{$id}
836 114 191 if ($curPath eq $writePath or $createKeys)
840 3 302 if $tagTablePtr->{'VARS'}
843 0 0 if (defined $atomCount and --$atomCount < 0 and $dataPt)
845 0 0 unless &Write($outfile, substr($$dataPt, $raf->Tell))
850 305 1042 unless ($n == 8)
851 0 305 if ($n == 4 and $hdr eq "\000\000\000\000") { }
0 305 elsif ($n != 0) { }
862 3 1039 if ($size == -7) { }
0 1039 elsif ($size == -8) { }
0 1039 elsif ($size < 0) { }
864 0 3 unless $raf->Read($buff, 8) == 8
867 0 3 if ($hi or $lo > 2147483647)
868 0 0 if ($hi > 2147483647) { }
0 0 elsif (not $et->Options('LargeFileSupport')) { }
877 0 3 if $size < 0
879 0 0 if ($dataPt) { }
880 0 0 if $dirInfo->{'DirName'} eq "CanonCNTH"
898 21 1021 if ($tag eq 'mdat') { }
0 1021 elsif ($tag eq 'cmov') { }
0 1021 elsif ($tag eq 'wide') { }
899 0 21 if ($dataPt)
904 0 21 unless $raf->Seek($size, 1)
915 2 1019 if (not $size) { }
920 0 1019 $size > $maxReadLen ? :
922 0 1021 if ($got != $size)
924 0 0 if ($got <= 256 and $size >= 1024 and $tag ne 'mdat') { }
926 0 0 if ($et->{'OPTIONS'}{'IgnoreMinorErrors'}) { }
935 0 0 if ($size > $maxReadLen and $got == 65536) { }
945 75 946 if ($tag eq "hdlr" and length $buff >= 12)
947 30 45 if $hdlr =~ /^(vide|soun)$/
952 49 972 if ($tag =~ /^(stco|co64|iloc|mfra|moof|sidx|saio|gps |CTBO|uuid)$/)
955 0 49 if ($tag eq 'mfra' or $tag eq 'moof') { }
0 49 elsif ($tag eq 'sidx' or $tag eq 'saio') { }
3 46 elsif ($tag eq 'iloc') { }
0 46 elsif ($tag eq 'gps ') { }
13 33 elsif ($tag eq 'CTBO' or $tag eq 'uuid') { }
0 33 elsif (not $flg) { }
0 33 elsif ($flg == 3) { }
33 0 elsif ($flg == 1) { }
962 0 3 unless &Handle_iloc($et, $dirInfo, \$buff, $outfile)
965 0 0 if ($dirInfo->{'DirID'} and $dirInfo->{'DirID'} eq "moov" and length $buff > 8)
968 0 0 if $num * 8 + 8 > length $buff
993 21 808 if $tagInfo and $tagInfo->{'WriteHook'}
996 21 0 if (not $tagInfo and $dirName eq "ItemList" and $et->{'Keys'})
999 21 0 if (defined $newIndex) { }
1001 7 14 unless ($newIndex)
1002 1 6 if ($tagInfo) { }
1011 2 12 unless ($keysIndex == $newIndex)
1020 77 937 if ($delGrp)
1021 44 33 if ($dirName eq 'ItemList') { }
14 31 elsif ($dirName eq 'UserData' and not $tagInfo && $tagInfo->{'SubDirectory'}) { }
1031 0 785 if $tagInfo and $tagInfo->{'Unknown'}
1033 785 0 if ($tagInfo and !defined($tagInfo->{'Writable'}) || $tagInfo->{'Writable'})
1037 565 220 if ($subdir) { }
1039 33 532 if $tag eq "trak"
1046 0 565 if ($subdir->{'Base'})
1051 0 0 if $localBase <= $hdrLen
1076 0 565 if $et->Options("QuickTimePad")
1079 62 503 if ($hdrLen and $hdrLen < $size)
1083 7 558 if $subdir->{'ByteOrder'} and $subdir->{'ByteOrder'} =~ /^Little/
1085 33 532 if ($subName eq "Track")
1086 15 18 unless $track
1091 37 528 unless $subTable->{'GROUPS'}{'0'} eq "QuickTime"
1094 33 532 if ($et->{'DemoteErrors'})
1096 0 33 if $et->{'DemoteErrors'} > 1
1099 0 9 if (defined $newData and not length $newData and $tagInfo->{'Permanent'} || $tagTablePtr->{'PERMANENT'} && !defined($tagInfo->{'Permanent'}))
1109 56 1 if ($start and defined $newData and length $newData || defined $tagInfo->{'Permanent'} && !$tagInfo->{'Permanent'})
1116 34 192 if ($curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName)
1124 2 211 if ($nvHash or $langTags{$tag} or $delGrp)
1130 5 4 if ($hasData) { }
0 4 elsif ($format) { }
4 0 elsif ($tag =~ /^\xa9/ || $tagInfo->{'IText'} and $size >= ($tagInfo->{'IText'} || 4)) { }
1133 5 5 if ($pos + 16 > $size)
1135 1 4 if ($langTags{$tag})
1138 1 1 $tg ? :
1140 1 1 unless $nvHash and not $didTag->{$nvHash}
1142 0 1 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash)
1144 0 1 unless defined $newVal
1147 0 1 unless defined $newVal
1149 1 0 if ($ti->{'LangCode'})
1150 0 1 unless ($ti->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i)
1155 1 0 if ($1 and $1 ne "und")
1158 1 0 if $2 and $2 ne "ZZ"
1160 1 0 unless defined $newData
1170 5 0 unless $lang
1178 0 0 if $nvHash or not $ctry or $lang ne $undLang or length $langCode == 2
1184 4 1 if (not $nvHash and $nvHashNoLang)
1185 4 0 if ($lang eq $undLang and not $ctry and not $didTag->{$nvHashNoLang}) { }
1191 0 5 if $pos + $len > $size
1192 5 0 if ($type eq 'data' and $len >= 16) { }
0 0 elsif (defined $newData) { }
1197 5 0 if ($Image::ExifTool::QuickTime::stringEncoding{$flags}) { }
1199 5 0 unless $tagInfo->{'Binary'}
1202 0 0 if ($format) { }
1204 0 0 if ($tagInfo->{'Writable'} and $qtFormat{$tagInfo->{'Writable'}}) { }
0 0 elsif ($qtFormat{$format}) { }
1212 0 0 if $format
1214 3 2 if ($nvHash and $et->IsOverwriting($nvHash, $val) or $delTag) { }
0 2 elsif (defined $newData) { }
1215 3 0 if defined $nvHash
1216 0 3 if ($delTag or not defined $newVal or $didTag->{$nvHash})
1221 0 0 unless defined $newData
1228 0 3 unless defined $newVal
1232 3 0 unless defined $newData
1233 3 0 $lang eq $undLang ? :
1243 4 1 if $nvHash
1245 0 5 if defined $newData and $pos < $size
1251 0 4 if ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { }
1260 0 4 if 4 + $len > $size
1261 0 4 if $len > $size - 4 or $len < 0
1264 4 0 unless $lang
1266 0 4 if ($lang < 1024 and not $val =~ /^\xfe\xff/) { }
1270 0 4 $val =~ s/^\xfe\xff// ? :
1272 4 0 unless ($tagInfo->{'NoDecode'})
1276 0 4 if defined $hdr
1280 3 1 if (not $nvHash and $nvHashNoLang)
1281 3 0 if ($lang eq $undLang and not $didTag->{$nvHashNoLang}) { }
0 0 elsif ($canCreate) { }
1293 0 0 if ($tag =~ /^\xa9/ or $tagInfo->{'IText'})
1297 3 6 if ($nvHash and defined $val)
1298 3 0 if ($et->IsOverwriting($nvHash, $val))
1300 0 3 unless defined $newData or $canCreate
1304 0 3 unless defined $newData and not $didTag->{$nvHash}
1307 3 0 if (defined $lang) { }
0 0 elsif (not $format or $format =~ /^string/ and not $tagInfo->{'Binary'} and not $tagInfo->{'ValueConv'}) { }
0 0 elsif ($format and not $tagInfo->{'Binary'}) { }
1310 0 3 if ($iText > 6)
1311 0 0 if length $newData < $iText - 6
1315 3 0 unless ($tagInfo->{'NoDecode'})
1316 0 3 $lang < 1024 ? :
1318 3 0 $lang eq $undLang ? :
1319 3 0 if ($iText < 6) { }
0 0 elsif ($iText == 6) { }
1341 394 391 if (defined $newData)
1344 0 394 if ($sizeDiff > 0 and $tagInfo->{'PreservePadding'} and $et->Options('QuickTimePad')) { }
67 327 elsif ($sizeDiff) { }
1351 0 394 if $len > 2147483647
1353 5 389 if $tag eq "uuid"
1354 9 385 unless $len > 8
1356 153 232 if (@chunkOffset)
1360 1 384 if ($tagInfo->{'WriteLast'}) { }
1365 0 384 unless &Write($outfile, &Set32u($len), $tag, $newData)
1371 0 562 if ($tag eq 'dinf') { }
33 529 elsif ($parent eq 'DataInfo' and length $buff >= 4) { }
33 992 elsif ($tag eq 'stsd' and length $buff >= 8) { }
1381 0 33 unless $pos + 16 <= length $buff
1383 0 33 unless $pos + $siz <= length $buff
1386 0 33 if (not $drefIdx) { }
33 0 elsif ($drefTbl and $$drefTbl[$drefIdx - 1]) { }
1391 33 0 $dref->[1] == 1 && $dref->[0] ne 'rsrc' ? :
1398 0 33 if ($msg)
1400 0 0 if ($et->{'HandlerType'})
1409 0 562 if ($tagInfo and $tagInfo->{'WriteLast'}) { }
1415 0 562 unless &Write($outfile, $hdr, $buff)
1418 0 7 $delCount == 1 ? :
7 298 if $delCount
1420 247 58 unless $addDirs->{'Keys'}
1423 79 35 if ($canCreate and exists $et->{'EDIT_DIRS'}{$dirName} || $createKeys)
1430 15 64 if ($createKeys)
1431 2 13 if ($curPath eq 'MOV-Movie') { }
4 9 elsif ($curPath eq 'MOV-Movie-Meta') { }
9 0 elsif ($curPath eq 'MOV-Movie-Meta-ItemList' and $et->{'Keys'}) { }
1433 2 0 unless ($didDir{'meta'})
1442 8 0 if $didDir{$_}
1460 0 53 if defined $tagInfo->{'CanCreate'} and not $tagInfo->{'CanCreate'}
1462 0 0 if defined $tagInfo->{'HandlerType'} and !$et->{'HandlerType'} || $et->{'HandlerType'} ne $tagInfo->{'HandlerType'}
1464 39 14 unless ($subdir)
1466 8 31 unless $nvHash and not $didTag->{$nvHash}
1467 13 18 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash)
1469 0 18 unless defined $newVal
1472 0 18 unless defined $newVal
1475 0 18 if ($tagInfo->{'LangCode'})
1477 0 0 unless ($tagInfo->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i)
1482 0 0 if ($1 and $1 ne "und")
1485 0 0 if $2 and $2 ne "ZZ"
1487 11 7 if ($dirInfo->{'HasData'}) { }
7 0 elsif ($tag =~ /^\xa9/ or $tagInfo->{'IText'}) { }
0 0 elsif ($ctry or $lang) { }
1491 0 7 if ($ctry) { }
2 5 elsif ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { }
1499 0 2 if length $newVal < $n
1510 0 18 if ($tagInfo->{'WriteLast'}) { }
1514 0 18 unless &Write($outfile, &Set32u(8 + length($newVal)), $tag, $newVal)
1525 2 12 if ($createKeys and $curPath eq 'MOV-Movie' and $subName eq 'Meta') { }
0 12 elsif ($createKeys and $curPath eq 'MOV-Movie-Meta') { }
2 10 elsif ($subName eq 'Meta' and $et->{'OPTIONS'}{'QuickTimeHandler'}) { }
1532 0 0 $subName eq 'Keys' ? :
1538 0 10 unless $curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName
1553 14 0 if ($newData and length $newData <= 2147483639)
1556 5 9 if ($subdir->{'Start'})
1557 2 3 if ($subdir->{'Start'} == 4) { }
1562 3 0 if $cond and $cond =~ m[=~\s*\/\^(.*)/]
1563 0 3 unless length $prefix == $subdir->{'Start'}
1567 1 13 if ($tagInfo->{'WriteLast'}) { }
1570 2 11 if ($tag eq "uuid")
1576 0 13 unless &Write($outfile, $newHdr, $newData)
1581 14 0 unless $subName eq "Keys"
1585 3 0 if ($curPath eq "MOV-Meta" and $et->{'EDIT_DIRS'}{'ItemInformation'})
1588 3 0 if ($mdatEdit)
1589 0 3 if $et->{'mdatEdit'}
1594 0 305 if $term and length $$outfile
1597 24 281 if ($dirName eq "Meta")
1601 2 22 if ($isEmpty)
1602 2 0 if %boxPos
1606 9 15 if ($curPath eq "MOV-Movie-Meta")
1613 287 18 if ($dataPt)
1614 0 287 if $writeLast
1615 0 287 $err ? :
1620 0 18 unless (@mdat)
1622 0 0 if $co->[0] eq "uuid"
1632 3 15 if ($et->{'mdatEdit'})
1640 10 2 if (length $mdat->[2])
1650 7 5 if defined $mdat->[5] or $changed
1651 5 0 if (not $edit->[0] or ($edit->[0] < $mdat->[1] || !$mdat->[1] and $edit->[1] > $mdat->[0] or $edit->[0] == $edit->[1] and $edit->[0] == $mdat->[0] || $edit->[0] == $mdat->[1]))
1657 2 3 if (not $edit->[0]) { }
0 3 elsif ($edit->[0] < $mdat->[0] or $edit->[1] > $mdat->[1] and $mdat->[1]) { }
1664 0 5 unless $hdrChunk
1666 5 0 $edit->[2] ? :
1668 5 0 if ($diff)
1669 5 0 if (length $hdrChunk->[2] == 8) { }
0 0 elsif (length $hdrChunk->[2] == 16) { }
1671 5 0 if ($size)
1673 0 5 if $size > 4294967295
1678 0 0 if ($size)
1689 0 5 if ($edit->[0] > $mdat->[0]) { }
1690 0 0 if $edit->[2]
1695 5 0 if ($edit->[2])
1700 5 0 if ($edit->[3])
1703 14 5 unless defined $co->[4] and $co->[4] == $edit->[3]
1705 5 0 if ($co->[0] eq 'stco_iloc') { }
1711 0 5 unless $n == 1
1718 5 0 if ($changed) { }
1732 5 21 $mdat->[4] ? :
1738 59 0 unless $base
1739 15 44 unless ($type =~ /^(stco|co64)_?(.*)$/)
1740 12 3 if $type eq "uuid"
1741 0 3 unless $type eq "CTBO"
1743 0 3 unless $co->[2] > 12
1744 0 3 unless @mdat
1746 0 3 if $co->[2] < $n * 20 + 12
1750 15 10 unless $_->[0] eq "uuid" and $_->[2] >= 24
1752 1 9 if $pos + 24 > length $$outfile
1754 0 9 if ($siz == 1)
1755 0 0 unless $_->[2] >= 32
1760 6 3 if defined $id
1769 3 0 unless &Get64u($outfile, $pos + 12) or $id == 1 or $id == 2
1770 0 9 unless (defined $ctboOff{$id})
1771 0 0 unless $id == 1 or $id == 2
1777 6 3 unless $ctboOff{$id}[2] < 0
1781 12 32 $1 eq 'co64' ? :
1783 11 33 if ($2) { }
1788 0 33 if $len < 8
1795 0 44 if $end > $ptr + $len
1798 12 11 $type eq 'co64' ? :
1802 17 21 if (defined $mdat->[5]) { }
1804 12 5 unless (defined $id and $id == $mdat->[5])
1806 12 0 unless $pos == $mdat->[0] and $mdat->[0] != $mdat->[1]
1810 3 18 unless $pos >= $mdat->[0] and $pos <= $mdat->[1] || !$mdat->[1]
1812 0 0 if $pos == $mdat->[1] and $i + 1 < @mdat and $pos == $mdat[$i + 1][0]
1815 0 23 if ($val < 0)
1819 12 11 if ($type eq 'co64') { }
11 0 elsif ($val <= 4294967295) { }
1830 0 23 unless ($ok)
1841 0 18 unless &Write($outfile, $outBuff)
1845 0 26 unless &Write($outfile, $mdat->[2])
1846 5 21 if ($mdat->[4]) { }
1847 0 5 unless &Write($outfile, ${$$mdat[4];})
1849 0 21 unless $raf->Seek($mdat->[0], 0)
1850 21 0 if ($mdat->[1]) { }
1852 0 21 unless defined $result
1853 0 21 unless $result
1858 0 0 unless &Write($outfile, $buff)
1865 2 16 if $writeLast
1878 0 18 unless $et
1879 0 18 unless my $raf = $dirInfo->{'RAF'}
1883 0 18 unless $raf->Read($buff, 8) == 8
1885 0 18 if $size < 8 and $size != 1
1889 0 18 unless $tagTablePtr->{$tag}
1893 9 9 if ($tag eq 'ftyp' and $size >= 12 and $size < 100000 and $raf->Read($buff, $size - 8) == $size - 8 and not $buff =~ /^(....)+(qt )/s) { }
1897 3 6 if ($buff =~ /^crx /) { }
3 3 elsif ($buff =~ /^(heic|mif1|msf1|heix|hevc|hevx|avif)/) { }
1908 3 15 if ($ftype eq 'HEIC') { }
1924 18 0 &WriteQuickTime($et, $dirInfo, $tagTablePtr) ? :