Skip to content
Snippets Groups Projects

[3.0.x backport] bluray: add a custom JAVA_HOME setting for BD-J

Open Massimo Eynard requested to merge masstock/vlc:3.0.x-bdj-settings into 3.0.x
1 unresolved thread

Cherry picked from commits a5a1049e and befb2d0a.

Original message of the merge request (6121):

Add an option to request a specific JAVA_HOME location for BD-J applications. This require libbluray 1.3.0.

Merge request reports

Members who can merge are allowed to add commits.

Merge request pipeline #520870 passed

Merge request pipeline passed for 434ad77a

Approval is optional
Merge blocked: 2 checks failed

Merge details

  • The source branch is 542 commits behind the target branch.
  • 2 commits will be added to 3.0.x.
  • Source branch will be deleted.

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
    • That seems very user-hostile. How the hell would they know what home to pick?

      And don't tell me it's for LibVLC apps. Plugin options are explicitly not for LibVLC apps. If an app wants to embed its own Java, it might as well set the good old environment variable.

    • At least for VLC we need that option. libbluray is using an old version of java with a lot of deprecated stuff. I can't even build it on my Debian with the default JDK (see !5355). It's possible at some point some of these deprecated things will be gone from the current JDK and we need a way to point VLC to a more compliant Java version.

      The environment variable won't work in some cases, for example I'm not sure you can make an alias of a program on macOS and changing its environment. And even if you could IMO it's more user hostile than setting the value inside the VLC options.

    • Author Contributor

      To run BD-J content, libbluray looks for an installed JRE in the most likely locations. This search can currently only be guided by changing the JAVA_HOME environment variable. But this is system wide change, and cause problem when multiple JRE are present (ping pong variable definitions each time switching between VLC and any other Java app). As Steve Lhomme points out, this will be an even more serious issue when OpenJDK 8 support will end.

      The purpose of this advanced option is to allow the user to definitively specify the JAVA_HOME he wants the libbluray to use directly in VLC without modifying the environment variable (which is imo more user friendly than this external parameter, as it is not even documented in VLC). By default this option is not set, which means that the default (current) auto-detection behavior is used (it is indicated in the help bubble), so no change for unaware users.

    • I can sort of get the point for devs, but that's not motivation for backporting.

      For users, this is simply not going to work. You can't expect normal users to know about this setting and how to set it.

    • If people want bluray menus, they already have to know they need to install a JRE. So either they don't have one and there's nothing to do after they instal one. But maybe later they install one that doesn't work anymore with bluray and we need a way to point (just) VLC to the old JRE still installed.

      Either they have one, but in the far future it doesn't work with libbluray either. We also need a way to point (just) VLC to the old JRE still installed.

      It may not be necessary now, but it might in the future. It will be too late to make a release just for that.

    • Please register or sign in to reply
  • changed milestone to %3.0.x maintenance

  • added MRStatus::Stale label and removed MRStatus::InReview label

Please register or sign in to reply
Loading