exiftool_vendored 13.18.0 → 13.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/bin/Changes +17 -3
- data/bin/MANIFEST +1 -0
- data/bin/META.json +1 -1
- data/bin/META.yml +1 -1
- data/bin/README +2 -2
- data/bin/exiftool +2 -2
- data/bin/lib/Image/ExifTool/DJI.pm +99 -11
- data/bin/lib/Image/ExifTool/ICO.pm +2 -2
- data/bin/lib/Image/ExifTool/Kodak.pm +3 -2
- data/bin/lib/Image/ExifTool/PDF.pm +10 -1
- data/bin/lib/Image/ExifTool/PLIST.pm +42 -4
- data/bin/lib/Image/ExifTool/Protobuf.pm +1 -1
- data/bin/lib/Image/ExifTool/QuickTime.pm +18 -11
- data/bin/lib/Image/ExifTool/QuickTimeStream.pl +19 -5
- data/bin/lib/Image/ExifTool/Sony.pm +16 -10
- data/bin/lib/Image/ExifTool/TagLookup.pm +676 -661
- data/bin/lib/Image/ExifTool/TagNames.pod +115 -58
- data/bin/lib/Image/ExifTool/WriteQuickTime.pl +45 -2
- data/bin/lib/Image/ExifTool/XMP.pm +17 -3
- data/bin/lib/Image/ExifTool.pm +5 -5
- data/bin/perl-Image-ExifTool.spec +1 -1
- data/lib/exiftool_vendored/version.rb +1 -1
- metadata +2 -2
@@ -12,7 +12,7 @@ meta information extracted from or written to a file.
|
|
12
12
|
=head1 TAG TABLES
|
13
13
|
|
14
14
|
The tables listed below give the names of all tags recognized by ExifTool.
|
15
|
-
They contain a total of
|
15
|
+
They contain a total of 28469 tags, with 17576 unique tag names.
|
16
16
|
|
17
17
|
B<Tag ID>, B<Index#> or B<Sequence> is given in the first column of each
|
18
18
|
table. A B<Tag ID> is the computer-readable equivalent of a tag name, and
|
@@ -5752,14 +5752,14 @@ These tags belong to the ExifTool XMP-pdf family 1 group.
|
|
5752
5752
|
=head3 XMP pdfx Tags
|
5753
5753
|
|
5754
5754
|
PDF extension tags. This namespace is used to store application-defined PDF
|
5755
|
-
information, so there are
|
5756
|
-
created to enable writing of XMP-pdfx information.
|
5755
|
+
information, so there are few pre-defined tags. User-defined tags must be
|
5756
|
+
created to enable writing of other XMP-pdfx information.
|
5757
5757
|
|
5758
5758
|
These tags belong to the ExifTool XMP-pdfx family 1 group.
|
5759
5759
|
|
5760
5760
|
Tag Name Writable
|
5761
5761
|
-------- --------
|
5762
|
-
|
5762
|
+
SourceModified string
|
5763
5763
|
|
5764
5764
|
=head3 XMP photoshop Tags
|
5765
5765
|
|
@@ -11520,48 +11520,68 @@ file name combined with the hierarchical protobuf field numbers.
|
|
11520
11520
|
|
11521
11521
|
ExifTool currently extracts timed GPS plus a few other tags from DJI devices
|
11522
11522
|
which use the following protocols: dvtm_AVATA2.proto (Avanta 2),
|
11523
|
-
dvtm_ac203.proto (Osmo Action 4), dvtm_ac204.proto (Osmo Action 5)
|
11524
|
-
dvtm_wm265e.proto (Mavic 3).
|
11523
|
+
dvtm_ac203.proto (Osmo Action 4), dvtm_ac204.proto (Osmo Action 5),
|
11524
|
+
dvtm_wm265e.proto (Mavic 3), dvtm_pm320.proto (Matrice 30) and
|
11525
|
+
dvtm_pm320.proto (Mini 4 Pro).
|
11525
11526
|
|
11526
11527
|
Note that with the protobuf format, numerical tags missing from the output
|
11527
11528
|
for a given protocol should be considered to have the default value of 0.
|
11528
11529
|
|
11529
|
-
Tag ID
|
11530
|
-
------
|
11531
|
-
'Protocol'
|
11532
|
-
'dvtm_AVATA2_1-1-5'
|
11533
|
-
'dvtm_AVATA2_1-1-10'
|
11534
|
-
'dvtm_AVATA2_2-2-3-1'
|
11535
|
-
'dvtm_AVATA2_2-3'
|
11536
|
-
'dvtm_AVATA2_3-1-2'
|
11537
|
-
'dvtm_AVATA2_3-4-4-1'
|
11538
|
-
'
|
11539
|
-
'
|
11540
|
-
'
|
11541
|
-
'
|
11542
|
-
'
|
11543
|
-
'
|
11544
|
-
'
|
11545
|
-
'
|
11546
|
-
'
|
11547
|
-
'
|
11548
|
-
'
|
11549
|
-
'
|
11550
|
-
'
|
11551
|
-
'
|
11552
|
-
'
|
11553
|
-
'
|
11554
|
-
'
|
11555
|
-
'
|
11556
|
-
'
|
11557
|
-
'
|
11558
|
-
'
|
11559
|
-
'
|
11560
|
-
'
|
11561
|
-
'
|
11562
|
-
'
|
11563
|
-
'
|
11564
|
-
'
|
11530
|
+
Tag ID Tag Name Writable
|
11531
|
+
------ -------- --------
|
11532
|
+
'Protocol' Protocol no
|
11533
|
+
'dvtm_AVATA2_1-1-5' SerialNumber no
|
11534
|
+
'dvtm_AVATA2_1-1-10' Model no
|
11535
|
+
'dvtm_AVATA2_2-2-3-1' SerialNumber2 no
|
11536
|
+
'dvtm_AVATA2_2-3' FrameInfo DJI FrameInfo
|
11537
|
+
'dvtm_AVATA2_3-1-2' TimeStamp no
|
11538
|
+
'dvtm_AVATA2_3-4-4-1' GPSInfo DJI GPSInfo
|
11539
|
+
'dvtm_Mini4_Pro_1-1-5' SerialNumber no
|
11540
|
+
'dvtm_Mini4_Pro_1-1-10' Model no
|
11541
|
+
'dvtm_Mini4_Pro_2-3' FrameInfo DJI FrameInfo
|
11542
|
+
'dvtm_Mini4_Pro_3-2-7-1' ISO no
|
11543
|
+
'dvtm_Mini4_Pro_3-3-3' DroneInfo DJI DroneInfo
|
11544
|
+
'dvtm_Mini4_Pro_3-3-4-1' GPSInfo DJI GPSInfo
|
11545
|
+
'dvtm_Mini4_Pro_3-3-4-2' AbsoluteAltitude no
|
11546
|
+
'dvtm_Mini4_Pro_3-3-5-1' RelativeAltitude no
|
11547
|
+
'dvtm_Mini4_Pro_3-4-3' GimbalInfo DJI GimbalInfo
|
11548
|
+
'dvtm_Mini4_Pro_3-2-10-1' ShutterSpeed no
|
11549
|
+
'dvtm_Mini4_Pro_3-2-11-1' FNumber no
|
11550
|
+
'dvtm_Mini4_Pro_3-2-32-1' ColorTemperature no
|
11551
|
+
'dvtm_ac203_1-1-5' SerialNumber no
|
11552
|
+
'dvtm_ac203_1-1-10' Model no
|
11553
|
+
'dvtm_ac203_2-3' FrameInfo DJI FrameInfo
|
11554
|
+
'dvtm_ac203_3-4-2-1' GPSInfo DJI GPSInfo
|
11555
|
+
'dvtm_ac203_3-4-2-2' GPSAltitude no
|
11556
|
+
'dvtm_ac203_3-4-2-6-1' GPSDateTime no
|
11557
|
+
'dvtm_ac204_1-1-5' SerialNumber no
|
11558
|
+
'dvtm_ac204_1-1-10' Model no
|
11559
|
+
'dvtm_ac204_2-3' FrameInfo DJI FrameInfo
|
11560
|
+
'dvtm_ac204_3-4-2-1' GPSInfo DJI GPSInfo
|
11561
|
+
'dvtm_ac204_3-4-2-2' GPSAltitude no
|
11562
|
+
'dvtm_ac204_3-4-2-6-1' GPSDateTime no
|
11563
|
+
'dvtm_pm320_1-1-5' SerialNumber no
|
11564
|
+
'dvtm_pm320_1-1-10' Model no
|
11565
|
+
'dvtm_pm320_2-2' FrameInfo DJI FrameInfo
|
11566
|
+
'dvtm_pm320_3-2-2-1' ISO no
|
11567
|
+
'dvtm_pm320_3-2-3-1' ShutterSpeed no
|
11568
|
+
'dvtm_pm320_3-2-6-1' DigitalZoom no
|
11569
|
+
'dvtm_pm320_3-3-3' DroneInfo DJI DroneInfo
|
11570
|
+
'dvtm_pm320_3-3-4-1' GPSInfo DJI GPSInfo
|
11571
|
+
'dvtm_pm320_3-3-4-2' AbsoluteAltitude no
|
11572
|
+
'dvtm_pm320_3-3-5-1' RelativeAltitude no
|
11573
|
+
'dvtm_pm320_3-4-3' GimbalInfo DJI GimbalInfo
|
11574
|
+
'dvtm_wm265e_1-1-5' SerialNumber no
|
11575
|
+
'dvtm_wm265e_1-1-10' Model no
|
11576
|
+
'dvtm_wm265e_2-2' FrameInfo DJI FrameInfo
|
11577
|
+
'dvtm_wm265e_3-2-2-1' ISO no
|
11578
|
+
'dvtm_wm265e_3-2-3-1' ShutterSpeed no
|
11579
|
+
'dvtm_wm265e_3-2-6-1' DigitalZoom no
|
11580
|
+
'dvtm_wm265e_3-3-3' DroneInfo DJI DroneInfo
|
11581
|
+
'dvtm_wm265e_3-3-4-1' GPSInfo DJI GPSInfo
|
11582
|
+
'dvtm_wm265e_3-3-4-2' AbsoluteAltitude no
|
11583
|
+
'dvtm_wm265e_3-3-5-1' RelativeAltitude no
|
11584
|
+
'dvtm_wm265e_3-4-3' GimbalInfo DJI GimbalInfo
|
11565
11585
|
|
11566
11586
|
=head3 DJI FrameInfo Tags
|
11567
11587
|
|
@@ -11579,6 +11599,22 @@ for a given protocol should be considered to have the default value of 0.
|
|
11579
11599
|
2 GPSLatitude no
|
11580
11600
|
3 GPSLongitude no
|
11581
11601
|
|
11602
|
+
=head3 DJI DroneInfo Tags
|
11603
|
+
|
11604
|
+
Tag ID Tag Name Writable
|
11605
|
+
------ -------- --------
|
11606
|
+
1 DroneRoll no
|
11607
|
+
2 DronePitch no
|
11608
|
+
3 DroneYaw no
|
11609
|
+
|
11610
|
+
=head3 DJI GimbalInfo Tags
|
11611
|
+
|
11612
|
+
Tag ID Tag Name Writable
|
11613
|
+
------ -------- --------
|
11614
|
+
1 GimbalPitch no
|
11615
|
+
2 GimbalRoll no
|
11616
|
+
3 GimbalYaw no
|
11617
|
+
|
11582
11618
|
=head2 FLIR Tags
|
11583
11619
|
|
11584
11620
|
Information extracted from the maker notes of JPEG images from thermal
|
@@ -23109,7 +23145,8 @@ Valid from July 2020 for ILCE-1/7SM3, ILME-FX3.
|
|
23109
23145
|
|
23110
23146
|
=head3 Sony Tag9050d Tags
|
23111
23147
|
|
23112
|
-
Valid for ILCE-6700/7CM2/7CR/ZV-E1.
|
23148
|
+
Valid for ILCE-6700/7CM2/7CR/ZV-E1. Also for ILCE-1M2 when using mechanical
|
23149
|
+
shutter.
|
23113
23150
|
|
23114
23151
|
Index1 Tag Name Writable
|
23115
23152
|
------ -------- --------
|
@@ -24019,24 +24056,43 @@ files, and will extract any existing tags even if they aren't listed below.
|
|
24019
24056
|
These tags belong to the family 0 "PLIST" group, but family 1 group may be
|
24020
24057
|
either "XML" or "PLIST" depending on whether the format is XML or binary.
|
24021
24058
|
|
24022
|
-
Tag ID
|
24023
|
-
------
|
24059
|
+
Tag ID Tag Name Writable
|
24060
|
+
------ -------- --------
|
24024
24061
|
'MetaDataList//DateTimeOriginal'
|
24025
|
-
|
24026
|
-
'MetaDataList//Duration'
|
24062
|
+
DateTimeOriginal no
|
24063
|
+
'MetaDataList//Duration' Duration no
|
24027
24064
|
'MetaDataList//Geolocation/Latitude'
|
24028
|
-
|
24065
|
+
GPSLatitude no
|
24029
24066
|
'MetaDataList//Geolocation/Longitude'
|
24030
|
-
|
24067
|
+
GPSLongitude no
|
24031
24068
|
'MetaDataList//Geolocation/MapDatum'
|
24032
|
-
|
24033
|
-
'XMLFileType'
|
24034
|
-
'
|
24035
|
-
'
|
24036
|
-
'
|
24037
|
-
'
|
24038
|
-
'
|
24039
|
-
'
|
24069
|
+
GPSMapDatum no
|
24070
|
+
'XMLFileType' XMLFileType no
|
24071
|
+
'adjustmentData' AdjustmentData PLIST
|
24072
|
+
'cast//name' Cast no+
|
24073
|
+
'codirectors//name' Codirectors no+
|
24074
|
+
'directors//name' Directors no+
|
24075
|
+
'producers//name' Producers no+
|
24076
|
+
'screenwriters//name' Screenwriters no+
|
24077
|
+
'slowMotion/rate' SlowMotionRate no
|
24078
|
+
'slowMotion/regions' SlowMotionRegions no
|
24079
|
+
'slowMotion/regions/timeRange/duration/epoch'
|
24080
|
+
SlowMotionRegionsDurationEpoch no
|
24081
|
+
'slowMotion/regions/timeRange/duration/flags'
|
24082
|
+
SlowMotionRegionsDurationFlags no
|
24083
|
+
'slowMotion/regions/timeRange/duration/timescale'
|
24084
|
+
SlowMotionRegionsDurationTimeScale no
|
24085
|
+
'slowMotion/regions/timeRange/duration/value'
|
24086
|
+
SlowMotionRegionsDurationValue no
|
24087
|
+
'slowMotion/regions/timeRange/start/epoch'
|
24088
|
+
SlowMotionRegionsStartTimeEpoch no
|
24089
|
+
'slowMotion/regions/timeRange/start/flags'
|
24090
|
+
SlowMotionRegionsStartTimeFlags no
|
24091
|
+
'slowMotion/regions/timeRange/start/timescale'
|
24092
|
+
SlowMotionRegionsStartTimeScale no
|
24093
|
+
'slowMotion/regions/timeRange/start/value'
|
24094
|
+
SlowMotionRegionsStartTimeValue no
|
24095
|
+
'studio//name' Studio no+
|
24040
24096
|
|
24041
24097
|
=head2 CanonRaw Tags
|
24042
24098
|
|
@@ -29547,6 +29603,7 @@ C<integer>, C<real>, C<boolean> or C<name> for PDF tags.
|
|
29547
29603
|
'Keywords' Keywords string+
|
29548
29604
|
'ModDate' ModifyDate date
|
29549
29605
|
'Producer' Producer string
|
29606
|
+
'SourceModified' SourceModified date
|
29550
29607
|
'Subject' Subject string
|
29551
29608
|
'Title' Title string
|
29552
29609
|
'Trapped' Trapped string!
|
@@ -30324,7 +30381,7 @@ for the official QuickTime specification.
|
|
30324
30381
|
The tags below are extracted from timed metadata in QuickTime and other
|
30325
30382
|
formats of video files when the ExtractEmbedded option is used. Although
|
30326
30383
|
most of these tags are combined into the single table below, ExifTool
|
30327
|
-
currently reads
|
30384
|
+
currently reads 103 different types of timed GPS metadata from video files.
|
30328
30385
|
|
30329
30386
|
Tag Name Writable
|
30330
30387
|
-------- --------
|
@@ -891,7 +891,7 @@ sub WriteQuickTime($$$)
|
|
891
891
|
$et or return 1; # allow dummy access to autoload this package
|
892
892
|
my ($mdat, @mdat, @mdatEdit, $edit, $track, $outBuff, $co, $term, $delCount);
|
893
893
|
my (%langTags, $canCreate, $delGrp, %boxPos, %didDir, $writeLast, $err, $atomCount);
|
894
|
-
my ($tag, $lastTag, $lastPos, $errStr, $trailer, $buf2, $keysGrp, $keysPath);
|
894
|
+
my ($tag, $lastTag, $lastPos, $errStr, $trailer, $buf2, $keysGrp, $keysPath, $itemIndex);
|
895
895
|
my $outfile = $$dirInfo{OutFile} || return 0;
|
896
896
|
my $raf = $$dirInfo{RAF}; # (will be null for lower-level atoms)
|
897
897
|
my $dataPt = $$dirInfo{DataPt}; # (will be null for top-level atoms)
|
@@ -982,8 +982,25 @@ sub WriteQuickTime($$$)
|
|
982
982
|
$atomCount = $$tagTablePtr{VARS}{ATOM_COUNT} if $$tagTablePtr{VARS};
|
983
983
|
|
984
984
|
$tag = $lastTag = '';
|
985
|
-
|
985
|
+
$itemIndex = 0 if $dirName eq 'ItemPropertyContainer';
|
986
|
+
|
987
|
+
# read ahead to parse item property associations if this is 'iprp' ItemProperties
|
988
|
+
# (necessary to determine which properties belong to primary item in HEIC file)
|
989
|
+
if ($dirName eq 'ItemProperties') {
|
990
|
+
my $pos = $raf->Tell();
|
991
|
+
for (;;) {
|
992
|
+
$raf->Read($buf2, 8) == 8 or last;
|
993
|
+
my $size = Get32u(\$buf2, 0) - 8; # (atom size without 8-byte header)
|
994
|
+
$tag = substr($buf2, 4, 4);
|
995
|
+
last if $size < 0;
|
996
|
+
$tag eq 'ipma' or $raf->Seek($size, 1), next;
|
997
|
+
ParseItemPropAssoc($buf2,$et) if $raf->Read($buf2,$size) == $size;
|
998
|
+
last;
|
999
|
+
}
|
1000
|
+
$raf->Seek($pos);
|
1001
|
+
}
|
986
1002
|
for (;;) { # loop through all atoms at this level
|
1003
|
+
++$itemIndex if defined $itemIndex;
|
987
1004
|
$lastPos = $raf->Tell();
|
988
1005
|
# stop processing if we reached a known trailer
|
989
1006
|
if ($trailer and $lastPos >= $$trailer[1]) {
|
@@ -1186,6 +1203,32 @@ sub WriteQuickTime($$$)
|
|
1186
1203
|
}
|
1187
1204
|
undef $tagInfo if $tagInfo and $$tagInfo{AddedUnknown};
|
1188
1205
|
|
1206
|
+
# don't write this tag unless associated with the primary item
|
1207
|
+
# (Note: This relies on iinf and dimg coming before iprp)
|
1208
|
+
if (defined $itemIndex and $$et{ItemInfo}) {
|
1209
|
+
my $items = $$et{ItemInfo};
|
1210
|
+
my ($id, $prop, $isPrimary);
|
1211
|
+
my $primary = $$et{PrimaryItem} || 0;
|
1212
|
+
my $pitem = $$items{$primary} || { };
|
1213
|
+
$$pitem{RefersTo} or $$pitem{RefersTo} = { };
|
1214
|
+
ItemID2: foreach $id (reverse sort { $a <=> $b } keys %$items) {
|
1215
|
+
next unless $$items{$id}{Association};
|
1216
|
+
my $item = $$items{$id};
|
1217
|
+
foreach $prop (@{$$item{Association}}) {
|
1218
|
+
next unless $prop == $itemIndex;
|
1219
|
+
my $dont = $dontInherit{$tag} || 0;
|
1220
|
+
last unless $id == $primary or (not $dont and
|
1221
|
+
($$item{RefersTo} and $$item{RefersTo}{$primary})) or
|
1222
|
+
# special case to assume this property belongs to the primary
|
1223
|
+
# image if it belongs to an item referred to by the primary
|
1224
|
+
($dont != 1 and $$pitem{RefersTo}{$id});
|
1225
|
+
$isPrimary = 1;
|
1226
|
+
last ItemID2;
|
1227
|
+
}
|
1228
|
+
}
|
1229
|
+
undef $tagInfo unless $isPrimary;
|
1230
|
+
}
|
1231
|
+
|
1189
1232
|
if ($tagInfo and (not defined $$tagInfo{Writable} or $$tagInfo{Writable})) {
|
1190
1233
|
my $subdir = $$tagInfo{SubDirectory};
|
1191
1234
|
my ($newData, @chunkOffset);
|
@@ -50,7 +50,7 @@ use Image::ExifTool::Exif;
|
|
50
50
|
use Image::ExifTool::GPS;
|
51
51
|
require Exporter;
|
52
52
|
|
53
|
-
$VERSION = '3.
|
53
|
+
$VERSION = '3.71';
|
54
54
|
@ISA = qw(Exporter);
|
55
55
|
@EXPORT_OK = qw(EscapeXML UnescapeXML);
|
56
56
|
|
@@ -1247,8 +1247,22 @@ my %sPantryItem = (
|
|
1247
1247
|
NAMESPACE => 'pdfx',
|
1248
1248
|
NOTES => q{
|
1249
1249
|
PDF extension tags. This namespace is used to store application-defined PDF
|
1250
|
-
information, so there are
|
1251
|
-
created to enable writing of XMP-pdfx information.
|
1250
|
+
information, so there are few pre-defined tags. User-defined tags must be
|
1251
|
+
created to enable writing of other XMP-pdfx information.
|
1252
|
+
},
|
1253
|
+
SourceModified => {
|
1254
|
+
Name => 'SourceModified',
|
1255
|
+
Groups => { 2 => 'Time' },
|
1256
|
+
Shift => 'Time',
|
1257
|
+
ValueConv => 'require Image::ExifTool::PDF; $val = Image::ExifTool::PDF::ConvertPDFDate($val)',
|
1258
|
+
ValueConvInv => q{
|
1259
|
+
require Image::ExifTool::PDF;
|
1260
|
+
$val = Image::ExifTool::PDF::WritePDFValue($self,$val,"date");
|
1261
|
+
$val =~ tr/()//d;
|
1262
|
+
return $val;
|
1263
|
+
},
|
1264
|
+
PrintConv => '$self->ConvertDateTime($val)',
|
1265
|
+
PrintConvInv => '$self->InverseDateTime($val)',
|
1252
1266
|
},
|
1253
1267
|
);
|
1254
1268
|
|
data/bin/lib/Image/ExifTool.pm
CHANGED
@@ -29,7 +29,7 @@ use vars qw($VERSION $RELEASE @ISA @EXPORT_OK %EXPORT_TAGS $AUTOLOAD @fileTypes
|
|
29
29
|
%jpegMarker %specialTags %fileTypeLookup $testLen $exeDir
|
30
30
|
%static_vars $advFmtSelf);
|
31
31
|
|
32
|
-
$VERSION = '13.
|
32
|
+
$VERSION = '13.19';
|
33
33
|
$RELEASE = '';
|
34
34
|
@ISA = qw(Exporter);
|
35
35
|
%EXPORT_TAGS = (
|
@@ -9223,10 +9223,11 @@ sub HandleTag($$$$;%)
|
|
9223
9223
|
}
|
9224
9224
|
$self->Warn("RawConv $tag: " . CleanWarning()) if $evalWarning;
|
9225
9225
|
return undef unless defined $val;
|
9226
|
-
$
|
9227
|
-
$dataPt = \$val;
|
9226
|
+
$dataPt = ref $val eq 'SCALAR' ? $val : \$val;
|
9228
9227
|
$subdirStart = 0;
|
9229
|
-
$subdirLen = length
|
9228
|
+
$subdirLen = length $$dataPt;
|
9229
|
+
} elsif (not $dataPt) {
|
9230
|
+
$dataPt = ref $val eq 'SCALAR' ? $val : \$val;
|
9230
9231
|
}
|
9231
9232
|
if ($$subdir{Start}) {
|
9232
9233
|
my $valuePtr = 0;
|
@@ -9235,7 +9236,6 @@ sub HandleTag($$$$;%)
|
|
9235
9236
|
$subdirStart += $off;
|
9236
9237
|
$subdirLen -= $off;
|
9237
9238
|
}
|
9238
|
-
$dataPt or $dataPt = \$val;
|
9239
9239
|
# process subdirectory information
|
9240
9240
|
my %dirInfo = (
|
9241
9241
|
DirName => $$subdir{DirName} || $$tagInfo{Name},
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: exiftool_vendored
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 13.
|
4
|
+
version: 13.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matthew McEachen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2025-02-
|
12
|
+
date: 2025-02-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: exiftool
|