format_parser 2.4.4 → 2.5.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: a3b2c55550282f0f8d7b04723decd4d0d35f73afc3d987fbaaf14e2274838bab
4
- data.tar.gz: 24119780ac672b473a1e01c3cc2bb4dc545aec45d8a5e331a09b37cebece100b
3
+ metadata.gz: be6d2146ac8ada9870883998a9d4e93a92b8bb572668c424e28be798b27cc21c
4
+ data.tar.gz: 5ea4e991625c8b7e1d1414e970efbc9d6fbc4827c4bb9e14ad2140fd0cbd396f
5
5
  SHA512:
6
- metadata.gz: 251a7268c1c829424613f9a811bf59d88061b96efbc44557f6bfcffbbd0d7de5c1430f98b956eeace9bc590b1fbc6ada05eeaa215c526f24fe063c236bb5b8af
7
- data.tar.gz: 2e263df394eddd302c1ea8d4f99bcac262e276f251a1cf37abe0475ec0c6ec36fa5a2c6181d88e9a889053b00fe54568d72f1bd083395cd6994f916ff848d3ed
6
+ metadata.gz: '079c5c591cfd548ff4df342882048a0ad315c30256fd4dff9333c2944986cec7949ff85472658ef3a5156e4f1553964368257b838e1130664346f486ffde1623'
7
+ data.tar.gz: a877334ed908a65e03f91dfd83a4b0dc5ff5c569942335038c6b37a6727add95796dc023a7cdac1965ff8a3adfe0b131aefac3d3b30a2c33c4f565e3a60dcbc9
@@ -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.5.0
2
+ * Add `avc1` and `xavc` as brand codes in the mp4 format parser to allow more file types to be parsed correctly.
3
+
4
+ ## 2.4.5
5
+ * Disable `udta` ISOBMFF box parsing, since their contents are not guaranteed to be consistent with the spec.
6
+
1
7
  ## 2.4.4
2
8
  * Prevent infinite loops when parsing ISOBMFF boxes with size = 0 (meaning that the box extends to the end of the file).
3
9
 
@@ -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.4'
2
+ VERSION = '2.5.0'
3
3
  end
@@ -116,7 +116,7 @@ module FormatParser
116
116
  'trak' => :container,
117
117
  # 'trex' => :trex,
118
118
  # 'tsel' => :tsel,
119
- 'udta' => :container,
119
+ # 'udta' => :container,
120
120
  # 'url ' => :dref_url,
121
121
  # 'urn ' => :dref_urn,
122
122
  'uuid' => :uuid,
@@ -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.4
4
+ version: 2.5.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-03-28 00:00:00.000000000 Z
12
+ date: 2023-05-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: exifr
@@ -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
@@ -315,7 +329,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
315
329
  - !ruby/object:Gem::Version
316
330
  version: '0'
317
331
  requirements: []
318
- rubygems_version: 3.3.7
332
+ rubygems_version: 3.4.1
319
333
  signing_key:
320
334
  specification_version: 4
321
335
  summary: A library for efficient parsing of file metadata