[15] RFR: JDK-8246094: [macos] Sound Recording and playback is not working
Erik Joelsson
erik.joelsson at oracle.com
Tue Jul 21 19:24:43 UTC 2020
Here is a late fix for Macos Catalina. In JDK-8244951, I added a missing
entitlement to enable sound recording with the hardened runtime signing.
It was later discovered that this wasn't quite enough. To be able to
record sound you also need to specify a certain key in your Info.plist,
NSMicrophoneUsageDescription. The value of this field is displayed to
the user the first time the JDK wants to record sound. We also
discovered that the way the JDK is laid out in the Macos specific bundle
format, the global Info.plist is not actually considered when looking
for this particular key, but rather the plist info we embed in the java
executable.
This patch adds the new key to all the affected plists (JDK global, JRE
global and the one being embedded in executables). We also noted that
the bundle ID and version numbers had an effect on how this key was
resolved, and to get somewhat better behavior, I'm also unifying the
embedded values for those keys (which were hard coded today) with what
we already put in the global Info.plist for the JDK. A followup bug
where we more fully explore what the CFBundleIdentifier, CFBundleVersion
and CFBundleShortVersionString values should actually be is planned for
a later release.
With this fix, it's now verified possible to record sound on a Macos
Catalina machine.
Webrev: http://cr.openjdk.java.net/~erikj/8246094/webrev.01/index.html
Bug: https://bugs.openjdk.java.net/browse/JDK-8246094
/Erik
More information about the build-dev
mailing list