format_parser 2.4.4 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
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