lib/dtas/source/av_ff_common.rb in dtas-0.14.2 vs lib/dtas/source/av_ff_common.rb in dtas-0.15.0
- old
+ new
@@ -1,7 +1,7 @@
# Copyright (C) 2013-2016 all contributors <dtas-all@nongnu.org>
-# License: GPL-3.0+ (https://www.gnu.org/licenses/gpl-3.0.txt)
+# License: GPL-3.0+ <https://www.gnu.org/licenses/gpl-3.0.txt>
# frozen_string_literal: true
require_relative '../../dtas'
require_relative '../source'
require_relative '../replaygain'
require_relative '../xs'
@@ -107,16 +107,20 @@
# old avprobe
s.scan(%r{^\[FORMAT\]\n(.*?)\n\[/FORMAT\]\n}m) do |_|
f = $1.dup
f =~ /^duration=([\d\.]+)\s*$/nm and @duration = $1.to_f
# TODO: multi-line/multi-value/repeated tags
- f.gsub!(/^TAG:([^=]+)=(.*)$/ni) { |_| @comments[$1.upcase.freeze] = $2 }
+ f.gsub!(/^TAG:([^=]+)=(.*)$/ni) { |_|
+ @comments[DTAS.dedupe_str($1.upcase)] = DTAS.dedupe_str($2)
+ }
end
# new avprobe
s.scan(%r{^\[format\.tags\]\n(.*?)\n\n}m) do |_|
f = $1.dup
- f.gsub!(/^([^=]+)=(.*)$/ni) { |_| @comments[$1.upcase.freeze] = $2 }
+ f.gsub!(/^([^=]+)=(.*)$/ni) { |_|
+ @comments[DTAS.dedupe_str($1.upcase)] = DTAS.dedupe_str($2)
+ }
end
s.scan(%r{^\[format\]\n(.*?)\n\n}m) do |_|
f = $1.dup
f =~ /^duration=([\d\.]+)\s*$/nm and @duration = $1.to_f
end