@@ -111,7 +111,7 @@ class QcTarget
111111 @input_path = value
112112 @warnings = [ ]
113113 end
114-
114+
115115 def check_dropouts
116116 @sample_ratios = [ ]
117117 @possible_drops = [ ]
@@ -157,11 +157,27 @@ class QcTarget
157157 out_of_phase_frames = [ ]
158158 phase_frames = [ ]
159159 @levels = [ ]
160+ unless @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'extra' ] . nil? || TARGET_EXTENSION != 'wav'
161+ if @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'extra' ] [ 'bext_Present' ] == 'Yes' && @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ]
162+ @stereo_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /stereo/i ) . count
163+ @dual_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /dual/i ) . count
164+ end
165+ end
166+ if ! @dual_count . nil? && ! @stereo_count . nil?
167+ if @dual_count > 0
168+ phase_limit = Configurations [ 'dualmono_audio_phase_limit' ]
169+ elsif
170+ @stereo_count > 1
171+ phase_limit = Configurations [ 'stereo_audio_phase_limit' ]
172+ end
173+ else
174+ phase_limit = Configurations [ 'generic_audio_phase_limit' ]
175+ end
160176 @ffprobe_out [ 'frames' ] . each do |frames |
161177 peaklevel = frames [ 'tags' ] [ 'lavfi.astats.Overall.Peak_level' ]
162178 audiophase = frames [ 'tags' ] [ 'lavfi.aphasemeter.phase' ] . to_f
163179 phase_frames << audiophase
164- out_of_phase_frames << audiophase if audiophase < Configurations [ 'audio_phase_limit' ]
180+ out_of_phase_frames << audiophase if audiophase < phase_limit
165181 if peaklevel != '-inf'
166182 high_db_frames << peaklevel . to_f if peaklevel . to_f > Configurations [ 'high_level_warning' ]
167183 @levels << peaklevel . to_f
@@ -241,7 +257,7 @@ class QcTarget
241257 if TARGET_EXTENSION == 'wav'
242258 @enc_hist_error = [ ]
243259 unless @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'extra' ] . nil?
244- if @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'extra' ] [ 'bext_Present' ] == 'Yes' && @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ]
260+ if @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'extra' ] [ 'bext_Present' ] == 'Yes' && @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ]
245261 signal_chain_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /A=/ ) . count
246262 if @mediainfo_out [ 'media' ] [ 'track' ] [ 1 ] [ 'Channels' ] == "1"
247263 unless @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /mono/i ) . count == signal_chain_count
@@ -250,9 +266,9 @@ class QcTarget
250266 end
251267
252268 if @mediainfo_out [ 'media' ] [ 'track' ] [ 1 ] [ 'Channels' ] == "2"
253- stereo_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /stereo/i ) . count
254- dual_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /dual/i ) . count
255- unless stereo_count + dual_count == signal_chain_count
269+ @ stereo_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /stereo/i ) . count
270+ @ dual_count = @mediainfo_out [ 'media' ] [ 'track' ] [ 0 ] [ 'Encoded_Library_Settings' ] . scan ( /dual/i ) . count
271+ unless @ stereo_count + @ dual_count == signal_chain_count
256272 @enc_hist_error << "BEXT Coding History channels don't match file"
257273 end
258274 end
0 commit comments