| 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) ? : |