Well that was interesting, anyway :). In windows the only way I could get the command to run with newlines in the input was to pipe it in, e.g.
```bat
type "%temp%\ffmpegwebaudio_xxx.tmp" | ffmpeg -f concat -i - -f wav -ar 48000 - | ffplay -
```
the UMS analog of which is (excuse the roughness):
```diff
diff --git a/src/main/java/net/pms/encoders/FFmpegWebAudio.java b/src/main/java/net/pms/encoders/FFmpegWebAudio.java
index c6bc911..e216c0e 100644
--- a/src/main/java/net/pms/encoders/FFmpegWebAudio.java
+++ b/src/main/java/net/pms/encoders/FFmpegWebAudio.java
@@ -22,6 +22,7 @@ import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileWriter;
 import java.io.IOException;
+import java.io.OutputStream;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -33,6 +34,7 @@ import javax.swing.JComponent;
 import net.pms.configuration.PmsConfiguration;
 import net.pms.dlna.DLNAMediaInfo;
 import net.pms.dlna.DLNAResource;
+import net.pms.dlna.IPushOutput;
 import net.pms.io.OutputParams;
 import net.pms.io.PipeProcess;
 import net.pms.io.ProcessWrapper;
@@ -162,6 +164,7 @@ public class FFmpegWebAudio extends FFmpegAudio {
 			String pls = new Scanner(new URL(filename).openStream(), "UTF-8").useDelimiter("\\A").next();
 
 			String[] lines = pls.split("[\\r\\n]+");
+List<String> urls = new ArrayList<String>();
 
 			try {
 				File tmp = File.createTempFile(fifoName, ".tmp");
@@ -174,12 +177,14 @@ public class FFmpegWebAudio extends FFmpegAudio {
 					case PLAYLIST_TYPE_PLS:// .pls
 						if (line.contains("File")) {
 							tmpWriter.write("file '" + line.substring(line.indexOf("=") + 1).trim() + "'\n");
+urls.add(line.substring(line.indexOf("=") + 1).trim());
 						}
 						break;
 
 					case PLAYLIST_TYPE_M3U:// .m3u
 						if (!line.startsWith("#")) {
 							tmpWriter.write("file '" + line.trim() + "'\n");
+urls.add(line.trim());
 						}
 						break;
 					}
@@ -191,7 +196,24 @@ public class FFmpegWebAudio extends FFmpegAudio {
 				cmdList.add("-f");
 				cmdList.add("concat");
 
-				filename = tmp.getAbsolutePath();
+filename = "-";
+
+final String input = "file '" + StringUtils.join(urls, "'\nfile '") + "'";
+
+// push the newline-containing input arg via stdin
+params.stdin = new IPushOutput() {
+	@Override
+	public void push(OutputStream out) throws IOException {
+		LOGGER.debug("**** STDIN: " + input);
+		out.write(input.getBytes());
+//		out.flush();
+		out.close();
+	}
+	@Override
+	public boolean isUnderlyingSeekSupported() {
+		return false;
+	}
+};
 
 			} catch (IOException e) {
 				LOGGER.error("Playlist file writing error", e);
```
which seems to work on my Sony Bluray, though with a long startup lag.  Does it work for you?