Branch Coverage

blib/lib/Image/ExifTool/WriteQuickTime.pl
Criterion Covered Total %
branch 476 834 57.0


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 427 unless $format
315 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) { }
317 0 2 if ($writable and $qtFormat{$writable}) { }
342 6 0 if ($n == 4) { }
0 0 elsif ($n == 8) { }
357 174 9 unless $et
363 0 9 if $dirLen < 8
364 3 6 if ($et->{'DEL_GROUP'}{'Keys'})
369 0 3 $n == 1 ? :
380 0 15 if $len < 8 or $pos + $len > $dirLen
384 15 0 if $ns eq "mdta"
385 0 15 unless $tag
388 15 0 if ($tagInfo)
390 2 13 if ($newTags->{$tag})
393 1 1 if ($nvHash and $et->IsOverwriting($nvHash) > 0 and not defined $et->GetNewValue($nvHash))
397 6 0 unless $newTags->{$t}{'SrcTagInfo'} and $newTags->{$t}{'SrcTagInfo'} eq $tagInfo
399 0 0 unless $et->IsOverwriting($nv) and defined $et->GetNewValue($nv)
403 1 0 unless ($dontDelete)
423 1 11 if ($tagInfo->{'LangCode'} and $tagInfo->{'SrcTagInfo'}) { }
428 3 9 if $done{$id}
430 0 5 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash) and defined $et->GetNewValue($nvHash)
433 0 5 $id =~ /^com\./ ? :
440 8 1 if ($num) { }
467 0 3 unless $items and $raf
474 0 9 unless defined $primary
477 6 3 unless $item->{'RefersTo'} and $item->{'RefersTo'}{$primary}
481 0 3 unless $name
482 0 3 unless $et->{'EDIT_DIRS'}{$name}
485 0 3 unless $boxPos->{'iloc'}
486 0 3 unless $item->{'Extents'} and @{$item->{'Extents'};}
487 0 3 if $item->{'ContentEncoding'}
488 0 3 if $item->{'ProtectionIndex'}
489 0 3 if $item->{'ConstructionMethod'}
490 0 3 if $item->{'DataReferenceIndex'}
491 0 3 if $warn
495 0 3 if defined $buff
497 2 1 if ($extent->[2]) { }
498 0 2 unless $raf->Seek($pos, 0)
499 0 2 unless $raf->Read($buff, $extent->[2])
505 0 3 unless defined $buff
506 0 3 if length $val
508 1 2 if ($name eq 'EXIF') { }
509 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)) { }
535 3 0 if (defined $newVal and $changed ne $et->{'CHANGED'} and $dirInfo{'DirLen'} || length $newVal)
539 1 2 if length $hdr and length $newVal
547 0 3 if ($nlen == 8) { }
3 0 elsif ($n <= 4294967295) { }
557 0 3 if (@{$item->{'Extents'};} != 1)
568 4 2 if $did{$name} or not $et->{'ADD_DIRS'}{$name}
571 0 2 if (@missing)
572 0 0 @missing > 1 ? :
576 0 2 unless (defined $et->{'PrimaryItem'})
577 0 0 unless (defined $primary)
582 0 0 if ($primary < 65536) { }
591 1 1 if ($name eq 'EXIF') { }
607 2 0 if (defined $newVal and $changed ne $et->{'CHANGED'})
609 2 0 if ($boxPos->{'iref'}) { }
613 0 0 $primary < 65536 ? :
616 1 1 if length $hdr
618 2 0 unless defined $add{'iinf'}
620 1 1 if ($name eq 'XMP') { }
630 2 0 if ($id < 65536) { }
637 0 2 if ($irefVer) { }
650 2 0 if ($ilocVer == 0) { }
0 0 elsif ($ilocVer == 1) { }
0 0 elsif ($ilocVer == 2) { }
671 0 2 unless my $off = $dirInfo->{'ChunkOffset'}
673 2 0 if ($noff == 4) { }
0 0 elsif ($noff == 8) { }
0 0 elsif ($noff == 0) { }
679 0 0 if ($nbas == 4) { }
0 0 elsif ($nbas == 8) { }
699 2 1 if ($countNew)
705 6 6 unless $add{$tag}
707 6 0 $boxPos->{$tag}[1] ? :
708 0 0 unless $tag eq "iref"
716 2 4 if ($tag eq 'iinf') { }
2 2 elsif ($tag eq 'iref') { }
2 0 elsif ($tag eq 'iloc') { }
0 0 elsif ($tag ne 'hdlr') { }
718 0 2 if ($iinfVer == 0) { }
729 2 0 if ($ilocVer < 2) { }
737 0 2 if ($added)
749 3 0 @mdatEdit ? :
763 501 305 unless $et
776 287 18 $dataPt ? :
778 287 18 if ($dataPt) { }
781 0 18 unless $raf
787 56 249 if $dirStart
793 8 297 if ($addDirs->{'Keys'} and $curPath =~ /^MOV-Movie(-Meta)?$/) { }
9 288 elsif ($curPath eq 'MOV-Movie-Meta-ItemList') { }
798 9 0 if ($keys)
803 14 1 if $keys->{'Remap'}{$index}
810 10 2 unless $index
812 1 1 if ($tagInfo->{'LangCode'})
814 1 0 unless $langTags{$id}
826 30 2 unless $newTags->{$_}{'LangCode'} and $newTags->{$_}{'SrcTagInfo'}
828 2 0 unless $langTags{$id}
832 114 191 if ($curPath eq $writePath or $createKeys)
836 3 302 if $tagTablePtr->{'VARS'}
839 0 0 if (defined $atomCount and --$atomCount < 0 and $dataPt)
841 0 0 unless &Write($outfile, substr($$dataPt, $raf->Tell))
846 305 1042 unless ($n == 8)
847 0 305 if ($n == 4 and $hdr eq "\000\000\000\000") { }
0 305 elsif ($n != 0) { }
858 3 1039 if ($size == -7) { }
0 1039 elsif ($size == -8) { }
0 1039 elsif ($size < 0) { }
860 0 3 unless $raf->Read($buff, 8) == 8
863 0 3 if ($hi or $lo > 2147483647)
864 0 0 if ($hi > 2147483647) { }
0 0 elsif (not $et->Options('LargeFileSupport')) { }
873 0 3 if $size < 0
875 0 0 if ($dataPt) { }
876 0 0 if $dirInfo->{'DirName'} eq "CanonCNTH"
894 21 1021 if ($tag eq 'mdat') { }
0 1021 elsif ($tag eq 'cmov') { }
0 1021 elsif ($tag eq 'wide') { }
895 0 21 if ($dataPt)
900 0 21 unless $raf->Seek($size, 1)
911 2 1019 if (not $size) { }
916 0 1019 $size > $maxReadLen ? :
918 0 1021 if ($got != $size)
920 0 0 if ($got <= 256 and $size >= 1024 and $tag ne 'mdat') { }
922 0 0 if ($et->{'OPTIONS'}{'IgnoreMinorErrors'}) { }
931 0 0 if ($size > $maxReadLen and $got == 65536) { }
941 75 946 if ($tag eq "hdlr" and length $buff >= 12)
943 30 45 if $hdlr =~ /^(vide|soun)$/
948 49 972 if ($tag =~ /^(stco|co64|iloc|mfra|moof|sidx|saio|gps |CTBO|uuid)$/)
951 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) { }
958 0 3 unless &Handle_iloc($et, $dirInfo, \$buff, $outfile)
961 0 0 if ($dirInfo->{'DirID'} and $dirInfo->{'DirID'} eq "moov" and length $buff > 8)
964 0 0 if $num * 8 + 8 > length $buff
989 21 808 if $tagInfo and $tagInfo->{'WriteHook'}
992 21 0 if (not $tagInfo and $dirName eq "ItemList" and $et->{'Keys'})
995 21 0 if (defined $newIndex) { }
997 7 14 unless ($newIndex)
998 1 6 if ($tagInfo) { }
1007 2 12 unless ($keysIndex == $newIndex)
1016 77 937 if ($delGrp)
1017 44 33 if ($dirName eq 'ItemList') { }
14 31 elsif ($dirName eq 'UserData' and not $tagInfo && $tagInfo->{'SubDirectory'}) { }
1027 0 785 if $tagInfo and $tagInfo->{'Unknown'}
1029 785 0 if ($tagInfo and !defined($tagInfo->{'Writable'}) || $tagInfo->{'Writable'})
1033 565 220 if ($subdir) { }
1035 33 532 if $tag eq "trak"
1042 0 565 if ($subdir->{'Base'})
1047 0 0 if $localBase <= $hdrLen
1072 0 565 if $et->Options("QuickTimePad")
1075 62 503 if ($hdrLen and $hdrLen < $size)
1079 7 558 if $subdir->{'ByteOrder'} and $subdir->{'ByteOrder'} =~ /^Little/
1081 33 532 if ($subName eq "Track")
1082 15 18 unless $track
1087 37 528 unless $subTable->{'GROUPS'}{'0'} eq "QuickTime"
1090 33 532 if ($et->{'DemoteErrors'})
1092 0 33 if $et->{'DemoteErrors'} > 1
1095 0 9 if (defined $newData and not length $newData and $tagInfo->{'Permanent'} || $tagTablePtr->{'PERMANENT'} && !defined($tagInfo->{'Permanent'}))
1105 56 1 if ($start and defined $newData and length $newData || defined $tagInfo->{'Permanent'} && !$tagInfo->{'Permanent'})
1112 34 192 if ($curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName)
1120 2 211 if ($nvHash or $langTags{$tag} or $delGrp)
1126 5 4 if ($hasData) { }
0 4 elsif ($format) { }
4 0 elsif ($tag =~ /^\xa9/ || $tagInfo->{'IText'} and $size >= ($tagInfo->{'IText'} || 4)) { }
1129 5 5 if ($pos + 16 > $size)
1131 1 4 if ($langTags{$tag})
1134 1 1 $tg ? :
1136 1 1 unless $nvHash and not $didTag->{$nvHash}
1138 0 1 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash)
1140 0 1 unless defined $newVal
1143 0 1 unless defined $newVal
1145 1 0 if ($ti->{'LangCode'})
1146 0 1 unless ($ti->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i)
1151 1 0 if ($1 and $1 ne "und")
1154 1 0 if $2 and $2 ne "ZZ"
1156 1 0 unless defined $newData
1166 5 0 unless $lang
1174 0 0 if $nvHash or not $ctry or $lang ne $undLang or length $langCode == 2
1180 4 1 if (not $nvHash and $nvHashNoLang)
1181 4 0 if ($lang eq $undLang and not $ctry and not $didTag->{$nvHashNoLang}) { }
1187 0 5 if $pos + $len > $size
1188 5 0 if ($type eq 'data' and $len >= 16) { }
0 0 elsif (defined $newData) { }
1193 5 0 if ($Image::ExifTool::QuickTime::stringEncoding{$flags}) { }
1195 5 0 unless $tagInfo->{'Binary'}
1198 0 0 if ($format) { }
1200 0 0 if ($tagInfo->{'Writable'} and $qtFormat{$tagInfo->{'Writable'}}) { }
0 0 elsif ($qtFormat{$format}) { }
1208 0 0 if $format
1210 3 2 if ($nvHash and $et->IsOverwriting($nvHash, $val) or $delTag) { }
0 2 elsif (defined $newData) { }
1211 3 0 if defined $nvHash
1212 0 3 if ($delTag or not defined $newVal or $didTag->{$nvHash})
1217 0 0 unless defined $newData
1227 3 0 unless defined $newData
1228 3 0 $lang eq $undLang ? :
1238 4 1 if $nvHash
1240 0 5 if defined $newData and $pos < $size
1246 0 4 if ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { }
1255 0 4 if 4 + $len > $size
1256 0 4 if $len > $size - 4 or $len < 0
1259 4 0 unless $lang
1261 0 4 if ($lang < 1024 and not $val =~ /^\xfe\xff/) { }
1265 0 4 $val =~ s/^\xfe\xff// ? :
1267 4 0 unless ($tagInfo->{'NoDecode'})
1271 0 4 if defined $hdr
1275 3 1 if (not $nvHash and $nvHashNoLang)
1276 3 0 if ($lang eq $undLang and not $didTag->{$nvHashNoLang}) { }
0 0 elsif ($canCreate) { }
1288 0 0 if ($tag =~ /^\xa9/ or $tagInfo->{'IText'})
1292 3 6 if ($nvHash and defined $val)
1293 3 0 if ($et->IsOverwriting($nvHash, $val))
1295 0 3 unless defined $newData or $canCreate
1299 0 3 unless defined $newData and not $didTag->{$nvHash}
1302 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'}) { }
1305 0 3 if ($iText > 6)
1306 0 0 if length $newData < $iText - 6
1310 3 0 unless ($tagInfo->{'NoDecode'})
1311 0 3 $lang < 1024 ? :
1313 3 0 $lang eq $undLang ? :
1314 3 0 if ($iText < 6) { }
0 0 elsif ($iText == 6) { }
1336 394 391 if (defined $newData)
1339 0 394 if ($sizeDiff > 0 and $tagInfo->{'PreservePadding'} and $et->Options('QuickTimePad')) { }
67 327 elsif ($sizeDiff) { }
1346 0 394 if $len > 2147483647
1348 5 389 if $tag eq "uuid"
1349 9 385 unless $len > 8
1351 153 232 if (@chunkOffset)
1355 1 384 if ($tagInfo->{'WriteLast'}) { }
1360 0 384 unless &Write($outfile, &Set32u($len), $tag, $newData)
1366 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) { }
1376 0 33 unless $pos + 16 <= length $buff
1378 0 33 unless $pos + $siz <= length $buff
1381 0 33 if (not $drefIdx) { }
33 0 elsif ($drefTbl and $$drefTbl[$drefIdx - 1]) { }
1386 33 0 $dref->[1] == 1 && $dref->[0] ne 'rsrc' ? :
1393 0 33 if ($msg)
1395 0 0 if ($et->{'HandlerType'})
1404 0 562 if ($tagInfo and $tagInfo->{'WriteLast'}) { }
1410 0 562 unless &Write($outfile, $hdr, $buff)
1413 0 7 $delCount == 1 ? :
7 298 if $delCount
1415 247 58 unless $addDirs->{'Keys'}
1418 79 35 if ($canCreate and exists $et->{'EDIT_DIRS'}{$dirName} || $createKeys)
1425 15 64 if ($createKeys)
1426 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'}) { }
1428 2 0 unless ($didDir{'meta'})
1437 8 0 if $didDir{$_}
1455 0 53 if defined $tagInfo->{'CanCreate'} and not $tagInfo->{'CanCreate'}
1457 0 0 if defined $tagInfo->{'HandlerType'} and !$et->{'HandlerType'} || $et->{'HandlerType'} ne $tagInfo->{'HandlerType'}
1459 39 14 unless ($subdir)
1461 8 31 unless $nvHash and not $didTag->{$nvHash}
1462 13 18 unless $nvHash->{'IsCreating'} and $et->IsOverwriting($nvHash)
1464 0 18 unless defined $newVal
1467 0 18 unless defined $newVal
1470 0 18 if ($tagInfo->{'LangCode'})
1472 0 0 unless ($tagInfo->{'LangCode'} =~ /^([A-Z]{3})?[-_]?([A-Z]{2})?$/i)
1477 0 0 if ($1 and $1 ne "und")
1480 0 0 if $2 and $2 ne "ZZ"
1482 11 7 if ($dirInfo->{'HasData'}) { }
7 0 elsif ($tag =~ /^\xa9/ or $tagInfo->{'IText'}) { }
0 0 elsif ($ctry or $lang) { }
1486 0 7 if ($ctry) { }
2 5 elsif ($tagInfo->{'IText'} and $tagInfo->{'IText'} >= 6) { }
1494 0 2 if length $newVal < $n
1505 0 18 if ($tagInfo->{'WriteLast'}) { }
1509 0 18 unless &Write($outfile, &Set32u(8 + length($newVal)), $tag, $newVal)
1520 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'}) { }
1527 0 0 $subName eq 'Keys' ? :
1533 0 10 unless $curPath eq $writePath and $addDirs->{$subName} and $addDirs->{$subName} eq $dirName
1548 14 0 if ($newData and length $newData <= 2147483639)
1551 5 9 if ($subdir->{'Start'})
1552 2 3 if ($subdir->{'Start'} == 4) { }
1557 3 0 if $cond and $cond =~ m[=~\s*\/\^(.*)/]
1558 0 3 unless length $prefix == $subdir->{'Start'}
1562 1 13 if ($tagInfo->{'WriteLast'}) { }
1565 2 11 if ($tag eq "uuid")
1571 0 13 unless &Write($outfile, $newHdr, $newData)
1576 14 0 unless $subName eq "Keys"
1580 3 0 if ($curPath eq "MOV-Meta" and $et->{'EDIT_DIRS'}{'ItemInformation'})
1583 3 0 if ($mdatEdit)
1584 0 3 if $et->{'mdatEdit'}
1589 0 305 if $term and length $$outfile
1592 24 281 if ($dirName eq "Meta")
1596 2 22 if ($isEmpty)
1597 2 0 if %boxPos
1601 9 15 if ($curPath eq "MOV-Movie-Meta")
1608 287 18 if ($dataPt)
1609 0 287 if $writeLast
1610 0 287 $err ? :
1615 0 18 unless (@mdat)
1617 0 0 if $co->[0] eq "uuid"
1627 3 15 if ($et->{'mdatEdit'})
1635 10 2 if (length $mdat->[2])
1645 7 5 if defined $mdat->[5] or $changed
1646 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]))
1652 2 3 if (not $edit->[0]) { }
0 3 elsif ($edit->[0] < $mdat->[0] or $edit->[1] > $mdat->[1] and $mdat->[1]) { }
1659 0 5 unless $hdrChunk
1661 5 0 $edit->[2] ? :
1663 5 0 if ($diff)
1664 5 0 if (length $hdrChunk->[2] == 8) { }
0 0 elsif (length $hdrChunk->[2] == 16) { }
1666 0 5 if $size > 4294967295
1678 0 5 if ($edit->[0] > $mdat->[0]) { }
1679 0 0 if $edit->[2]
1684 5 0 if ($edit->[2])
1689 5 0 if ($edit->[3])
1692 14 5 unless defined $co->[4] and $co->[4] == $edit->[3]
1694 5 0 if ($co->[0] eq 'stco_iloc') { }
1700 0 5 unless $n == 1
1707 5 0 if ($changed) { }
1721 5 21 $mdat->[4] ? :
1727 59 0 unless $base
1728 15 44 unless ($type =~ /^(stco|co64)_?(.*)$/)
1729 12 3 if $type eq "uuid"
1730 0 3 unless $type eq "CTBO"
1732 0 3 unless $co->[2] > 12
1733 0 3 unless @mdat
1735 0 3 if $co->[2] < $n * 20 + 12
1739 15 10 unless $_->[0] eq "uuid" and $_->[2] >= 24
1741 1 9 if $pos + 24 > length $$outfile
1743 0 9 if ($siz == 1)
1744 0 0 unless $_->[2] >= 32
1749 6 3 if defined $id
1758 3 0 unless &Get64u($outfile, $pos + 12) or $id == 1 or $id == 2
1759 0 9 unless (defined $ctboOff{$id})
1760 0 0 unless $id == 1 or $id == 2
1766 6 3 unless $ctboOff{$id}[2] < 0
1770 12 32 $1 eq 'co64' ? :
1772 11 33 if ($2) { }
1777 0 33 if $len < 8
1784 0 44 if $end > $ptr + $len
1787 12 11 $type eq 'co64' ? :
1791 17 21 if (defined $mdat->[5]) { }
1793 12 5 unless (defined $id and $id == $mdat->[5])
1795 12 0 unless $pos == $mdat->[0] and $mdat->[0] != $mdat->[1]
1799 3 18 unless $pos >= $mdat->[0] and $pos <= $mdat->[1] || !$mdat->[1]
1801 0 0 if $pos == $mdat->[1] and $i + 1 < @mdat and $pos == $mdat[$i + 1][0]
1804 0 23 if ($val < 0)
1808 12 11 if ($type eq 'co64') { }
11 0 elsif ($val <= 4294967295) { }
1819 0 23 unless ($ok)
1830 0 18 unless &Write($outfile, $outBuff)
1834 0 26 unless &Write($outfile, $mdat->[2])
1835 5 21 if ($mdat->[4]) { }
1836 0 5 unless &Write($outfile, ${$$mdat[4];})
1838 0 21 unless $raf->Seek($mdat->[0], 0)
1839 21 0 if ($mdat->[1]) { }
1841 0 21 unless defined $result
1842 0 21 unless $result
1847 0 0 unless &Write($outfile, $buff)
1854 2 16 if $writeLast
1867 0 18 unless $et
1868 0 18 unless my $raf = $dirInfo->{'RAF'}
1872 0 18 unless $raf->Read($buff, 8) == 8
1874 0 18 if $size < 8 and $size != 1
1878 0 18 unless $tagTablePtr->{$tag}
1882 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) { }
1886 3 6 if ($buff =~ /^crx /) { }
3 3 elsif ($buff =~ /^(heic|mif1|msf1|heix|hevc|hevx|avif)/) { }
1908 18 0 &WriteQuickTime($et, $dirInfo, $tagTablePtr) ? :