exiftool_vendored 12.72.0 → 12.73.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (206) hide show
  1. checksums.yaml +4 -4
  2. data/bin/Changes +17 -0
  3. data/bin/META.json +1 -1
  4. data/bin/META.yml +1 -1
  5. data/bin/README +3 -3
  6. data/bin/exiftool +28 -15
  7. data/bin/lib/File/RandomAccess.pm +1 -1
  8. data/bin/lib/File/RandomAccess.pod +2 -2
  9. data/bin/lib/Image/ExifTool/AAC.pm +8 -6
  10. data/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. data/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  12. data/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. data/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. data/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. data/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. data/bin/lib/Image/ExifTool/Apple.pm +1 -1
  17. data/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. data/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. data/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. data/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  21. data/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. data/bin/lib/Image/ExifTool/BuildTagLookup.pm +2 -2
  23. data/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. data/bin/lib/Image/ExifTool/Canon.pm +1 -1
  25. data/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. data/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. data/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  28. data/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. data/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. data/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. data/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  32. data/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. data/bin/lib/Image/ExifTool/DNG.pm +1 -1
  34. data/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. data/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. data/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. data/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. data/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. data/bin/lib/Image/ExifTool/Exif.pm +1 -1
  40. data/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. data/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. data/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. data/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  44. data/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  45. data/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. data/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  47. data/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. data/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. data/bin/lib/Image/ExifTool/FujiFilm.pm +1 -1
  50. data/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. data/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. data/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. data/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. data/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. data/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  56. data/bin/lib/Image/ExifTool/GoPro.pm +1 -1
  57. data/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. data/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. data/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. data/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  61. data/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. data/bin/lib/Image/ExifTool/ICO.pm +1 -1
  63. data/bin/lib/Image/ExifTool/ID3.pm +1 -1
  64. data/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. data/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. data/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. data/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. data/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. data/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  70. data/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  71. data/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  72. data/bin/lib/Image/ExifTool/JSON.pm +1 -1
  73. data/bin/lib/Image/ExifTool/JVC.pm +3 -3
  74. data/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  75. data/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  76. data/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  77. data/bin/lib/Image/ExifTool/LIF.pm +1 -1
  78. data/bin/lib/Image/ExifTool/LNK.pm +1 -1
  79. data/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  80. data/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  81. data/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  82. data/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  83. data/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  84. data/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  85. data/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  86. data/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  87. data/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  88. data/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  89. data/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  90. data/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  91. data/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  92. data/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  93. data/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  94. data/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  95. data/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  96. data/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  97. data/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  98. data/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  99. data/bin/lib/Image/ExifTool/M2TS.pm +1 -1
  100. data/bin/lib/Image/ExifTool/MIE.pm +3 -3
  101. data/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  102. data/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  103. data/bin/lib/Image/ExifTool/MISB.pm +1 -1
  104. data/bin/lib/Image/ExifTool/MNG.pm +1 -1
  105. data/bin/lib/Image/ExifTool/MOI.pm +1 -1
  106. data/bin/lib/Image/ExifTool/MPC.pm +1 -1
  107. data/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  108. data/bin/lib/Image/ExifTool/MPF.pm +1 -1
  109. data/bin/lib/Image/ExifTool/MRC.pm +1 -1
  110. data/bin/lib/Image/ExifTool/MWG.pm +1 -1
  111. data/bin/lib/Image/ExifTool/MXF.pm +1 -1
  112. data/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  113. data/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  114. data/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  115. data/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  116. data/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  117. data/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  118. data/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  119. data/bin/lib/Image/ExifTool/Nikon.pm +9 -8
  120. data/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  121. data/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  122. data/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  123. data/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  124. data/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  125. data/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  126. data/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  127. data/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  128. data/bin/lib/Image/ExifTool/Opus.pm +1 -1
  129. data/bin/lib/Image/ExifTool/Other.pm +1 -1
  130. data/bin/lib/Image/ExifTool/PCX.pm +1 -1
  131. data/bin/lib/Image/ExifTool/PDF.pm +1 -1
  132. data/bin/lib/Image/ExifTool/PGF.pm +1 -1
  133. data/bin/lib/Image/ExifTool/PICT.pm +1 -1
  134. data/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  135. data/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  136. data/bin/lib/Image/ExifTool/PNG.pm +24 -2
  137. data/bin/lib/Image/ExifTool/PPM.pm +1 -1
  138. data/bin/lib/Image/ExifTool/PSP.pm +1 -1
  139. data/bin/lib/Image/ExifTool/Palm.pm +1 -1
  140. data/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  141. data/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  142. data/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  143. data/bin/lib/Image/ExifTool/Pentax.pm +32 -11
  144. data/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  145. data/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  146. data/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  147. data/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  148. data/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  149. data/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  150. data/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  151. data/bin/lib/Image/ExifTool/QuickTime.pm +21 -1
  152. data/bin/lib/Image/ExifTool/QuickTimeStream.pl +90 -2
  153. data/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. data/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  155. data/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. data/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. data/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. data/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. data/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. data/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. data/bin/lib/Image/ExifTool/Ricoh.pm +3 -3
  162. data/bin/lib/Image/ExifTool/Samsung.pm +1 -1
  163. data/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. data/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. data/bin/lib/Image/ExifTool/Shift.pl +1 -1
  166. data/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. data/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. data/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. data/bin/lib/Image/ExifTool/Sony.pm +3 -3
  170. data/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. data/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. data/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. data/bin/lib/Image/ExifTool/TagLookup.pm +3872 -3858
  174. data/bin/lib/Image/ExifTool/TagNames.pod +11416 -11382
  175. data/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. data/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. data/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. data/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. data/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. data/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. data/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. data/bin/lib/Image/ExifTool/WPG.pm +1 -1
  183. data/bin/lib/Image/ExifTool/WTV.pm +1 -1
  184. data/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  185. data/bin/lib/Image/ExifTool/WriteExif.pl +1 -1
  186. data/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  187. data/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  188. data/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  189. data/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  190. data/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  191. data/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
  192. data/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  193. data/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  194. data/bin/lib/Image/ExifTool/Writer.pl +6 -1
  195. data/bin/lib/Image/ExifTool/XISF.pm +1 -1
  196. data/bin/lib/Image/ExifTool/XMP.pm +19 -3
  197. data/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  198. data/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  199. data/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  200. data/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. data/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. data/bin/lib/Image/ExifTool.pm +18 -3
  203. data/bin/lib/Image/ExifTool.pod +10 -2
  204. data/bin/perl-Image-ExifTool.spec +1 -1
  205. data/lib/exiftool_vendored/version.rb +1 -1
  206. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a1f510ba188ef652b3d3d2b5cf0a8f317c7ce8eb1ef27448b0de2d6ea326e67d
4
- data.tar.gz: 8221ec58b898f84a00d6739e79a88417d83b57e481b473216d2a4001f34e7909
3
+ metadata.gz: 6e4bebb394e40270c3e7794a1c5e269d227a7e41ac88fe231d5b8e04433eb88b
4
+ data.tar.gz: 781a0260d3d75e23d60b1350d342b7e46af136b39471c673883e2d11dc71152f
5
5
  SHA512:
6
- metadata.gz: c294ea7e4739692d2e938409230f791474b64e427a494d0abc984165415dd59a18a3e33ec5c37a8deddbf809d61adc338936762993d6cd43462b717be22be5d3
7
- data.tar.gz: 8083b7e1418ecf28253e5fef7ec3a1125e430b1235feb820cf85c7796af1d94a65ac7c5521ca36162916c4908da5f2f9a8a8598bf9ecf06d07c0d757166f21a4
6
+ metadata.gz: 9d294cedfc656675286e39e782d484fcf2b659e85cc8e445dc17999ca3c656a2f6dd2e241e3b23b1da9cda02ab8c15a064bc0c40d20439c853ccd3e5f6214523
7
+ data.tar.gz: ce99e91f91e27be93453645e19d3ec3f3206eb7f06b1d610fadd5f0cc4401e1376a8831f3756ceb3d7896651a9ebbbc4bf1f04d6fc09acce47a78191133e0ff3
data/bin/Changes CHANGED
@@ -7,6 +7,23 @@ RSS feed: https://exiftool.org/rss.xml
7
7
  Note: The most recent production release is Version 12.70. (Other versions are
8
8
  considered development releases, and are not uploaded to MetaCPAN.)
9
9
 
10
+ Jan. 10, 2024 - Version 12.73
11
+
12
+ - Added write support for Leica XMP-xmpDSA tags
13
+ - Added read support for timed GPS from Yada RoadCam Pro 4K dashcam videos
14
+ - Added read support for PNG cpIp chunk
15
+ - Added range checks on lat/long values when writing QuickTime:GPSCoordinates
16
+ - Decode a number of new values for Ricoh GR III tags
17
+ - Decode a new Leica tag
18
+ - Improved handling of Brotli compression errors
19
+ - Enhanced API NoWarning option to also apply to app "Warning:" outputs
20
+ - Identify PNG Plus files
21
+ - Changed name of Pentax ISOAutoParameters to ISOAutoMinSpeed and improved
22
+ decoding
23
+ - Fixed writing of date/time tags in XMP-xmpMM:Pantry structure
24
+ - API Changes:
25
+ - Added LimitLongValues option
26
+
10
27
  Dec. 29, 2023 - Version 12.72
11
28
 
12
29
  - Added read support for AAC audio files
data/bin/META.json CHANGED
@@ -50,5 +50,5 @@
50
50
  }
51
51
  },
52
52
  "release_status" : "stable",
53
- "version" : "12.72"
53
+ "version" : "12.73"
54
54
  }
data/bin/META.yml CHANGED
@@ -31,4 +31,4 @@ recommends:
31
31
  Time::HiRes: 0
32
32
  requires:
33
33
  perl: 5.004
34
- version: 12.72
34
+ version: 12.73
data/bin/README CHANGED
@@ -108,8 +108,8 @@ your home directory, then you would type the following commands in a
108
108
  terminal window to extract and run ExifTool:
109
109
 
110
110
  cd ~/Desktop
111
- gzip -dc Image-ExifTool-12.72.tar.gz | tar -xf -
112
- cd Image-ExifTool-12.72
111
+ gzip -dc Image-ExifTool-12.73.tar.gz | tar -xf -
112
+ cd Image-ExifTool-12.73
113
113
  ./exiftool t/images/ExifTool.jpg
114
114
 
115
115
  Note: These commands extract meta information from one of the test images.
@@ -166,7 +166,7 @@ for calculating digest values and providing other features listed below:
166
166
 
167
167
  COPYRIGHT AND LICENSE
168
168
 
169
- Copyright 2003-2023, Phil Harvey
169
+ Copyright 2003-2024, Phil Harvey
170
170
 
171
171
  This is free software; you can redistribute it and/or modify it under the
172
172
  same terms as Perl itself.
data/bin/exiftool CHANGED
@@ -11,7 +11,7 @@ use strict;
11
11
  use warnings;
12
12
  require 5.004;
13
13
 
14
- my $version = '12.72';
14
+ my $version = '12.73';
15
15
 
16
16
  # add our 'lib' directory to the include list BEFORE 'use Image::ExifTool'
17
17
  my $exePath;
@@ -58,6 +58,7 @@ sub ConvertBinary($);
58
58
  sub IsEqual($$);
59
59
  sub Infile($;$);
60
60
  sub AddSetTagsFile($;$);
61
+ sub Warning($$);
61
62
  sub DoSetFromFile($$$);
62
63
  sub CleanFilename($);
63
64
  sub SetWindowTitle($);
@@ -1705,7 +1706,7 @@ if (@newValues) {
1705
1706
  my ($rtn, $wrn) = $mt->SetNewValue($tag, $newVal, %opts);
1706
1707
  $needSave = 1;
1707
1708
  ++$isWriting if $rtn;
1708
- $wrn and Warn "Warning: $wrn\n";
1709
+ $wrn and Warning($mt, $wrn);
1709
1710
  }
1710
1711
  # exclude specified tags
1711
1712
  foreach (@exclude) {
@@ -2718,7 +2719,7 @@ TAG: foreach $tag (@foundTags) {
2718
2719
  $padLen -= $gcstr->columns;
2719
2720
  } else {
2720
2721
  $padLen -= length Encode::decode_utf8($desc);
2721
- Warn "Warning: Unicode::GCString problem. Columns may be misaligned\n";
2722
+ Warning($et, 'Unicode::GCString problem. Columns may be misaligned');
2722
2723
  $fixLen = 1;
2723
2724
  }
2724
2725
  }
@@ -2988,7 +2989,7 @@ sub SetImageInfo($$$)
2988
2989
  my $newFileName = $et->GetNewValues('FileName');
2989
2990
  my $newDir = $et->GetNewValues('Directory');
2990
2991
  if (defined $newFileName and not length $newFileName) {
2991
- Warn "Warning: New file name is empty - $ infile\n";
2992
+ Warning($et,"New file name is empty - $infile");
2992
2993
  undef $newFileName;
2993
2994
  }
2994
2995
  if (defined $testName) {
@@ -3647,9 +3648,22 @@ sub Infile($;$)
3647
3648
  return $file;
3648
3649
  }
3649
3650
 
3651
+ #------------------------------------------------------------------------------
3652
+ # Issue warning to stderr, adding leading "Warning: " and trailing newline
3653
+ # if the warning isn't suppressed by the API NoWarning option
3654
+ # Inputs: 0) ExifTool ref, 1) warning string
3655
+ sub Warning($$)
3656
+ {
3657
+ my ($et, $str) = @_;
3658
+ my $noWarn = $et->Options('NoWarning');
3659
+ if (not defined $noWarn or not eval { $str =~ /$noWarn/ }) {
3660
+ Warn "Warning: $str\n";
3661
+ }
3662
+ }
3663
+
3650
3664
  #------------------------------------------------------------------------------
3651
3665
  # Set new values from file
3652
- # Inputs: 0) exiftool ref, 1) filename, 2) reference to list of values to set
3666
+ # Inputs: 0) ExifTool ref, 1) filename, 2) reference to list of values to set
3653
3667
  # Returns: 0 on error (and increments $countBadWr)
3654
3668
  sub DoSetFromFile($$$)
3655
3669
  {
@@ -3662,19 +3676,18 @@ sub DoSetFromFile($$$)
3662
3676
  # delete all error and warning tags
3663
3677
  my @warns = grep /^(Error|Warning)\b/, keys %$info;
3664
3678
  $numSet -= scalar(@warns);
3665
- # issue a warning for the main error only if we were able to set some tags
3666
- if (keys(%$info) > @warns) {
3667
- my $err = $$info{Error};
3668
- delete $$info{$_} foreach @warns;
3669
- $$info{Warning} = $err;
3670
- }
3679
+ # issue a warning only for the main error
3680
+ my $err = $$info{Error};
3681
+ delete $$info{$_} foreach @warns;
3682
+ my $noWarn = $et->Options('NoWarning');
3683
+ $$info{Warning} = $err unless defined $noWarn and eval { $err =~ /$noWarn/ };
3671
3684
  } elsif ($$info{Warning}) {
3672
3685
  my $warns = 1;
3673
3686
  ++$warns while $$info{"Warning ($warns)"};
3674
3687
  $numSet -= $warns;
3675
3688
  }
3676
3689
  PrintErrors($et, $info, $file) and EFile($file), ++$countBadWr, return 0;
3677
- Warn "Warning: No writable tags set from $file\n" unless $numSet;
3690
+ Warning($et,"No writable tags set from $file") unless $numSet;
3678
3691
  return 1;
3679
3692
  }
3680
3693
 
@@ -3820,7 +3833,7 @@ sub ScanDir($$;$)
3820
3833
  if ($evalWarning) {
3821
3834
  chomp $evalWarning;
3822
3835
  $evalWarning =~ s/ at .*//s;
3823
- Warn "Warning: [Win32::FindFile] $evalWarning - $dir\n";
3836
+ Warning($et,"[Win32::FindFile] $evalWarning - $dir");
3824
3837
  $winSurrogate = 1 if $evalWarning =~ /surrogate/;
3825
3838
  } else {
3826
3839
  $et->Options(CharsetFileName => 'UTF8'); # now using UTF8
@@ -5585,7 +5598,7 @@ with this command:
5585
5598
 
5586
5599
  produces output like this:
5587
5600
 
5588
- -- Generated by ExifTool 12.72 --
5601
+ -- Generated by ExifTool 12.73 --
5589
5602
  File: a.jpg - 2003:10:31 15:44:19
5590
5603
  (f/5.6, 1/60s, ISO 100)
5591
5604
  File: b.jpg - 2006:05:23 11:57:38
@@ -7454,7 +7467,7 @@ the commands if B<-execute> was used).
7454
7467
 
7455
7468
  =head1 AUTHOR
7456
7469
 
7457
- Copyright 2003-2023, Phil Harvey
7470
+ Copyright 2003-2024, Phil Harvey
7458
7471
 
7459
7472
  This is free software; you can redistribute it and/or modify it under the
7460
7473
  same terms as Perl itself.
@@ -25,7 +25,7 @@
25
25
  #
26
26
  # May also be used for string i/o (just pass a scalar reference)
27
27
  #
28
- # Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
28
+ # Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
29
29
  # This library is free software; you can redistribute it and/or
30
30
  # modify it under the same terms as Perl itself.
31
31
  #------------------------------------------------------------------------------
@@ -3,7 +3,7 @@
3
3
  #
4
4
  # Description: Buffer to support random access reading of sequential file
5
5
  #
6
- # Legal: Copyright (c) 2003-2023 Phil Harvey (philharvey66 at gmail.com)
6
+ # Legal: Copyright (c) 2003-2024, Phil Harvey (philharvey66 at gmail.com)
7
7
  # This library is free software; you can redistribute it and/or
8
8
  # modify it under the same terms as Perl itself.
9
9
  #------------------------------------------------------------------------------
@@ -236,7 +236,7 @@ the end of file is not allowed.
236
236
 
237
237
  =head1 AUTHOR
238
238
 
239
- Copyright 2003-2023 Phil Harvey (philharvey66 at gmail.com)
239
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
240
240
 
241
241
  This library is free software; you can redistribute it and/or modify it
242
242
  under the same terms as Perl itself.
@@ -28,6 +28,7 @@ my %convSampleRate = (
28
28
  %Image::ExifTool::AAC::Main = (
29
29
  PROCESS_PROC => \&Image::ExifTool::FLAC::ProcessBitStream,
30
30
  GROUPS => { 2 => 'Audio' },
31
+ NOTES => 'Tags extracted from Advanced Audio Coding (AAC) files.',
31
32
  # Bit000-011 - sync word (all 1's)
32
33
  # Bit012 - ID (seems to be always 0)
33
34
  # Bit013-014 - layer (00)
@@ -109,7 +110,7 @@ sub ProcessAAC($$)
109
110
  $et->ProcessDirectory({ DataPt => \$buff }, $tagTablePtr);
110
111
 
111
112
  # read the first frame data to check for a filler with the encoder name
112
- if ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
113
+ while ($len > 8 and $raf->Read($buff, $len-7) == $len-7) {
113
114
  my $noCRC = ($t[0] & 0x00010000);
114
115
  my $blocks = ($t[2] & 0x03);
115
116
  my $pos = 0;
@@ -122,16 +123,17 @@ sub ProcessAAC($$)
122
123
  my $cnt = ($tmp >> 9) & 0x0f;
123
124
  ++$pos;
124
125
  if ($cnt == 15) {
125
- $cnt += (($tmp >> 1) & 0xff) - 1 if $cnt == 15;
126
+ $cnt += (($tmp >> 1) & 0xff) - 1;
126
127
  ++$pos;
127
128
  }
128
- if ($pos + $cnt < length($buff)) {
129
+ if ($pos + $cnt <= length($buff)) {
129
130
  my $dat = substr($buff, $pos, $cnt);
130
131
  $dat =~ s/^\0+//;
131
132
  $dat =~ s/\0+$//;
132
133
  $et->HandleTag($tagTablePtr, Encoder => $dat) if $dat =~ /^[\x20-\x7e]+$/;
133
134
  }
134
135
  }
136
+ last;
135
137
  }
136
138
 
137
139
  return 1;
@@ -151,8 +153,8 @@ This module is used by Image::ExifTool
151
153
 
152
154
  =head1 DESCRIPTION
153
155
 
154
- This module contains definitions required by Image::ExifTool to read AAC
155
- audio files.
156
+ This module contains definitions required by Image::ExifTool to read
157
+ Advanced Audio Coding (AAC) files.
156
158
 
157
159
  =head1 NOTES
158
160
 
@@ -161,7 +163,7 @@ based on unofficial sources which may be incomplete, inaccurate or outdated.
161
163
 
162
164
  =head1 AUTHOR
163
165
 
164
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
166
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
165
167
 
166
168
  This library is free software; you can redistribute it and/or modify it
167
169
  under the same terms as Perl itself.
@@ -477,7 +477,7 @@ main purpose of encryption, so this really can't be considered a bug.
477
477
 
478
478
  =head1 AUTHOR
479
479
 
480
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
480
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
481
481
 
482
482
  This library is free software; you can redistribute it and/or modify it
483
483
  under the same terms as Perl itself.
@@ -259,7 +259,7 @@ scanning for AFCP information.
259
259
 
260
260
  =head1 AUTHOR
261
261
 
262
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
262
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
263
263
 
264
264
  This library is free software; you can redistribute it and/or modify it
265
265
  under the same terms as Perl itself.
@@ -287,7 +287,7 @@ information from AIFF (Audio Interchange File Format) audio files.
287
287
 
288
288
  =head1 AUTHOR
289
289
 
290
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
290
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
291
291
 
292
292
  This library is free software; you can redistribute it and/or modify it
293
293
  under the same terms as Perl itself.
@@ -263,7 +263,7 @@ Currently doesn't parse MAC header unless it is at the start of the file.
263
263
 
264
264
  =head1 AUTHOR
265
265
 
266
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
266
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
267
267
 
268
268
  This library is free software; you can redistribute it and/or modify it
269
269
  under the same terms as Perl itself.
@@ -305,7 +305,7 @@ APP12 meta information.
305
305
 
306
306
  =head1 AUTHOR
307
307
 
308
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
308
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
309
309
 
310
310
  This library is free software; you can redistribute it and/or modify it
311
311
  under the same terms as Perl itself.
@@ -876,7 +876,7 @@ Windows Media Audio (WMA) and Windows Media Video (WMV) files.
876
876
 
877
877
  =head1 AUTHOR
878
878
 
879
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
879
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
880
880
 
881
881
  This library is free software; you can redistribute it and/or modify it
882
882
  under the same terms as Perl itself.
@@ -343,7 +343,7 @@ Apple maker notes in EXIF information.
343
343
 
344
344
  =head1 AUTHOR
345
345
 
346
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
346
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
347
347
 
348
348
  This library is free software; you can redistribute it and/or modify it
349
349
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from Audible audio books.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -335,7 +335,7 @@ This module contains definitions required by Image::ExifTool to read BMP
335
335
 
336
336
  =head1 AUTHOR
337
337
 
338
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
338
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
339
339
 
340
340
  This library is free software; you can redistribute it and/or modify it
341
341
  under the same terms as Perl itself.
@@ -231,7 +231,7 @@ This module contains definitions required by Image::ExifTool to read BPG
231
231
 
232
232
  =head1 AUTHOR
233
233
 
234
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
234
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
235
235
 
236
236
  This library is free software; you can redistribute it and/or modify it
237
237
  under the same terms as Perl itself.
@@ -445,7 +445,7 @@ compression ability).
445
445
 
446
446
  =head1 AUTHOR
447
447
 
448
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
448
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
449
449
  Copyright 2002, Leon Bottou and Yann Le Cun
450
450
  Copyright 2001, AT&T
451
451
  Copyright 1999-2001, LizardTech Inc.
@@ -282,7 +282,7 @@ information in BigTIFF images.
282
282
 
283
283
  =head1 AUTHOR
284
284
 
285
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
285
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
286
286
 
287
287
  This library is free software; you can redistribute it and/or modify it
288
288
  under the same terms as Perl itself.
@@ -680,7 +680,7 @@ L<Image::ExifTool::BuildTagLookup|Image::ExifTool::BuildTagLookup>.
680
680
 
681
681
  ~head1 AUTHOR
682
682
 
683
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
683
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
684
684
 
685
685
  This library is free software; you can redistribute it and/or modify it
686
686
  under the same terms as Perl itself.
@@ -2780,7 +2780,7 @@ Returned list of writable pseudo tags.
2780
2780
 
2781
2781
  =head1 AUTHOR
2782
2782
 
2783
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2783
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2784
2784
 
2785
2785
  This library is free software; you can redistribute it and/or modify it
2786
2786
  under the same terms as Perl itself.
@@ -321,7 +321,7 @@ specification.
321
321
 
322
322
  =head1 AUTHOR
323
323
 
324
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
324
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
325
325
 
326
326
  This library is free software; you can redistribute it and/or modify it
327
327
  under the same terms as Perl itself.
@@ -10321,7 +10321,7 @@ Canon maker notes in EXIF information.
10321
10321
 
10322
10322
  =head1 AUTHOR
10323
10323
 
10324
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
10324
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
10325
10325
 
10326
10326
  This library is free software; you can redistribute it and/or modify it
10327
10327
  under the same terms as Perl itself.
@@ -2873,7 +2873,7 @@ Image::ExifTool to read this information.
2873
2873
 
2874
2874
  =head1 AUTHOR
2875
2875
 
2876
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2876
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2877
2877
 
2878
2878
  This library is free software; you can redistribute it and/or modify it
2879
2879
  under the same terms as Perl itself.
@@ -888,7 +888,7 @@ tags.)
888
888
 
889
889
  =head1 AUTHOR
890
890
 
891
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
891
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
892
892
 
893
893
  This library is free software; you can redistribute it and/or modify it
894
894
  under the same terms as Perl itself.
@@ -2266,7 +2266,7 @@ files, and as a trailer in JPEG, CRW, CR2 and TIFF images.
2266
2266
 
2267
2267
  =head1 AUTHOR
2268
2268
 
2269
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2269
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2270
2270
 
2271
2271
  This library is free software; you can redistribute it and/or modify it
2272
2272
  under the same terms as Perl itself.
@@ -221,7 +221,7 @@ settings files (COS).
221
221
 
222
222
  =head1 AUTHOR
223
223
 
224
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
224
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
225
225
 
226
226
  This library is free software; you can redistribute it and/or modify it
227
227
  under the same terms as Perl itself.
@@ -2034,7 +2034,7 @@ Casio maker notes in EXIF information.
2034
2034
 
2035
2035
  =head1 AUTHOR
2036
2036
 
2037
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
2037
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
2038
2038
 
2039
2039
  This library is free software; you can redistribute it and/or modify it
2040
2040
  under the same terms as Perl itself.
@@ -422,7 +422,7 @@ when decoding certain types of information.
422
422
 
423
423
  =head1 AUTHOR
424
424
 
425
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
425
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
426
426
 
427
427
  This library is free software; you can redistribute it and/or modify it
428
428
  under the same terms as Perl itself.
@@ -3853,7 +3853,7 @@ No translation of special characters sets is done.
3853
3853
 
3854
3854
  =head1 AUTHOR
3855
3855
 
3856
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
3856
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
3857
3857
 
3858
3858
  This library is free software; you can redistribute it and/or modify it
3859
3859
  under the same terms as Perl itself.
@@ -237,7 +237,7 @@ the maker notes in images from some DJI Phantom drones.
237
237
 
238
238
  =head1 AUTHOR
239
239
 
240
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
240
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
241
241
 
242
242
  This library is free software; you can redistribute it and/or modify it
243
243
  under the same terms as Perl itself.
@@ -849,7 +849,7 @@ information in DNG (Digital Negative) images.
849
849
 
850
850
  =head1 AUTHOR
851
851
 
852
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
852
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
853
853
 
854
854
  This library is free software; you can redistribute it and/or modify it
855
855
  under the same terms as Perl itself.
@@ -225,7 +225,7 @@ metadata from DPX (Digital Picture Exchange) images.
225
225
 
226
226
  =head1 AUTHOR
227
227
 
228
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
228
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
229
229
 
230
230
  This library is free software; you can redistribute it and/or modify it
231
231
  under the same terms as Perl itself.
@@ -291,7 +291,7 @@ information from DV (raw Digital Video) files.
291
291
 
292
292
  =head1 AUTHOR
293
293
 
294
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
294
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
295
295
 
296
296
  This library is free software; you can redistribute it and/or modify it
297
297
  under the same terms as Perl itself.
@@ -372,7 +372,7 @@ This file contains tag definitions for the Darwin Core XMP namespace.
372
372
 
373
373
  =head1 AUTHOR
374
374
 
375
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
375
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
376
376
 
377
377
  This library is free software; you can redistribute it and/or modify it
378
378
  under the same terms as Perl itself.
@@ -353,7 +353,7 @@ Image::ExifTool::AIFF.
353
353
 
354
354
  =head1 AUTHOR
355
355
 
356
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
356
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
357
357
 
358
358
  This library is free software; you can redistribute it and/or modify it
359
359
  under the same terms as Perl itself.
@@ -1454,7 +1454,7 @@ library files.
1454
1454
 
1455
1455
  =head1 AUTHOR
1456
1456
 
1457
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1457
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1458
1458
 
1459
1459
  This library is free software; you can redistribute it and/or modify it
1460
1460
  under the same terms as Perl itself.
@@ -7064,7 +7064,7 @@ EXIF and TIFF meta information.
7064
7064
 
7065
7065
  =head1 AUTHOR
7066
7066
 
7067
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
7067
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
7068
7068
 
7069
7069
  This library is free software; you can redistribute it and/or modify it
7070
7070
  under the same terms as Perl itself.
@@ -137,7 +137,7 @@ information from FITS (Flexible Image Transport System) images.
137
137
 
138
138
  =head1 AUTHOR
139
139
 
140
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
140
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
141
141
 
142
142
  This library is free software; you can redistribute it and/or modify it
143
143
  under the same terms as Perl itself.
@@ -298,7 +298,7 @@ information from Free Lossless Audio Codec (FLAC) audio files.
298
298
 
299
299
  =head1 AUTHOR
300
300
 
301
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
301
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
302
302
 
303
303
  This library is free software; you can redistribute it and/or modify it
304
304
  under the same terms as Perl itself.
@@ -329,7 +329,7 @@ meta information in FLIF (Free Lossless Image Format) images.
329
329
 
330
330
  =head1 AUTHOR
331
331
 
332
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
332
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
333
333
 
334
334
  This library is free software; you can redistribute it and/or modify it
335
335
  under the same terms as Perl itself.
@@ -1633,7 +1633,7 @@ Systems Inc. thermal image files (FFF, FPF and JPEG format).
1633
1633
 
1634
1634
  =head1 AUTHOR
1635
1635
 
1636
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
1636
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
1637
1637
 
1638
1638
  This library is free software; you can redistribute it and/or modify it
1639
1639
  under the same terms as Perl itself.
@@ -354,7 +354,7 @@ linear list when ApplyFixups() is called.
354
354
 
355
355
  =head1 AUTHOR
356
356
 
357
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
357
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
358
358
 
359
359
  This library is free software; you can redistribute it and/or modify it
360
360
  under the same terms as Perl itself.