exiftool-vendored.pl 13.0.1 → 13.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/bin/Changes +254 -20
  2. package/bin/MANIFEST +10 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +3 -3
  6. package/bin/arg_files/exif2xmp.args +4 -0
  7. package/bin/arg_files/xmp2exif.args +2 -1
  8. package/bin/build_geolocation +1 -1
  9. package/bin/exiftool +356 -213
  10. package/bin/lib/File/RandomAccess.pm +1 -1
  11. package/bin/lib/File/RandomAccess.pod +2 -2
  12. package/bin/lib/Image/ExifTool/AAC.pm +1 -1
  13. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  14. package/bin/lib/Image/ExifTool/AFCP.pm +6 -6
  15. package/bin/lib/Image/ExifTool/AIFF.pm +2 -2
  16. package/bin/lib/Image/ExifTool/APE.pm +2 -2
  17. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  18. package/bin/lib/Image/ExifTool/ASF.pm +2 -2
  19. package/bin/lib/Image/ExifTool/Apple.pm +11 -9
  20. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  21. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  22. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  23. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  24. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  25. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +36 -22
  26. package/bin/lib/Image/ExifTool/CBOR.pm +5 -2
  27. package/bin/lib/Image/ExifTool/Canon.pm +66 -27
  28. package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  29. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  30. package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  31. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  32. package/bin/lib/Image/ExifTool/Casio.pm +1 -1
  33. package/bin/lib/Image/ExifTool/Charset.pm +1 -1
  34. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DJI.pm +196 -30
  36. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  37. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  38. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  39. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  40. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  41. package/bin/lib/Image/ExifTool/EXE.pm +138 -33
  42. package/bin/lib/Image/ExifTool/Exif.pm +29 -16
  43. package/bin/lib/Image/ExifTool/FITS.pm +3 -3
  44. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  45. package/bin/lib/Image/ExifTool/FLIF.pm +3 -3
  46. package/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  47. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  48. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  49. package/bin/lib/Image/ExifTool/FlashPix.pm +17 -21
  50. package/bin/lib/Image/ExifTool/Font.pm +2 -2
  51. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  52. package/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  53. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  54. package/bin/lib/Image/ExifTool/GIF.pm +144 -93
  55. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  56. package/bin/lib/Image/ExifTool/GM.pm +1 -1
  57. package/bin/lib/Image/ExifTool/GPS.pm +34 -30
  58. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  59. package/bin/lib/Image/ExifTool/Geolocation.dat +0 -0
  60. package/bin/lib/Image/ExifTool/Geolocation.pm +19 -9
  61. package/bin/lib/Image/ExifTool/Geotag.pm +46 -12
  62. package/bin/lib/Image/ExifTool/GoPro.pm +120 -8
  63. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  64. package/bin/lib/Image/ExifTool/HP.pm +2 -2
  65. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  66. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  67. package/bin/lib/Image/ExifTool/ICC_Profile.pm +81 -2
  68. package/bin/lib/Image/ExifTool/ICO.pm +1 -1
  69. package/bin/lib/Image/ExifTool/ID3.pm +8 -8
  70. package/bin/lib/Image/ExifTool/IPTC.pm +10 -7
  71. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  72. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  73. package/bin/lib/Image/ExifTool/Import.pm +5 -4
  74. package/bin/lib/Image/ExifTool/InDesign.pm +2 -2
  75. package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  76. package/bin/lib/Image/ExifTool/JPEG.pm +32 -5
  77. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  78. package/bin/lib/Image/ExifTool/JSON.pm +1 -1
  79. package/bin/lib/Image/ExifTool/JVC.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Jpeg2000.pm +10 -9
  81. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  82. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  83. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  84. package/bin/lib/Image/ExifTool/LNK.pm +2 -2
  85. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  86. package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  87. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/es.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  91. package/bin/lib/Image/ExifTool/Lang/fr.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/it.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  97. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  98. package/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  99. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  100. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  101. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  102. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  103. package/bin/lib/Image/ExifTool/Leaf.pm +1 -1
  104. package/bin/lib/Image/ExifTool/LigoGPS.pm +409 -0
  105. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  106. package/bin/lib/Image/ExifTool/M2TS.pm +57 -18
  107. package/bin/lib/Image/ExifTool/MIE.pm +15 -6
  108. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  109. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MISB.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  112. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  113. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  114. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  115. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  116. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  117. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  118. package/bin/lib/Image/ExifTool/MXF.pm +3 -3
  119. package/bin/lib/Image/ExifTool/MacOS.pm +3 -2
  120. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  121. package/bin/lib/Image/ExifTool/Matroska.pm +22 -6
  122. package/bin/lib/Image/ExifTool/Microsoft.pm +2 -2
  123. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  124. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  125. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Nikon.pm +495 -39
  127. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  128. package/bin/lib/Image/ExifTool/NikonCustom.pm +2 -2
  129. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  130. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  131. package/bin/lib/Image/ExifTool/OOXML.pm +8 -8
  132. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  133. package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  134. package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  135. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  136. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  137. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  138. package/bin/lib/Image/ExifTool/PDF.pm +49 -18
  139. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  140. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  141. package/bin/lib/Image/ExifTool/PLIST.pm +4 -4
  142. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  143. package/bin/lib/Image/ExifTool/PNG.pm +20 -8
  144. package/bin/lib/Image/ExifTool/PPM.pm +12 -3
  145. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  146. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  147. package/bin/lib/Image/ExifTool/Panasonic.pm +27 -3
  148. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  149. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  150. package/bin/lib/Image/ExifTool/Pentax.pm +1 -1
  151. package/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  152. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  153. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  154. package/bin/lib/Image/ExifTool/Photoshop.pm +65 -4
  155. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  156. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Protobuf.pm +270 -0
  158. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  159. package/bin/lib/Image/ExifTool/QuickTime.pm +326 -88
  160. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +199 -195
  161. package/bin/lib/Image/ExifTool/README +12 -2
  162. package/bin/lib/Image/ExifTool/RIFF.pm +21 -6
  163. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  164. package/bin/lib/Image/ExifTool/RTF.pm +2 -2
  165. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  166. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  167. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  168. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  169. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  170. package/bin/lib/Image/ExifTool/Ricoh.pm +4 -4
  171. package/bin/lib/Image/ExifTool/Samsung.pm +2 -2
  172. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  173. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  174. package/bin/lib/Image/ExifTool/Shift.pl +1 -1
  175. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  177. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  178. package/bin/lib/Image/ExifTool/Sony.pm +5 -4
  179. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  181. package/bin/lib/Image/ExifTool/TagInfoXML.pm +6 -5
  182. package/bin/lib/Image/ExifTool/TagLookup.pm +7023 -6968
  183. package/bin/lib/Image/ExifTool/TagNames.pod +445 -29
  184. package/bin/lib/Image/ExifTool/Text.pm +4 -3
  185. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  186. package/bin/lib/Image/ExifTool/Torrent.pm +3 -3
  187. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  188. package/bin/lib/Image/ExifTool/VCard.pm +3 -3
  189. package/bin/lib/Image/ExifTool/Validate.pm +6 -6
  190. package/bin/lib/Image/ExifTool/Vivo.pm +124 -0
  191. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  192. package/bin/lib/Image/ExifTool/WPG.pm +1 -1
  193. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  194. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  195. package/bin/lib/Image/ExifTool/WriteExif.pl +3 -3
  196. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  197. package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  198. package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  199. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  200. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  201. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +166 -79
  202. package/bin/lib/Image/ExifTool/WriteRIFF.pl +17 -6
  203. package/bin/lib/Image/ExifTool/WriteXMP.pl +3 -3
  204. package/bin/lib/Image/ExifTool/Writer.pl +89 -96
  205. package/bin/lib/Image/ExifTool/XISF.pm +1 -1
  206. package/bin/lib/Image/ExifTool/XMP.pm +28 -13
  207. package/bin/lib/Image/ExifTool/XMP2.pl +103 -1
  208. package/bin/lib/Image/ExifTool/XMPStruct.pl +2 -3
  209. package/bin/lib/Image/ExifTool/ZIP.pm +2 -2
  210. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  211. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  212. package/bin/lib/Image/ExifTool.pm +335 -163
  213. package/bin/lib/Image/ExifTool.pod +119 -73
  214. package/bin/perl-Image-ExifTool.spec +1 -1
  215. package/bin/windows_exiftool.txt +96 -51
  216. package/package.json +6 -6
@@ -25,6 +25,7 @@ use strict;
25
25
  use Image::ExifTool qw(:Utils);
26
26
  use Image::ExifTool::XMP;
27
27
 
28
+ sub ProcessSEAL($$;$);
28
29
  sub Init_crd($);
29
30
 
30
31
  #------------------------------------------------------------------------------
@@ -2249,6 +2250,44 @@ my %sACDSeeRegionStruct = (
2249
2250
  Gamma => { Writable => 'real', List => 'Seq', Avoid => 1 },
2250
2251
  );
2251
2252
 
2253
+ %Image::ExifTool::XMP::HDRGainMap = (
2254
+ %xmpTableDefaults,
2255
+ GROUPS => { 1 => 'XMP-HDRGainMap', 2 => 'Unknown' },
2256
+ NAMESPACE => 'HDRGainMap',
2257
+ NOTES => 'Used in Apple HDR GainMap images.',
2258
+ HDRGainMapVersion => {
2259
+ PrintConv => 'IsInt($val) ? join(".",unpack("C*", pack "N", $val)) : $val',
2260
+ PrintConvInv => q{
2261
+ return $val unless $val =~ /^\d+\.\d+\.\d+\.\d+$/;
2262
+ return unpack('N', pack('C*', split /\./, $val));
2263
+ },
2264
+ },
2265
+ );
2266
+
2267
+ %Image::ExifTool::XMP::apdi = (
2268
+ %xmpTableDefaults,
2269
+ GROUPS => { 1 => 'XMP-apdi', 2 => 'Image' },
2270
+ NAMESPACE => 'apdi',
2271
+ NOTES => 'Used in Apple HDR GainMap images.',
2272
+ NativeFormat => {
2273
+ PrintConv => q{
2274
+ return $val unless IsInt($val);
2275
+ my $tmp = pack("N", $val);
2276
+ $tmp =~ /^\w{4}$/ ? $tmp : $val;
2277
+ },
2278
+ PrintConvInv => '$val =~ /^\w{4}$/ ? unpack("N", $val) : $val',
2279
+ },
2280
+ AuxiliaryImageType => { },
2281
+ StoredFormat => {
2282
+ PrintConv => q{
2283
+ return $val unless IsInt($val);
2284
+ my $tmp = pack("N", $val);
2285
+ $tmp =~ /^\w{4}$/ ? $tmp : $val;
2286
+ },
2287
+ PrintConvInv => '$val =~ /^\w{4}$/ ? unpack("N", $val) : $val',
2288
+ },
2289
+ );
2290
+
2252
2291
  # SVG namespace properties (ref 9)
2253
2292
  %Image::ExifTool::XMP::SVG = (
2254
2293
  GROUPS => { 0 => 'SVG', 1 => 'SVG', 2 => 'Image' },
@@ -2290,6 +2329,69 @@ my %sACDSeeRegionStruct = (
2290
2329
  },
2291
2330
  );
2292
2331
 
2332
+ %Image::ExifTool::XMP::seal = (
2333
+ GROUPS => { 0 => 'XMP', 1 => 'XMP-seal', 2 => 'Image' },
2334
+ NAMESPACE => 'seal',
2335
+ WRITABLE => 'string',
2336
+ NOTES => 'SEAL embedded in XMP.',
2337
+ seal => {
2338
+ Name => 'Seal',
2339
+ Binary => 1,
2340
+ SubDirectory => { TagTable => 'Image::ExifTool::XMP::SEAL' },
2341
+ },
2342
+ );
2343
+
2344
+ %Image::ExifTool::XMP::SEAL = (
2345
+ GROUPS => { 0 => 'XML', 1 => 'SEAL', 2 => 'Document' },
2346
+ PROCESS_PROC => \&ProcessSEAL,
2347
+ NOTES => q{
2348
+ These tags are used in SEAL (Secure Evidence Attribution Label) content
2349
+ authentification, which is actually XML format, not XMP. ExifTool has
2350
+ read/delete support for SEAL information in JPG, TIFF, XMP, PNG, WEBP, HEIC,
2351
+ PPM, MOV and MP4 files, and read-only support in PDF, MKV and WAV. Use
2352
+ C<-seal:all=> on the command line to delete SEAL information in supported
2353
+ formats. See L<https://github.com/hackerfactor/SEAL> for the specification.
2354
+ },
2355
+ seal=> 'SEALVersion',
2356
+ ka => 'KeyAlgorithm',
2357
+ kv => 'KeyVersion',
2358
+ da => 'DigestAlgorithm',
2359
+ b => 'ByteRange',
2360
+ d => 'Domain',
2361
+ uid => 'UniqueIdentifier',
2362
+ id => 'Identifier',
2363
+ sf => 'SignatureFormat',
2364
+ sl => 'SignatureLength',
2365
+ 's' => 'Signature',
2366
+ info=> 'SEALComment',
2367
+ copyright => { Name => 'Copyright', Groups => { 2 => 'Author' } },
2368
+ );
2369
+
2370
+ #------------------------------------------------------------------------------
2371
+ # We found a SEAL property name/value
2372
+ # Inputs: 0) ExifTool ref, 1) tag table ref, 2) xmp property list ref
2373
+ # 3) property value, 4) attribute hash ref
2374
+ # Returns: 1 if valid tag was found
2375
+ sub FoundSEAL($$$$;$)
2376
+ {
2377
+ my ($et, $tagTablePtr, $props, $val, $attrs) = @_;
2378
+ # remove 'seal' container property from name
2379
+ my @sealProps = @$props;
2380
+ shift @sealProps if @sealProps and $sealProps[0] eq 'seal';
2381
+ return FoundXMP($et, $tagTablePtr, \@sealProps, $val, $attrs);
2382
+ }
2383
+
2384
+ #------------------------------------------------------------------------------
2385
+ # Process SEAL XML
2386
+ # Inputs: 0) ExifTool ref, 1) dirInfo ref, 2) tag table ref
2387
+ # Returns: 1 on success
2388
+ sub ProcessSEAL($$;$)
2389
+ {
2390
+ my ($et, $dirInfo, $tagTablePtr) = @_;
2391
+ $$dirInfo{XMPParseOpts}{FoundProc} = \&FoundSEAL;
2392
+ return ProcessXMP($et, $dirInfo, $tagTablePtr);
2393
+ }
2394
+
2293
2395
  #------------------------------------------------------------------------------
2294
2396
  # Generate crd tags
2295
2397
  # Inputs: 0) tag table ref
@@ -2325,7 +2427,7 @@ This file contains definitions for less common XMP namespaces.
2325
2427
 
2326
2428
  =head1 AUTHOR
2327
2429
 
2328
- Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2430
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
2329
2431
 
2330
2432
  This library is free software; you can redistribute it and/or modify it
2331
2433
  under the same terms as Perl itself.
@@ -714,7 +714,6 @@ sub RestoreStruct($;$)
714
714
  my $fileOrder = $$et{FILE_ORDER};
715
715
  my $tagExtra = $$et{TAG_EXTRA};
716
716
  foreach $key (keys %{$$et{TAG_INFO}}) {
717
- $$tagExtra{$key} or next;
718
717
  my $structProps = $$tagExtra{$key}{Struct} or next;
719
718
  delete $$tagExtra{$key}{Struct}; # (don't re-use)
720
719
  my $tagInfo = $$et{TAG_INFO}{$key}; # tagInfo for flattened tag
@@ -880,7 +879,7 @@ sub RestoreStruct($;$)
880
879
  }
881
880
  # preserve original flattened tags if requested
882
881
  if ($keepFlat) {
883
- my $extra = $$tagExtra{$key} or next;
882
+ my $extra = $$tagExtra{$key};
884
883
  # restore list behaviour of this flattened tag
885
884
  if ($$extra{NoList}) {
886
885
  $$valueHash{$key} = $$extra{NoList};
@@ -945,7 +944,7 @@ information.
945
944
 
946
945
  =head1 AUTHOR
947
946
 
948
- Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
947
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
949
948
 
950
949
  This library is free software; you can redistribute it and/or modify it
951
950
  under the same terms as Perl itself.
@@ -330,7 +330,7 @@ sub ProcessRAR($$)
330
330
  $et->Warn('Large block encountered. Aborting.');
331
331
  last;
332
332
  } elsif ($et->Options('LargeFileSupport') eq '2') {
333
- $et->WarnOnce('Processing large block (LargeFileSupport is 2)');
333
+ $et->Warn('Processing large block (LargeFileSupport is 2)');
334
334
  }
335
335
  }
336
336
  # process the block
@@ -840,7 +840,7 @@ Electronic Publication (EPUB), and Sketch design files (SKETCH).
840
840
 
841
841
  =head1 AUTHOR
842
842
 
843
- Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
843
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
844
844
 
845
845
  This library is free software; you can redistribute it and/or modify it
846
846
  under the same terms as Perl itself.
@@ -220,7 +220,7 @@ metadata from Zeiss Integrated Software RAW (ZISRAW) CZI files.
220
220
 
221
221
  =head1 AUTHOR
222
222
 
223
- Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
223
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
224
224
 
225
225
  This library is free software; you can redistribute it and/or modify it
226
226
  under the same terms as Perl itself.
@@ -215,7 +215,7 @@ information from Apple iWork '09 XML+ZIP files.
215
215
 
216
216
  =head1 AUTHOR
217
217
 
218
- Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
218
+ Copyright 2003-2025, Phil Harvey (philharvey66 at gmail.com)
219
219
 
220
220
  This library is free software; you can redistribute it and/or modify it
221
221
  under the same terms as Perl itself.