Doesn&#39;t appear to make a difference.<br>replaced the first lines by this:<br>        boolean failedSimpleGetLine = false;<br>        AudioFormat format = new AudioFormat(44100, 16, 2, true, false);<br>        SourceDataLine line = null;<br>

//        DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);<br>        try {<br>            line = (SourceDataLine) AudioSystem.getSourceDataLine(format);<br><br>It still fails at the last line (reaches the last line).<br>

To clarify the bugs:<br>1) first it gives a sourcedataline that says it obeys the format, without throwing lineunavailableexception<br>2) first bug : then it throws lineunavailableexception when trying to open it.<br>3) second bug : however trying the sourcedatalines returned for all mixers eventually finds a line that just works - if so why wasn&#39;t that the line returned.<br>

<br>The saddest thing is that i have pulseaudio installed and a recent version of openjdk installed. I assumed that was enough to get transparent mixing, so i removed my special fork of freetts.<br><br><br>