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