On 03/15/2018 13:09, Magnus Ihse Bursie wrote:
15 mars 2018 kl. 20:13 skrev Phil Race <philip.r...@oracle.com>:
As far as I know the split was made to dynamically load ALSA/DirectSound stuff
Yes, I think it is something like that for Linux
ie if at runtime a dependent-but-not-essential .so was not
installed it was not fatal. I don't know to what extent this is no longer a
possible issue, or one that matters.
I have not heard of any mainstream Linux distro in years that was lacking ALSA.
If ALSA was not present, will the libraries fall back to OSS, or will there be
just no sound available?
No sound.
OSS support was dropped many years ago (IIRC in jdk7)
In any case, I think that whatever Linux distros we're targeting as supported,
ALSA will be present.
Alex, did I understand you correctly that in any case, a separate Windows
library is always unnecessary, since we can rely on DirectAudio always being
present in our supported versions of Windows?
Yes, that's right.
Windows always has DirectSound pre-installed and its version is greater
than required (IIRC javasoundds requires DirectX 5).
For now failure of libjsound loading is fatal (see
com.sun.media.sound.Platform.loadLibraries()), loading of extra libs is
non-fatal.
I believe libjsound loading failure should be made non-fatal, then all
the functionality will remain the same as we have now.
--alex
/Magnus
-phil.
On 03/15/2018 12:06 PM, Alex Menkov wrote:
On 03/15/2018 11:44, Magnus Ihse Bursie wrote:
On 2018-03-15 18:23, Phil Race wrote:
I wondered if that might be the case since it was a "BSD" port .. using X11 ..
Maybe we should be getting rid of them ?
I agree, we should delete them. I just shuffled them around in the hope that
they would be useful for a potential future bsd port, but if/when that happens,
we can dig them out from mercurial.
A short explanation of how the files moved. The sound library is apparently
composed of either a single library (solaris and macosx) or two libraries
(linux and windows). Two building blocks, MIDI + ports and DirectAudio is used
for all platforms, but they go into either the main library (libjsound) or the
helper library.
For Windows, MIDI+Ports go into libjsound, and DirectAudio go into libjsoundds.
On Linux, MIDI+Ports and DirectAudio go into libjsoundalsa. On Macosx and
Solaris, MIDI+Ports and DirectAudio go into the main libjsound.
I have no idea why this split is necessary, but this is how the libraries de
facto is compiled, and the code needs to match that. If it would be possible to
move libjsoundds and libjsoundalsa into libjsound directly, things would be
greatly simplified.
As far as I know the split was made to dynamically load ALSA/DirectSound stuff.
If it's not available (or old unsupported version is installed), libjsound
stuff continues to work (in pre-OpenJDK libjsound supported WaveIn/WaveOut on
Windows and OSS on Linux).
For now Windows (DirectSound) libjsoundds stuff can be merged into libjsound,
but I'm not sure we can rely on ALSA is always available on Linux (but most
likely if ALSA is not available, libjsound does not provide any functionality,
so I suppose libjsoundalsa stuff can be moved to libjsound as well)
--alex
/Magnus
-phil.
On 03/15/2018 10:21 AM, Erik Joelsson wrote:
Digging a bit, those files came with the initial Macosx support. It doesn't
look like they were ever used.
/Erik
On 2018-03-15 09:53, Phil Race wrote:
It is very hard to follow all the moved around files, but one thing
that sticks out is there is a "bsd" directory created and I can't
work out how the files in there are used.
If they are for a BSD port of OpenJDK where is rest of the support for that ?
On 03/15/2018 07:20 AM, Erik Joelsson wrote:
Looks good to me. I tried cleaning this up before but failed to find a
reasonable split, but this seems like a good split between common and library
specific.
/Erik
On 2018-03-14 18:12, Magnus Ihse Bursie wrote:
I forgot to add the client mailing lists as recipients. Sorry. (Not sure if "sounds" belong to
"awt" or "2d".)
In fact, there is a sound-specific list, which I've added.
-phil.
/Magnus
On 2018-03-15 02:07, Magnus Ihse Bursie wrote:
From the bug description:
Moving this to a separate bug from JDK-8055190. In SoundLibraries.gmk, the
source code splitting is not complete. The directory libjsound is used to build
not only libjsound but libjsoundalsa and libjsoundds, and thus needs a complex
include/exclude system like before.
I have tested this using COMPARE_BUILD. Windows and solaris are completely
clean. On macosx, there's a binary diff (but nothing else) on libjsound.dylib.
On linux, some offset seems to have changed, which caused a slight change in
disass and fulldump for libjsound.so. I'm not quite sure what's causing it, but
I'm convinced it's harmless.
Bug: https://bugs.openjdk.java.net/browse/JDK-8071469
WebRev:
http://cr.openjdk.java.net/~ihse/JDK-8071469-cleanup-sound-libs/webrev.01
/Magnus