format_parser 2.4.5 → 2.6.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7daa912b01159c41fc44b099188bac919984d4e0d75000acc7053e221b719f06
4
- data.tar.gz: d081b9d2e1bbe5458b1ca57a5d1140c4cf1ad289a2d1af8557093c201b6969b4
3
+ metadata.gz: 4ce8a7c3fd258ccf2abcee6ea8731c0337e7255dfb189ccfb5fdfc02e9dd9b36
4
+ data.tar.gz: a6ff6ea6e771f2636e30cfee70b3c22584cb85e7020a97483f66e2c482048444
5
5
  SHA512:
6
- metadata.gz: 8e19114d58216267ea215e91f6ec0d616eb58459d0a052f755decdb7fc3f7b7d653f6ab17a79d12e09039df538d2c7361cdee44e015802378489ca186e333fbc
7
- data.tar.gz: c1a3b6fe0c05ec3002e1f823f14d06d95eec0f96f411190970fa954080827f08ca14ecb50b638edd23155c72f76b14da7ba305770adffa120b329a39c7557033
6
+ metadata.gz: e27bd51913d3a3b3d061ec27379acc4a15fa19ee2e16cccdbf5a0aec4daf8fe26cdfc0062115119616384ded92c645e4a88a6d0244b47b33c5fc79903ccd3906
7
+ data.tar.gz: 024756cdb460347f36cd1aa247b04f5468982b4c502cf049e8c8abd5cb1020f960006f552c7659770c6149ff6ed3a61def2beb44160236f35fe35533579f6c31
@@ -20,13 +20,13 @@ jobs:
20
20
  - jruby
21
21
  steps:
22
22
  - name: Checkout
23
- uses: actions/checkout@v2
23
+ uses: actions/checkout@v3
24
24
  - name: Setup Ruby
25
25
  uses: ruby/setup-ruby@v1
26
26
  with:
27
27
  ruby-version: ${{ matrix.ruby }}
28
28
  - name: Gemfile Cache
29
- uses: actions/cache@v2
29
+ uses: actions/cache@v3
30
30
  with:
31
31
  path: Gemfile.lock
32
32
  key: ${{ runner.os }}-gemlock-${{ matrix.ruby }}-${{ hashFiles('Gemfile', 'format_parser.gemspec') }}
@@ -34,7 +34,7 @@ jobs:
34
34
  ${{ runner.os }}-gemlock-${{ matrix.ruby }}-
35
35
  - name: Bundle Cache
36
36
  id: cache-gems
37
- uses: actions/cache@v2
37
+ uses: actions/cache@v3
38
38
  with:
39
39
  path: vendor/bundle
40
40
  key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ hashFiles('Gemfile', 'Gemfile.lock', 'format_parser.gemspec') }}
@@ -45,7 +45,7 @@ jobs:
45
45
  if: steps.cache-gems.outputs.cache-hit != 'true'
46
46
  run: bundle install --jobs 4 --retry 3
47
47
  - name: Rubocop Cache
48
- uses: actions/cache@v2
48
+ uses: actions/cache@v3
49
49
  with:
50
50
  path: ~/.cache/rubocop_cache
51
51
  key: ${{ runner.os }}-rubocop-${{ hashFiles('.rubocop.yml') }}
@@ -68,13 +68,13 @@ jobs:
68
68
  experimental: [false]
69
69
  steps:
70
70
  - name: Checkout
71
- uses: actions/checkout@v2
71
+ uses: actions/checkout@v3
72
72
  - name: Setup Ruby
73
73
  uses: ruby/setup-ruby@v1
74
74
  with:
75
75
  ruby-version: ${{ matrix.ruby }}
76
76
  - name: Gemfile Cache
77
- uses: actions/cache@v2
77
+ uses: actions/cache@v3
78
78
  with:
79
79
  path: Gemfile.lock
80
80
  key: ${{ runner.os }}-gemlock-${{ matrix.ruby }}-${{ hashFiles('Gemfile', 'format_parser.gemspec') }}
@@ -82,7 +82,7 @@ jobs:
82
82
  ${{ runner.os }}-gemlock-${{ matrix.ruby }}-
83
83
  - name: Bundle Cache
84
84
  id: cache-gems
85
- uses: actions/cache@v2
85
+ uses: actions/cache@v3
86
86
  with:
87
87
  path: vendor/bundle
88
88
  key: ${{ runner.os }}-gems-${{ matrix.ruby }}-${{ hashFiles('Gemfile', 'Gemfile.lock', 'format_parser.gemspec') }}
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ ## 2.6.0
2
+ * Prevent the default loading of thumbnails on TIFF-based formats to improve I/O.
3
+
4
+ ## 2.5.0
5
+ * Add `avc1` and `xavc` as brand codes in the mp4 format parser to allow more file types to be parsed correctly.
6
+
1
7
  ## 2.4.5
2
8
  * Disable `udta` ISOBMFF box parsing, since their contents are not guaranteed to be consistent with the spec.
3
9
 
@@ -32,7 +32,7 @@ Gem::Specification.new do |spec|
32
32
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
33
33
  spec.require_paths = ['lib']
34
34
 
35
- spec.add_dependency 'exifr', '>= 1.3.8'
35
+ spec.add_dependency 'exifr', '>= 1.4.0'
36
36
  spec.add_dependency 'id3tag', '>= 0.14.2'
37
37
  spec.add_dependency 'matrix'
38
38
  spec.add_dependency 'measurometer'
@@ -42,6 +42,7 @@ Gem::Specification.new do |spec|
42
42
  spec.add_development_dependency 'rspec'
43
43
  spec.add_development_dependency 'simplecov'
44
44
  spec.add_development_dependency 'webmock'
45
+ spec.add_development_dependency 'webrick'
45
46
  spec.add_development_dependency 'wetransfer_style', '1.0.0'
46
47
  spec.add_development_dependency 'yard'
47
48
  end
@@ -1,3 +1,3 @@
1
1
  module FormatParser
2
- VERSION = '2.4.5'
2
+ VERSION = '2.6.0'
3
3
  end
@@ -175,7 +175,7 @@ module FormatParser::EXIFParser
175
175
  def exif_from_tiff_io(constrained_io, should_include_sub_ifds = false)
176
176
  Measurometer.instrument('format_parser.exif_parser.exif_from_tiff_io') do
177
177
  extended_io = IOExt.new(constrained_io)
178
- exif_raw_data = EXIFR::TIFF.new(extended_io)
178
+ exif_raw_data = EXIFR::TIFF.new(extended_io, load_thumbnails: false)
179
179
 
180
180
  return unless exif_raw_data
181
181
 
@@ -5,13 +5,15 @@ class FormatParser::MP4Parser
5
5
  include FormatParser::ISOBaseMediaFileFormat
6
6
  include FormatParser::ISOBaseMediaFileFormat::Utils
7
7
 
8
- MAGIC_BYTES = /^ftyp(iso[m2]|mp4[12]|m4[abprv] )$/i
8
+ MAGIC_BYTES = /^ftyp(iso[m2]|mp4[12]|m4[abprv] |avc1|xavc)$/i
9
9
 
10
10
  BRAND_FORMATS = {
11
11
  'isom' => :mp4, # Prohibited as a major brand by ISO/IEC 14496-12 sec 6.3 paragraph 2, but occasionally used.
12
12
  'iso2' => :mp4, # Prohibited as a major brand by ISO/IEC 14496-12 sec 6.3 paragraph 2, but occasionally used.
13
13
  'mp41' => :mp4,
14
14
  'mp42' => :mp4,
15
+ 'avc1' => :mp4,
16
+ 'xavc' => :mp4, # Sony XAVC S
15
17
  'm4a ' => :m4a,
16
18
  'm4b ' => :m4b, # iTunes audiobooks
17
19
  'm4p ' => :m4p, # iTunes audio
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: format_parser
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.5
4
+ version: 2.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Noah Berman
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2023-04-03 00:00:00.000000000 Z
12
+ date: 2023-05-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exifr
@@ -17,14 +17,14 @@ dependencies:
17
17
  requirements:
18
18
  - - ">="
19
19
  - !ruby/object:Gem::Version
20
- version: 1.3.8
20
+ version: 1.4.0
21
21
  type: :runtime
22
22
  prerelease: false
23
23
  version_requirements: !ruby/object:Gem::Requirement
24
24
  requirements:
25
25
  - - ">="
26
26
  - !ruby/object:Gem::Version
27
- version: 1.3.8
27
+ version: 1.4.0
28
28
  - !ruby/object:Gem::Dependency
29
29
  name: id3tag
30
30
  requirement: !ruby/object:Gem::Requirement
@@ -137,6 +137,20 @@ dependencies:
137
137
  - - ">="
138
138
  - !ruby/object:Gem::Version
139
139
  version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: webrick
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
140
154
  - !ruby/object:Gem::Dependency
141
155
  name: wetransfer_style
142
156
  requirement: !ruby/object:Gem::Requirement