Java for BD-J menus

This is the result of the latest vpeter on any bluray:

2020-06-18 15:08:17.612 T:4067209232 NOTICE: VideoPlayer::OpenFile: smb://REDACTED.iso
2020-06-18 15:08:17.613 T:3681047424 NOTICE: Creating InputStream
2020-06-18 15:08:17.653 T:3681047424 ERROR: CDVDInputStreamBluray::Open - failed to open in stream mode
2020-06-18 15:08:17.653 T:3681047424 ERROR: CVideoPlayer::OpenInputStream - error opening [smb://REDACTED.iso]
2020-06-18 15:08:17.653 T:3681047424 NOTICE: CVideoPlayer::OnExit()
2020-06-18 15:08:17.741 T:4067209232 NOTICE: CVideoPlayer::CloseFile()

9.2.2-vpeter same.

The only version that’s working for me here is 9.2.2-official.
Tried to play ISO files from rclone mount, which would show for Kodi as local files, same result.

If pull #17173 was critical to fixing your UHD blurays, I don’t see it having been backported to Leia.

With Coreelec 9.2.3 official as well as 9.2.3-vepeter I just get the message ā€œDisc is encryptedā€. Are there any special requirements or options necessary to play original BDs?

You would need a KEYS database to be setup for AACS. Please google KEYSDB.cfg and AACS as I’m not sure that information can be posted here.

Edit :: Forgot the ā€œDBā€ in the file name.

Where shall I put this file so that libaacs can use it?

~/.config/aacs

Now it works, thanks. Is it just for BD or also UHD-BD?

What do I need to test BD-J menu? Is 9.2.3-vpeter.tar (update) and JRE addon sufficient or do I need to copy some .jar files to a certain folder?

Adding the JRE would be the minimum. vpeter’s build is using a newer libbluray, so more discs should work for it. With vpeter’s build you would still need to add the JRE.

I was hopping vpeter used my PR.
But it seems he only used the DV layer fix, menus fix.

by the way, his builds are the only ones that I’m managing to get Java to be recognized inside kodi.

A easy way to tell is to go to disc settings, change to play main movie and revert back to play with menus.
If you get a screen saying Java is not present it is not.

One thing that I don’t understand is if JAVA_HOME is set by JRE.ZULU, why
$ java -version
doesn’t work on console?

And finally about the disc error:
The error I’m getting is in relation to:

if (openStream)
{
if (!bd_open_stream(m_bd, m_pstream.get(), read_blocks))
{
CLog::Log(LOGERROR, ā€œCDVDInputStreamBluray::Open - failed to open %s in stream modeā€, CURL::GetRedacted(root).c_str());
return false;
}
}

I have vpeter’s build and JRE addon. I can play most physical original BDs with menu. Menu play of BD-iso’s or folder structures doesn’t work neither started from file manager nor started from Movies. Is there a special way to use it with hdd?

We are having the exact same problem, it’s because how CoreElec is trying to read the ISOs.

JAVA_HOME points to java root folder and not to the bin.

From what I’m reading I need another patch to include or what?

Does it mean that with 9.2.2 playback of BD-ISO with BD-J menu’s is possible?

Ok, I think I have things figured out:
v4 can play everything including DV but it lacks the chapters fix and the subtitles fix.

You need to do the follow (I can do it, if a compile guide for CoreElec is available)

  1. Revert the bus encryption patch. (this SHOULD fix the iso problem)
  2. Add the chapter patch
    https://github.com/xbmc/xbmc/commit/42b0f0521392b860153bdd5f3d3ea8b13c9751f4
    which I believe you already have for V5 and the more recent one.
  3. Add subtitle langue patch that Pelican was talking about.

I’m not entirely sure since I don’t know exactly what changed since v4.

I’m not sure how that works. The bus encryption patch doesn’t impact the code path that would get you to openstream. That code path is the same for Kodi 18.6 and 18.7. Openstream is used for making ISO files on SMB shares work, which is what you are trying to do. So you should be at that call.

I’m not entirely sure as I mentioned.

Here Jogal (another one developing for Kodi) mentions the ISO problem:
https://forum.kodi.tv/showthread.php?tid=349861&pid=2936067#pid2936067

EDIT:
Reverted master branch commits to 18-feb to fix ISO BluRay bug.

Not sure exactly which commit was merged on 18 of feb to cause this.

Those commits Jogal mentions are in master, not Leia. 9.2.2 and 9.2.3 use the Leia branch. Also that was in response to the error stating that the ā€œUDFā€ protocol was unsupported.

So the issue would be something else. It’s probably a change @ bd_open_stream() or below.

Will try to build something. Will take some time because I just deleted branch (by accident) :frowning:

@vpeter, do you recall if your build had that cdio bump still?

A v4 with subtitles language fix and chapters fix would be a really good partial solution until we figure out what happened.

I’m looking at CoreElec git and checking the commits since may 8th (v4 date).
Have you added anything else besides the patches available on your gdrive?