diff --git a/src/main/java/de/bitzeche/video/transcoding/zencoder/IZencoderClient.java b/src/main/java/de/bitzeche/video/transcoding/zencoder/IZencoderClient.java index a226c23..261ec09 100644 --- a/src/main/java/de/bitzeche/video/transcoding/zencoder/IZencoderClient.java +++ b/src/main/java/de/bitzeche/video/transcoding/zencoder/IZencoderClient.java @@ -45,6 +45,17 @@ public interface IZencoderClient { */ public ZencoderNotificationJobState jobProgress(ZencoderJob job); + /* + * Find and fill in the details for the given job + * and its outputs. This only works for outputs + * with labels. + * + * NB: Not yet ready. + * + * @param job + */ +// public void completeJobDetails(ZencoderJob job); + /** * Send a resubmit request for a job. * @param jobId ID for the requested job. diff --git a/src/main/java/de/bitzeche/video/transcoding/zencoder/ZencoderClient.java b/src/main/java/de/bitzeche/video/transcoding/zencoder/ZencoderClient.java index b73b2a0..09b3af8 100644 --- a/src/main/java/de/bitzeche/video/transcoding/zencoder/ZencoderClient.java +++ b/src/main/java/de/bitzeche/video/transcoding/zencoder/ZencoderClient.java @@ -96,14 +96,19 @@ public ZencoderClient(String zencoderApiKey, ZencoderAPIVersion apiVersion) { * */ - - + + private Integer findIdFromOutputNode(Node output) throws XPathExpressionException { Double idDouble = (Double)xPath.evaluate("output/id", output, XPathConstants.NUMBER); return idDouble == null ? null : idDouble.intValue(); } - + + private String findLabelFromOutputNode(Node output) throws XPathExpressionException + { + return (String) xPath.evaluate("output/label", output, XPathConstants.STRING); + } + /** * Complete output IDs from response. * @param job @@ -112,7 +117,7 @@ private Integer findIdFromOutputNode(Node output) throws XPathExpressionExceptio private void completeJobInfo(ZencoderJob job, Document response) { try { NodeList outputs = (NodeList) xPath.evaluate("/api-response/job/outputs", - response, XPathConstants.NODESET); + response, XPathConstants.NODESET); if (job.getOutputs().size() == 1) { Integer id = findIdFromOutputNode(outputs.item(0)); @@ -128,7 +133,7 @@ private void completeJobInfo(ZencoderJob job, Document response) { int outputSize = outputs.getLength(); for (int i=0; i