Page 1 of 1

Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 11 Feb 2018 00:38
by BrianG61UK
I have Oracle Java JRE 8u161 both 32 and 64 installed and JAVA_HOME points to the 64 bit JRE (actually to the "jre1.8.0_161" directory) but when I try to play a blu-ray with a java menu I get "This blue-ray disc requires Java for support.Java was not found on your system...".
Image
Is there any way to fix that?
(I mean so that the menus work, not so that there's a space after the full stop in the error message :lol:)

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 17 Feb 2018 18:38
by BrianG61UK
Hello?

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 18 Feb 2018 01:32
by candela
it works for me (JAVA_HOME=C:\Program Files\Java\jre1.8.0_161). If I change the java_home var I get the same error as you. Since your java_home is pointing to the 64-bit version of java, are you sure you are using the 64-bit version of VLC ?

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 18 Feb 2018 04:27
by BrianG61UK
I have:

C:\>echo %JAVA_HOME%
"C:\Program Files\Java\jre1.8.0_161"

C:\>

Do you have it without the quotes perhaps?

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 18 Feb 2018 10:07
by candela
I see no quotes, neither with the echo %JAVA_HOME% command or SET JAVA_HOME command

goto control panel/system/advanced/environment variables to change it permanently

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 18 Feb 2018 16:02
by BrianG61UK
I'll try.
But I probably put the quotes there because something else required them because of the space between Program and Files.

It's pretty poor that VLC is so fussy about the format of JAVA_HOME.

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 26 Feb 2018 02:25
by BrianG61UK
I used

set JAVA_HOME=C:\PROGRA~1\Java\jre1.8.0_161

in the end.

Seems to work.

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 25 Jan 2019 18:08
by narawuti
I've tried the JAVA_HOME definition as quoted, unquoted, and the old DOS format as above. No joy.
The VLC log puts out:
libbluray error: BD-J menus not supported. Playing without menus. BD-J support: 1, JVM found: 0, JVM usable: 0

So, the problem is in the bluray library.

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 26 Jan 2019 10:11
by Jean-Baptiste Kempf
This is usually 32bits jvm vs 64bits jvm

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 25 May 2020 20:10
by hypermog
For the 64-bit version of VLC I had to install the 64 bit version of Java. Then I used this command in a command prompt:

set "JAVA_HOME=C:\Program Files\Java\jre1.8.0_251"

and it works now

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 25 Aug 2021 23:58
by PaulPope
I am also trying to get blu-ray menus to work.

Windows 10 win64 bit
VLC v3.0.16 win64 bit
Java JRE jre1.8.0_301 win64 bit

When I try to run with blu-ray menus I get the error message: "This blue-ray disc requires Java for support.Java was not found on your system..."

Enabling debug on libbluray gives me the following error messages:
src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\jre\bin\server\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\bin\server\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\jre\bin\client\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\bin\client\jvm': The specified module could not be found.

I have verified the C:\Program Files\Java\jre1.8.0_301\bin\server\jvm.dll file is there but the libbluray module is not recognizing it.

I noticed the libbluray error message included "dl_win32" so even though it is a 64bit version of VLC, libbluray it seems to be looking for a win32 version of Java JRE. So I downloaded the win32 version of the same Java JRE into the C:\Program Files (x86) directory and this time I got the error messages:

src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\jre\bin\server\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\bin\server\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\jre\bin\client\jvm': The specified module could not be found.
src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\bin\client\jvm': %1 is not a valid Win32 application.

Once again, I am confident that the C:\Progra~2\Java\jre1.8.0_301\bin\client\jvm.dll file is the proper win32 version of the JRE but libbluray is finding it this time but not recognizing it as win32.

It seems like the 64bit version of VLC is using a win32 version of libbluray and that is causing it to not work with both the 64bit and win32 versions of JRE.

Any help would be appreciated.

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 26 Aug 2021 11:16
by Lotesdelere
Enter these commands in a command prompt window:

set "JAVA_HOME=C:\Program Files\Java\jre1.8.0_301"

set "JAVA_HOME=C:\Program Files (x86)\Java\jre1.8.0_301"

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 26 Aug 2021 16:02
by PaulPope
Thanks for the suggestion Lotesdelere.

I have already been setting the JAVA_HOME environment variable to change between the win64-bit Java JRE and the win32-bit version. You can see from the two different debug statements that it is working and is pointing to the 2 different environments:

src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\bin\server\jvm': The specified module could not be found. -> Win64-bit JRE in C:\Program Files\Java\jre1.8.0_301 directory
src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\bin\client\jvm': %1 is not a valid Win32 application. -> Win32-bit JRE in C:\Program Files (x86)\Java\Java\jre1.8.0_301 directory

The issues are that when I point JAVA_HOME to the Win64-bit version of JRE it does not seem to recognize the jvm.dll file in C:\Program Files\Java\jre1.8.0_301\bin\server and when I point JAVA_HOME to the Win32-bit version of the JRE it finds the jvm.dll file but does not accept it as a valid Win32-bit application.

Looking for feedback on a few potential causes and next steps:
1. Could using libmmdb from Makemkv be causing libbluray to look for Win-32-bit dll libraries even though VLC is Win64-bit?
2. Is the version of libbluray including in the Win64-bit version of VLC the wrong version (i.e. Win32-bit)?
3. Should I use JDK instead of JRE?

Thanks all.

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 27 Aug 2021 09:55
by Lotesdelere
src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\bin\server\jvm': The specified module could not be found. -> Win64-bit JRE in C:\Program Files\Java\jre1.8.0_301 directory
src/file/dl_win32.c:91: can't open library 'C:\Progra~2\Java\jre1.8.0_301\bin\client\jvm': %1 is not a valid Win32 application. -> Win32-bit JRE in C:\Program Files (x86)\Java\Java\jre1.8.0_301 directory

The issues are that when I point JAVA_HOME to the Win64-bit version of JRE it does not seem to recognize the jvm.dll file in C:\Program Files\Java\jre1.8.0_301\bin\server and when I point JAVA_HOME to the Win32-bit version of the JRE it finds the jvm.dll file but does not accept it as a valid Win32-bit application.

Looks like VLC doesn't see the .dll extension of the Java engine file for some reason.


Should I use JDK instead of JRE?

I don't think so, but you should create a new ticket on the VLC Trac with your above report and the link to this thread:
https://code.videolan.org/videolan/vlc/-/issues

Re: Win64 VLC 3.0.0 - Java blu-ray menus how?

Posted: 29 Aug 2021 01:56
by PaulPope
Thanks for your response again Lotesdelere.

I finally got it working. I was unable to get JRE 1.8.0_301 or JDK 16.0.2 working with libbluray and it would only give the "src/file/dl_win32.c:91: can't open library 'C:\Program Files\Java\jre1.8.0_301\bin\server\jvm': The specified module could not be found." error message in the debug file.

So I downloaded an older version of JRE 1.8.0_251 and it worked. So libbluray does not work with the current latest jvm.dll files in the JRE and JDK.

I will report a bug in VLC Trac.