From b45afe222f9d3300f1fd99557f099d2214df7985 Mon Sep 17 00:00:00 2001 From: Don Melton Date: Tue, 12 May 2015 21:35:36 -0700 Subject: [PATCH] No longer fail on invalid audio and subtitle track information. --- lib/video_transcoding/media.rb | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/video_transcoding/media.rb b/lib/video_transcoding/media.rb index 1e51d3a..0dffde5 100644 --- a/lib/video_transcoding/media.rb +++ b/lib/video_transcoding/media.rb @@ -62,7 +62,7 @@ def info @scan = Media.scan(@path, @title, @previews) end - if @scan =~ / libhb: scan thread found ([0-9.]+) valid title/ + if @scan =~ / libhb: scan thread found ([0-9]+) valid title/ fail 'multiple titles found' if $1.to_i > 1 end @@ -92,7 +92,7 @@ def info return @info unless @extended - unless @scan =~ / \+ audio tracks:\r?\n(.*) \+ subtitle tracks:\r?\n(.*)(?:\r?\n)?HandBrake has exited./m + unless @scan =~ / \+ audio tracks:\r?\n(.*) \+ subtitle tracks:\r?\n(.*)HandBrake has exited./m fail 'audio and subtitle information not found' end @@ -102,7 +102,7 @@ def info @info[:subtitle] = {} audio.gsub(/\r/, '').each_line do |line| - if line =~ /^ \+ ([0-9.]+), [^(]+\(([^)]+)\) .*\(([0-9.]+) ch\) .*\(iso639-2: ([a-z]{3})\)/ + if line =~ /^ \+ ([0-9]+), [^(]+\(([^)]+)\) .*\(([0-9.]+) ch\) .*\(iso639-2: ([a-z]{3})\)/ track = $1.to_i track_info = {} track_info[:format] = $2 @@ -116,20 +116,16 @@ def info end @info[:audio][track] = track_info - else - fail "invalid audio track information: #{line}" end end subtitle.gsub(/\r/, '').each_line do |line| - if line =~ /^ \+ ([0-9.]+), .*\(iso639-2: ([a-z]{3})\) \((?:Text|Bitmap)\)\(([^)]+)\)/ + if line =~ /^ \+ ([0-9]+), .*\(iso639-2: ([a-z]{3})\) \((?:Text|Bitmap)\)\(([^)]+)\)/ track = $1.to_i track_info = {} track_info[:language] = $2 track_info[:format] = $3 @info[:subtitle][track] = track_info - else - fail "invalid subtitle track information: #{line}" end end