Merge pull request #174 into develop

master
Eugene E. Kashpureff Jr 8 years ago committed by GitHub
commit 7ccc81c85f
  1. 18
      libresonic-main/src/main/java/org/libresonic/player/service/TranscodingService.java

@ -329,8 +329,8 @@ public class TranscodingService {
title = "Unknown Artist";
}
List<String> result = new LinkedList<String>(Arrays.asList(StringUtil.split(command)));
result.set(0, getTranscodeDirectory().getPath() + File.separatorChar + result.get(0));
List<String> result = new LinkedList<>(Arrays.asList(StringUtil.split(command)));
result.set(0, getExecutableName(result));
File tmpFile = null;
@ -381,6 +381,20 @@ public class TranscodingService {
return new TranscodeInputStream(new ProcessBuilder(result), in, tmpFile);
}
private String getExecutableName(List<String> transcodeTokens) {
String executableName = transcodeTokens.get(0);
String transcodeDirectoryPath = getTranscodeDirectory().getPath() + File.separatorChar + executableName;
File file = new File(transcodeDirectoryPath);
if(file.exists()) {
if(!file.canExecute()) {
throw new RuntimeException("Transcoder is not executable at " + transcodeDirectoryPath);
}
return transcodeDirectoryPath;
} else {
return executableName;
}
}
/**
* Returns an applicable transcoding for the given file and player, or <code>null</code> if no
* transcoding should be done.

Loading…
Cancel
Save