Branch Coverage

blib/lib/Image/ExifTool/QuickTimeStream.pl
Criterion Covered Total %
branch 53 822 6.4


line true false branch
745 0 0 unless $dirLen > 8
750 0 0 unless $ee
752 0 0 if $verbose
759 0 0 if $end > $dirLen
762 0 0 if ($verbose)
770 0 0 if $len < 8 or $pos + $len > $end
776 0 0 if ($tag eq 'keyd') { }
0 0 elsif ($tag eq 'dtyp') { }
778 0 0 unless $tagID
779 0 0 if $verbose
781 0 0 if length $val < 4
782 0 0 if (length $val >= 4)
784 0 0 if ($ns == 0) { }
0 0 elsif ($ns == 1) { }
785 0 0 unless length $val >= 8
794 0 0 if $verbose and defined $str
797 0 0 if ($verbose > 1)
798 0 0 if (defined $str) { }
808 0 0 if (defined $tagID and defined $format)
809 0 0 if ($verbose)
827 8 0 if defined $time
828 8 0 if defined $dur
840 0 0 if (defined $sampleTime and $value->{'CreateDate'})
842 0 0 if ($et->{'CreateDateAtEnd'}) { }
843 0 0 unless $value->{'TimeScale'} and $value->{'Duration'}
849 0 0 unless ($et->Options("QuickTimeUTC"))
851 0 0 unless (defined $tzOff)
871 0 0 if $tags->{'GPSDateTime'}
887 0 0 if $et->{'NoMoreTextDecoding'}
889 0 0 if (ref $dataPt eq "HASH")
897 0 0 if ($tag =~ /^[A-Z]{2}RMC$/ and $dat =~ /^,(\d{2})(\d{2})(\d+(?:\.\d*)),A?,(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/) { }
0 0 elsif ($tag =~ /^[A-Z]{2}GGA$/ and $dat =~ /^,(\d{2})(\d{2})(\d+(?:\.\d*)?),(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),[1-6]?,(\d+)?,(\.\d+|\d+\.?\d*)?,(-?\d+\.?\d*)?,M?/s) { }
0 0 elsif ($tag eq 'BEGINGSENSOR' and $dat =~ /^:([-+]\d+\.\d+):([-+]\d+\.\d+):([-+]\d+\.\d+)/) { }
0 0 elsif ($tag eq 'TIME' and $dat =~ /^:(\d+)/) { }
0 0 elsif ($tag eq 'BEGIN') { }
0 0 elsif ($tag ne 'END') { }
899 0 0 if ($et->{'LastTime'})
900 0 0 if ($et->{'LastTime'} eq $time) { }
0 0 elsif (%tags) { }
909 0 0 if $et->{'DOC_COUNT'} < ++$et->{'DOC_NUM'}
914 0 0 $14 >= 70 ? :
917 0 0 $6 eq 'N' ? :
918 0 0 $9 eq 'E' ? :
919 0 0 if length $10
920 0 0 if length $11
923 0 0 if ($et->{'LastTime'})
924 0 0 if ($et->{'LastTime'} eq $time) { }
0 0 elsif (%tags) { }
929 0 0 if $et->{'DOC_COUNT'} < ++$et->{'DOC_NUM'}
935 0 0 $6 eq 'N' ? :
936 0 0 $9 eq 'E' ? :
937 0 0 if defined $10
938 0 0 if defined $11
939 0 0 if defined $12
945 0 0 if length $dat
951 0 0 if %tags
986 0 0 if ($$dataPt =~ /^\0\0(..\xaa\xaa|\xf2\xe1\xf0\xee)/s and length $$dataPt >= 282)
988 0 0 if ($val =~ /^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})$/)
991 0 0 if ($val =~ /^([NS])(\d{2})(\d+$)$/)
992 0 0 $1 eq 'S' ? :
995 0 0 if ($val =~ /^([EW])(\d{3})(\d+$)$/)
996 0 0 $1 eq 'W' ? :
999 0 0 if $val =~ /^[-+]\d+$/
1001 0 0 if $val =~ /^\d+$/
1002 0 0 if ($$dataPt =~ /^\0\0..\xaa\xaa/s) { }
1005 0 0 if ($val =~ /^([-+]\d{3})([-+]\d{3})([-+]\d{3})$/)
1018 0 0 if @acc
1021 0 0 if %tags
1027 0 0 if ($$dataPt =~ /GPS \(([-+]?\d*\.\d+),\s*([-+]?\d*\.\d+)/)
1031 0 0 if $$dataPt =~ /,\s*H\s+([-+]?\d+\.?\d*)m/
1032 0 0 if $$dataPt =~ /,\s*H.S\s+([-+]?\d+\.?\d*)/
1033 0 0 if $$dataPt =~ /,\s*D\s+(\d+\.?\d*)m/
1034 0 0 if $$dataPt =~ /,\s*V.S\s+([-+]?\d+\.?\d*)/
1035 0 0 if $$dataPt =~ m[\bF/(\d+\.?\d*)]
1036 0 0 if $$dataPt =~ /\bSS\s+(\d+\.?\d*)/
1037 0 0 if $$dataPt =~ m[\bEV\s+([-+]?\d+\.?\d*)(/\d+)?]
1038 0 0 if $$dataPt =~ /\bISO\s+(\d+\.?\d*)/
1045 0 0 if ($$dataPt =~ /^A,(\d{2})(\d{2})(\d{2}),(\d{2})(\d{2})(\d{2}(\.\d+)?)/)
1047 0 0 if ($$dataPt =~ /^A,.*?,.*?,(\d{2})(\d+\.\d+),([NS])/)
1048 0 0 $3 eq 'S' ? :
1050 0 0 if ($$dataPt =~ /^A,.*?,.*?,.*?,.*?,(\d{3})(\d+\.\d+),([EW])/)
1051 0 0 $3 eq 'W' ? :
1054 0 0 if $a[8] and $a[8] =~ s/M$//
1055 0 0 if $a[7] and $a[7] =~ /^\d+\.\d+$/
1056 0 0 if $a[11] and $a[11] =~ s/;\s*$//
1066 0 0 if ($$dataPt =~ /\*[0-9A-F]{2}~$/)
1072 0 0 if $n >= 0 and defined $decode[$n]
1075 0 0 if ($buff =~ /X(.*?)Y(.*?)Z(.*?)G(.*?)\$/)
1085 0 0 if ($$dataPt =~ /[A-Z]{2}RMC,(\d{2})(\d{2})(\d+(\.\d*)?),A?,(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/ and $13 <= 31 and $14 <= 12 and $15 <= 99)
1089 0 0 $15 >= 70 ? :
1091 0 0 $7 eq 'N' ? :
1092 0 0 $10 eq 'E' ? :
1093 0 0 if length $11
1094 0 0 if length $12
1096 0 0 if $$dataPt =~ /\bgsensori,(.*?)(;|$)/
1097 0 0 if $$dataPt =~ /\bCAR,(.*?)(;|$)/
1099 0 0 if (%tags) { }
1104 0 0 if $et->{'UnknownTextCount'} > 100
1119 0 16 unless $ee
1124 12 4 if ($type eq "vide")
1125 0 12 if ($ee->{'avcC'}) { }
4 8 elsif ($ee->{'JPEG'}) { }
1135 8 0 unless ($start and $size)
1136 0 8 unless $size
1138 0 8 unless $stco and $stsc and @$stsc
1142 8 0 if ($stts and @$stts > 1)
1149 8 0 if ($iChunk >= $nextChunk and @$stsc)
1151 0 8 if @$stsc
1153 0 8 if @$size < @$start + $samplesPerChunk
1157 8 0 if (defined $time)
1159 0 0 if (@$stts < 2)
1172 8 0 if ++$i >= $samplesPerChunk
1177 0 8 unless @$start == @$size
1187 0 8 if ($verbose)
1193 0 8 if ($type eq "avcC")
1195 0 0 $hdrLen == 2 ? :
0 0 $hdrLen == 4 ? :
1207 0 8 unless $raf->Seek($start->[$i], 0) and $raf->Read($buff, $size) == $size
1209 0 8 if ($type eq "avcC")
1210 0 0 if length $buff <= $hdrLen
1214 0 0 if $pos + $hdrLen + $len > length $buff
1218 0 0 if $pos + $hdrLen >= length $buff
1220 0 0 if ($et->{'GotNAL06'})
1222 0 0 unless $eeOpt and $eeOpt > 2
1226 0 8 if ($verbose > 1)
1227 0 0 $et->{'SET_GROUP1'} ? :
1231 0 8 if ($type eq 'text' or $type eq 'sbtl' and $metaFormat eq 'tx3g' and $buff =~ /^..PNDM/s) { }
4 4 elsif ($processByMetaFormat{$type}) { }
0 4 elsif ($type eq 'gps ') { }
4 0 elsif ($tagTbl->{$type}) { }
1237 0 0 unless ($buff =~ /^\$BEGIN/)
1239 0 0 if $buff =~ s/\0\0\0\x0cencd\0\0\x01\0$//
1243 0 0 if ($size >= 2 and unpack("n", $buff) == $size - 2)
1244 0 0 if $size == 2
1249 0 0 if ($buff =~ /^\0/ and $buff =~ /\x0a$/ and length $buff > 5) { }
0 0 elsif ($buff =~ /^(\0.{3})?PNDM/s) { }
1254 0 0 if ($verbose > 2)
1258 0 0 if ($tmp =~ /^(.*?)(\$[A-Z]{2}RMC.*)/s)
1261 0 0 if length $val
1265 0 0 $1 ? :
1266 0 0 if length $buff < 20 + $n
1273 0 0 unless (defined $val)
1281 4 0 if ($tagTbl->{$metaFormat}) { }
0 0 elsif ($verbose) { }
1283 4 0 if ($tagInfo) { }
0 0 elsif ($metaFormat eq 'camm' and $buff =~ /^X/) { }
1297 0 0 if $buff =~ /X(.*?)Y(.*?)Z(.*?)G(.*?)\$/
1306 0 0 if ($buff =~ /^....freeGPS /s)
1319 4 0 if ($tagInfo)
1330 0 8 if $et->{'FoundGPSLatitude'} and not $et->{'FoundGPSDateTime'}
1332 0 8 if ($verbose)
1369 0 0 if $dirLen < 92
1371 0 0 if (substr($$dataPt, 18, 8) eq "\252\252\362\341\360\356TT") { }
0 0 elsif ($$dataPt =~ /^.{52}(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/s) { }
0 0 elsif ($$dataPt =~ /^.{37}\0\0\0A([NS])([EW])/s) { }
0 0 elsif ($$dataPt =~ /^.{21}\0\0\0A([NS])([EW])/s) { }
0 0 elsif ($$dataPt =~ /^.{60}A\0{3}.{4}([NS])\0{3}.{4}([EW])\0{3}/s) { }
0 0 elsif ($$dataPt =~ /^.{60}4W`b]S= 140) { }
0 0 elsif ($$dataPt =~ /^.{64}[\x01-\x0c]\0{3}[\x01-\x1f]\0{3}A[NS][EW]\0{5}/s) { }
0 0 elsif ($$dataPt =~ /^.{12}\xac\0\0\0.{44}(.{72})/s) { }
0 0 elsif ($$dataPt =~ /^.{64}A([NS])([EW])\0/s) { }
1401 0 0 if $n > 257
1403 0 0 if ($et->Options("Verbose") > 1)
1408 0 0 unless $buf2 =~ /^.{8}(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2}).(.{15})([NS])(\d{8})([EW])(\d{9})(\d{8})?/s
1410 0 0 if (defined $spd) { }
0 0 elsif ($buf2 =~ /^.{57}([-+]\d{4})(\d{3})/s) { }
1417 0 0 if length $lbl
1419 0 0 if ($buf2 =~ /^.{65}(([-+]\d{3})([-+]\d{3})([-+]\d{3})([-+]\d{3})*)/s) { }
0 0 elsif ($buf2 =~ /^.{173}([-+]\d{3})([-+]\d{3})([-+]\d{3})/s) { }
1427 0 0 if $debug
1437 0 0 if ($$dataPt =~ /\$[A-Z]{2}RMC,(\d{2})(\d{2})(\d+(\.\d*)?),A?,(\d+\.\d+),([NS]),(\d+\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/s)
1439 0 0 $13 >= 70 ? :
1441 0 0 if length $9
1442 0 0 if length $10
1444 0 0 if ($$dataPt =~ /\$[A-Z]{2}GGA,(\d{2})(\d{2})(\d+(\.\d*)?),(\d+\.\d+),([NS]),(\d+\.\d+),([EW]),[1-6]?,(\d+)?,(\.\d+|\d+\.?\d*)?,(-?\d+\.?\d*)?,M?/s)
1445 0 0 unless defined $yr
1450 0 0 if (defined $lat)
1454 0 0 if $_ >= 2147483648
1456 0 0 if $debug
1467 0 0 if ($yr < 2000) { }
1485 0 0 if $_ >= 2147483648
1487 0 0 if $debug
1516 0 0 if $debug
1535 0 0 if $trk >= 360
1537 0 0 if $debug
1549 0 0 if $_ >= 16
1550 0 0 unless /[A-Z]{2}RMC,(\d{2})(\d{2})(\d+(\.\d*)?),A?,(\d*?\d{1,2}\.\d+),([NS]),(\d*?\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/
1552 0 0 $yr >= 70 ? :
1553 0 0 if length $9
1554 0 0 if length $10
1555 0 0 if $debug
1583 0 0 unless $stat eq "A" and $latRef eq 'N' || $latRef eq 'S' and $lonRef eq 'E' || $lonRef eq 'W'
1599 0 0 if $debug
1622 0 0 if $debug
1637 0 0 unless $mon >= 1 and $mon <= 12 and $day >= 1 and $day <= 31
1638 0 0 if $yr < 2000
1640 0 0 if $_ >= 2147483648
1648 0 0 if $debug
1664 0 0 unless $stat eq "A" and $latRef eq 'N' || $latRef eq 'S' and $lonRef eq 'E' || $lonRef eq 'W'
1676 0 0 if (abs $lat2 - $lat < "0.001" and abs $lon2 - $lon < "0.001")
1682 0 0 if $yr < 2000
1685 0 0 if $debug
1692 0 0 unless $ddd
1693 0 0 unless $sec =~ /^\d{2}/
1694 0 0 if (defined $yr) { }
0 0 elsif (defined $hr) { }
1701 0 0 $latRef eq 'S' ? :
1702 0 0 $lonRef eq 'W' ? :
1703 0 0 if defined $alt
1704 0 0 if defined $spd
1705 0 0 if defined $trk
1710 0 0 if @acc
1728 0 0 if $dirLen < 82
1730 0 0 if (substr($$dataPt, 69, 3) eq 'ATC') { }
0 0 elsif ($$dataPt =~ /^.{60}A\0.{10}([NS])\0.{14}([EW])\0/s) { }
0 0 elsif ($$dataPt =~ /^.{72}A([NS])([EW])/s) { }
0 0 elsif ($$dataPt =~ /^.{60}A\0.{6}([NS])\0.{6}([EW])\0/s and $dirLen >= 112) { }
0 0 elsif ($$dataPt =~ /^.{16}A([NS])([EW])\0/s) { }
1745 0 0 unless $then
1771 0 0 if $now[$i] <= $dateMax[$i]
1777 0 0 if ($now[$i] < $then->[$i])
1778 0 0 if $foundNew
1781 0 0 if $now[$i] == $then->[$i]
1783 0 0 if ($verbose)
1818 0 0 if $trk < 0
1835 0 0 if $recentRecPos and $recPos < $recentRecPos
1839 0 0 if $debug
1866 0 0 if $_ >= 2147483648
1871 0 0 if $debug
1897 0 0 if (substr($$dataPt, 16, 3) eq 'IQS') { }
1908 0 0 if $debug
1917 0 0 if $debug
1933 0 0 if $_ >= 2147483648
1938 0 0 if $debug
1950 0 0 if $_ >= 2147483648
1953 0 0 substr($dat, 1, 1) eq 'S' ? :
1954 0 0 substr($dat, 2, 1) eq 'W' ? :
1959 0 0 if $debug
1988 0 0 if $yr < 2000 or $yr > 2200 or $mon < 1 or $mon > 12 or $day < 1 or $day > 31 or $hr > 59 or $min > 59 or $sec > 600
1993 0 0 if $_ >= 2147483648
1994 0 0 if $trk >= 32768
1996 0 0 if $trk < 0
2004 0 0 if $pos += 32 > length($$dataPt) - 30
2006 0 0 if $debug
2007 0 0 $et->{'DOC_NUM'} ? :
2012 0 0 if $mon < 1 or $mon > 12
2014 0 0 if $yr < 2000
2017 0 0 unless $ddd
2019 0 0 $latRef eq 'S' ? :
2020 0 0 $lonRef eq 'W' ? :
2021 0 0 if defined $spd
2022 0 0 if defined $trk
2023 0 0 if (defined $alt)
2026 0 0 if @acc
2040 16 52 if ($tag eq 'stsz' or $tag eq 'stz2' and $dataLen > 12) { }
16 36 elsif ($tag eq 'stco' or $tag eq 'co64' and $dataLen > 8) { }
16 20 elsif ($tag eq 'stsc' and $dataLen > 8) { }
16 4 elsif ($tag eq 'stts' and $dataLen > 8) { }
0 4 elsif ($tag eq 'avcC') { }
4 0 elsif ($tag eq 'JPEG') { }
0 0 elsif ($tag eq 'gps ' and $dataLen > 8) { }
0 0 elsif ($tag eq 'GPS ') { }
2044 16 0 if ($tag eq 'stsz') { }
2045 0 16 if ($sz == 0) { }
2052 0 0 if ($sz == 4) { }
0 0 elsif ($sz == 8 or $sz == 16) { }
2066 0 16 $tag eq 'stco' ? :
2070 16 0 if ($dataLen >= 8 + $num * 12)
2081 16 0 if ($dataLen >= 8 + $num * 8)
2086 0 0 if $dataLen >= 7
2092 0 0 if $num * 8 + 8 > $dataLen
2108 0 0 if $dat eq "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"
2116 0 0 if $a[4] eq "S"
2117 0 0 if $a[6] eq "W"
2136 0 0 if length $$dataPt < 2
2140 0 0 if ($$dataPt =~ /^..\w{3} (\d{4})-(\d{2})-(\d{2}) (\d{2}:\d{2}:\d{2}) ?([-+])(\d{2}):?(\d{2})$/s) { }
2156 0 0 if length $$dataPt < 2
2176 0 0 unless my $ee = $et->{'ee'}
2177 0 0 unless $ee->{'keys'}
2185 0 0 if $len < 8 or $pos + $len > length $$dataPt
2188 0 0 if ($info) { }
2190 0 0 unless ($tagTbl->{$tag})
2191 0 0 unless $tag =~ /^[-\w.]+$/
2222 0 0 if ($dirLen > $recLen and not $et->Options("ExtractEmbedded"))
2230 0 0 if $tc == 4294967295
2251 0 0 if ($dirLen > $recLen and not $et->Options("ExtractEmbedded"))
2261 0 0 if abs $lat > 9000 or abs $lon > 18000
2290 0 0 if ($dirLen > $recLen and not $et->Options("ExtractEmbedded"))
2320 0 0 unless $raf->Read($buff, 8) == 8
2322 0 0 if $tag eq "\0\0\0\0"
2323 0 0 unless ($tag =~ /^[\w ]{4}/ and $len < 33554432)
2327 0 0 unless $raf->Read($buff, $len) == $len
2328 0 0 if ($verbose)
2330 0 0 if $verbose > 2
2332 0 0 if $tag =~ /^(gps0|gsen)$/
2334 0 0 if ($tag eq 'gps0') { }
0 0 elsif ($tag eq 'gsen') { }
2352 0 0 unless substr($buff, $pos, 4) eq "AITG"
2357 0 0 if abs $lat > 9000 or abs $lon > 18000
2359 0 0 if &Get8u(\$buff, $pos + 33) == 2
2360 0 0 if &Get8u(\$buff, $pos + 34) == 2
2379 0 0 unless substr($buff, $pos, 4) eq "AITS"
2390 0 0 if $verbose
2409 0 0 if ($$dataPt =~ /(?:\[(\d+)\])?\$[A-Z]{2}(RMC|GGA),(\d{2}\d{2}\d+(\.\d*)?),/g)
2414 0 0 if ($fix{'tim'} and !$tim || $fix{'tim'} != $tim)
2415 0 0 if ($fix{'dat'} and defined $fix{'lat'} and defined $fix{'lon'})
2417 0 0 if $fix{'tc'} and $et->{'StartTime'}
2422 0 0 if defined $fix{'spd'}
2423 0 0 if defined $fix{'trk'}
2424 0 0 if defined $fix{'alt'}
2425 0 0 if defined $fix{'nsats'}
2426 0 0 if defined $fix{'hdop'}
2430 0 0 unless $fix{'tim'} = $tim
2434 0 0 if ($type eq 'RMC' and $$dataPt =~ /\G(\d{2})(\d{2})(\d+(\.\d*)?),A?,(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),(\d*\.?\d*),(\d*\.?\d*),(\d{2})(\d{2})(\d+)/g) { }
0 0 elsif ($type eq 'GGA' and $$dataPt =~ /\G(\d{2})(\d{2})(\d+(\.\d*)?),(\d*?)(\d{1,2}\.\d+),([NS]),(\d*?)(\d{1,2}\.\d+),([EW]),[1-6]?,(\d+)?,(\.\d+|\d+\.?\d*)?,(-?\d+\.?\d*)?,M?/g) { }
2437 0 0 $15 >= 70 ? :
2440 0 0 $7 eq 'N' ? :
2441 0 0 $10 eq 'E' ? :
2442 0 0 if length $11
2443 0 0 if length $12
2447 0 0 $7 eq 'N' ? :
2448 0 0 $10 eq 'E' ? :
2469 0 0 if &ProcessNMEA($et, $dirInfo, $tagTbl)
2479 0 0 $7 eq 'S' ? :
2480 0 0 $9 eq 'W' ? :
2481 0 0 if length $11
2482 0 0 if length $12
2483 0 0 if length $13
2484 0 0 if length $14
2485 0 0 if length $15
2512 0 0 if $dirLen < $pos
2529 0 0 if ($resync and $type != 255)
2530 0 0 if ++$skipped > 256
2533 0 0 unless ($ttLen{$type})
2535 0 0 unless $warned
2540 0 0 if $pos + $ttLen{$type} > $dirLen
2541 0 0 if ($type == 255)
2544 0 0 if ($resync)
2545 0 0 if ($tm < $sampleTime or $tm > $sampleTime + 250)
2556 0 0 unless ($eeOpt)
2558 0 0 if $found & 1 << $type
2561 0 0 if ($type == 0 or $type == 3) { }
0 0 elsif ($type == 5) { }
0 0 elsif ($type < 3) { }
2565 0 0 $type ? :
2581 0 0 if ($unknown)
2589 0 0 if ($unknown)
2591 0 0 $type == 1 ? :
2599 0 0 unless $eeOpt or ($found & 41) != 41
2616 0 4 $dirInfo ? :
2619 4 0 unless $raf->Seek(-78 - $offset, 2) and $raf->Read($buff, 78) == 78 and substr($buff, -32) eq "8db42d694ccc418790edff439fe026bf"
2626 0 0 if $trailerLen > $fileEnd
2627 0 0 if ($dirInfo)
2630 0 0 if ($dirInfo->{'OutFile'})
2631 0 0 if ($et->{'DEL_GROUP'}{'Insta360'}) { }
0 0 elsif ($trailerLen > $fileEnd or not $raf->Seek($dirInfo->{'DataPos'}, 0) or $raf->Read(${$$dirInfo{'OutFile'};}, $trailerLen) != $trailerLen) { }
2642 0 0 if $verbose or $et->{'HTML_DUMP'}
2644 0 0 unless ($et->Options("ExtractEmbedded"))
2660 0 0 if ($epos -= $len) + $trailerLen < 0
2661 0 0 unless $raf->Seek($epos, 2)
2663 0 0 if ($verbose)
2675 0 0 if ($id == 768)
2676 0 0 if ($len % 20 and not $len % 56) { }
0 0 elsif ($len % 56 and not $len % 20) { }
2681 0 0 if ($raf->Read($buff, 20) == 20)
2682 0 0 if (substr($buff, 16, 3) eq "\000\000\000") { }
2688 0 0 unless $raf->Seek($epos, 2)
2692 0 0 if ($dlen and $insvLimit{$id} and $len > $insvLimit{$id}[1] * $dlen and $et->Warn("Insta360 $insvLimit{$id}[0] data is huge. Processing only the first $insvLimit{$id}[1] records", 2))
2697 0 0 unless $raf->Read($buff, $len) == $len
2698 0 0 if $verbose > 2
2699 0 0 if ($dlen) { }
0 0 elsif ($id == 257) { }
2700 0 0 if ($len % $dlen) { }
0 0 elsif ($id == 768) { }
0 0 elsif ($id == 1024) { }
0 0 elsif ($id == 1536) { }
0 0 elsif ($id == 1792) { }
2706 0 0 if ($dlen == 56) { }
2731 0 0 unless $a[3] eq "A"
2732 0 0 unless ($a[5] eq 'N' || $a[5] eq 'S' and $a[7] eq 'E' || $a[7] eq 'W' || $a[7] eq 'O')
2743 0 0 if $a[5] eq "S"
2744 0 0 if $a[7] ne "E"
2751 0 0 if $unknown
2757 0 0 if $p + 2 > $len
2759 0 0 if $p + 2 + $n > $len
2765 0 0 if ($epos -= 6) + $trailerLen < 0
2766 0 0 unless $raf->Seek($epos, 2)
2767 0 0 unless $raf->Read($buff, 6) == 6
2824 0 0 if ($tagTbl->{$type})
2825 0 0 if ($time != $lastTime)
2832 0 0 if $type == 5
2847 0 0 unless $$dataPt =~ /^FMAS\0\0\0\0.{72}SAMM.{36}A/s and length $$dataPt >= 160
2865 0 0 $a[9] eq 'S' ? :
2866 0 0 $a[8] eq 'W' ? :
2880 0 4 unless my $raf = $et->{'RAF'}
2886 0 4 if ($dataPos and not $et->{'DOC_COUNT'})
2888 0 0 if ($dataLen)
2889 0 0 if ($raf->Seek($dataPos, 0)) { }
2899 0 0 if $pos + $gpsBlockSize > $dataLen
2900 0 0 unless $raf->Read($buff, $gpsBlockSize)
2901 0 0 if length $buf2
2902 0 0 if length $buff < $gpsBlockSize
2906 0 0 if (not $buff =~ /\0..\0freeGPS /gs) { }
0 0 elsif (not $tagTbl) { }
2911 0 0 if $tagTbl or $pos < 20000000
2922 0 0 if (pos $buff > 12)
2928 0 0 if ($len < 12) { }
2932 0 0 if ($more > 0)
2933 0 0 unless $raf->Read($buf2, $more) == $more
2936 0 0 if ($verbose)
2946 0 4 if ($tagTbl)