Fix: Player not starting when path contains spaces
This commit is contained in:
parent
cbe466e7b9
commit
88bddcb188
|
@ -120,7 +120,11 @@ public class Player {
|
||||||
try {
|
try {
|
||||||
if (Config.getInstance().getSettings().localRecording && rec != null) {
|
if (Config.getInstance().getSettings().localRecording && rec != null) {
|
||||||
File file = new File(Config.getInstance().getSettings().recordingsDir, rec.getPath());
|
File file = new File(Config.getInstance().getSettings().recordingsDir, rec.getPath());
|
||||||
playerProcess = rt.exec(Config.getInstance().getSettings().mediaPlayer + " " + file, OS.getEnvironment(), file.getParentFile());
|
String[] args = new String[] {
|
||||||
|
Config.getInstance().getSettings().mediaPlayer,
|
||||||
|
file.getName()
|
||||||
|
};
|
||||||
|
playerProcess = rt.exec(args, OS.getEnvironment(), file.getParentFile());
|
||||||
} else {
|
} else {
|
||||||
if(Config.getInstance().getSettings().requireAuthentication) {
|
if(Config.getInstance().getSettings().requireAuthentication) {
|
||||||
URL u = new URL(url);
|
URL u = new URL(url);
|
||||||
|
@ -136,10 +140,12 @@ public class Player {
|
||||||
// create threads, which read stdout and stderr of the player process. these are needed,
|
// create threads, which read stdout and stderr of the player process. these are needed,
|
||||||
// because otherwise the internal buffer for these streams fill up and block the process
|
// because otherwise the internal buffer for these streams fill up and block the process
|
||||||
Thread std = new Thread(new StreamRedirectThread(playerProcess.getInputStream(), new DevNull()));
|
Thread std = new Thread(new StreamRedirectThread(playerProcess.getInputStream(), new DevNull()));
|
||||||
|
//Thread std = new Thread(new StreamRedirectThread(playerProcess.getInputStream(), System.out));
|
||||||
std.setName("Player stdout pipe");
|
std.setName("Player stdout pipe");
|
||||||
std.setDaemon(true);
|
std.setDaemon(true);
|
||||||
std.start();
|
std.start();
|
||||||
Thread err = new Thread(new StreamRedirectThread(playerProcess.getErrorStream(), new DevNull()));
|
Thread err = new Thread(new StreamRedirectThread(playerProcess.getErrorStream(), new DevNull()));
|
||||||
|
//Thread err = new Thread(new StreamRedirectThread(playerProcess.getErrorStream(), System.err));
|
||||||
err.setName("Player stderr pipe");
|
err.setName("Player stderr pipe");
|
||||||
err.setDaemon(true);
|
err.setDaemon(true);
|
||||||
err.start();
|
err.start();
|
||||||
|
|
Loading…
Reference in New Issue