|  |  |  | @ -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. | 
			
		
	
	
		
			
				
					|  |  |  | 
 |