wahwah 1.6.4 → 1.6.6

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: b71422abe8effd7cf724451e130bc68c62e18f89b2a0dbf3af91dd4a789ff7c0
4
- data.tar.gz: 8e4deef44b33e4112b42b4e0b55d1d850fdf97a6c6041e245fb6a43674c94cf8
3
+ metadata.gz: 400a515344d4ada3244b5ac7953439dcee43be09c6d667e45ff1a644f636d525
4
+ data.tar.gz: b3dbaa7e0676c66997f2a48a56a193ef73ee58f5cd0d86fee89ad6cd30adb222
5
5
  SHA512:
6
- metadata.gz: 2e46bb17bbda9d55f5999761844924f368fb22836a0029511db9aa57d2447d952803614eda3d0732a0520d9106076c6d97e1f5eadd08d597628975521982ec53
7
- data.tar.gz: 8f7f7596631653567e8b5661fc1771b6aeeb8def7440da22e580d0453f8c5f40a6f1c330ca28b4f5648b69d21b31df6bf8ce56d7d912941d73f0172b65b00f01
6
+ metadata.gz: 937dc4d3c348c1f7cf3c60d787e0943a1462d2de4de36ea60233871ffdbca8b89cf65f53c5aec1d0eb1ed0731409b4abb11b479d32814885fae2f697e09245e6
7
+ data.tar.gz: 2b98514ddec430ad3912e88ae94ba006bc205cf662c2bde30048fb4dd62687216b8a3b83bdba88951ab74fb9191b0afb631417ce7a7f689f99434f5bfb046f80
data/lib/wahwah/helper.rb CHANGED
@@ -54,13 +54,15 @@ module WahWah
54
54
  def self.file_format_from_signature(io)
55
55
  io.rewind
56
56
  signature = io.read(16)
57
+ # Rewind after reading the signature to not mess with the file position
58
+ io.rewind
57
59
 
58
60
  # Source: https://en.wikipedia.org/wiki/List_of_file_signatures
59
61
 
60
62
  # M4A is checked for first, since MP4 files start with a chunk size -
61
63
  # and that chunk size may incidentally match another signature.
62
64
  # No other formats would reasonably have "ftyp" as the next for bytes.
63
- return "m4a" if ["ftypM4A ".b, "ftyp3gp4".b].include?(signature[4...12])
65
+ return "m4a" if ["ftypM4A ".b, "ftyp3gp4".b, "ftypmp42".b].include?(signature[4...12])
64
66
  # Handled separately simply because it requires two checks.
65
67
  return "wav" if signature.start_with?("RIFF".b) && signature[8...12] == "WAVE".b
66
68
  magic_numbers = {
@@ -52,6 +52,7 @@ module WahWah
52
52
  def parse_id3_tag
53
53
  @file_io.rewind
54
54
  signature = @file_io.read(6)
55
+ @file_io.rewind
55
56
 
56
57
  if signature.start_with?("ID3".b)
57
58
  id3_v2_tag = ID3::V2.new(@file_io)
@@ -72,7 +73,7 @@ module WahWah
72
73
  @bitrate = (bytes_count * 8 / @duration / 1000).round unless @duration.zero?
73
74
  else
74
75
  @bitrate = mpeg_frame_header.frame_bitrate
75
- @duration = (file_size - (@id3_tag&.size || 0)) * 8 / (@bitrate * 1000).to_f unless @bitrate.zero?
76
+ @duration = (file_size - (@id3_tag&.size || 0)) * 8 / (@bitrate * 1000).to_f unless @bitrate.to_i.zero?
76
77
  end
77
78
  end
78
79
 
data/lib/wahwah/tag.rb CHANGED
@@ -31,6 +31,9 @@ module WahWah
31
31
  @file_size = io.size
32
32
  @file_io = io
33
33
 
34
+ # Rewinding at the start just in case some other helper class or parser already read from the file
35
+ @file_io.rewind
36
+
34
37
  @comments = []
35
38
  @images_data = []
36
39
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module WahWah
4
- VERSION = "1.6.4"
4
+ VERSION = "1.6.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wahwah
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.4
4
+ version: 1.6.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - aidewoode
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-08 00:00:00.000000000 Z
11
+ date: 2024-08-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler