From: yukihane Date: Thu, 15 Sep 2011 11:18:19 +0000 (+0900) Subject: 新しいバージョンのffmpeg処理時間出力に対応 X-Git-Tag: rel20110916_ver2.b.0~1^2~7 X-Git-Url: http://git.sourceforge.jp/view?p=coroid%2Finqubus.git;a=commitdiff_plain;h=bc4340e9f1ca17ad2970f58ab19603c5d90b52ef;ds=sidebyside 新しいバージョンのffmpeg処理時間出力に対応 --- diff --git a/frontend/src/saccubus/worker/impl/convert/Convert.java b/frontend/src/saccubus/worker/impl/convert/Convert.java index 5299af3..0fa9916 100644 --- a/frontend/src/saccubus/worker/impl/convert/Convert.java +++ b/frontend/src/saccubus/worker/impl/convert/Convert.java @@ -202,7 +202,7 @@ public class Convert extends Worker { logger.info("arg: {}", cmdList); return cmdList; } - private static final Pattern PATTERN_TIME = Pattern.compile("time=(\\d+)"); + private static final Pattern PATTERN_TIME = Pattern.compile("time=(\\d+):(\\d+):(\\d+)"); private int executeFfmpeg(final List cmdList, int duration) throws InterruptedException, IOException { Process process = null; @@ -217,10 +217,14 @@ public class Convert extends Worker { final Matcher m = PATTERN_TIME.matcher(msg); double per = -1.0; if (m.find()) { - final String strTime = m.group(1); - final double time = Double.parseDouble(strTime); + final double hour = Integer.parseInt(m.group(1)); + final double min = Integer.parseInt(m.group(2)); + final double sec = Integer.parseInt(m.group(3)); + final double time = ((hour * 60) + min) * 60 + sec; per = 100.0 * time / duration; - logger.trace("time:{}, duration:{}", time, duration); + if (logger.isTraceEnabled()) { + logger.trace("time:{}, duration:{}", time, duration); + } } publish(new ConvertProgress(PROCESS, per, msg)); } else if (!msg.endsWith("No accelerated colorspace conversion found")) {