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"; title = "Unknown Artist";
} }
List<String> result = new LinkedList<String>(Arrays.asList(StringUtil.split(command))); List<String> result = new LinkedList<>(Arrays.asList(StringUtil.split(command)));
result.set(0, getTranscodeDirectory().getPath() + File.separatorChar + result.get(0)); result.set(0, getExecutableName(result));
File tmpFile = null; File tmpFile = null;
@ -381,6 +381,20 @@ public class TranscodingService {
return new TranscodeInputStream(new ProcessBuilder(result), in, tmpFile); 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 * Returns an applicable transcoding for the given file and player, or <code>null</code> if no
* transcoding should be done. * transcoding should be done.

Loading…
Cancel
Save