Opened 7 years ago
Last modified 6 years ago
#54661 new enhancement
Blu-Ray playback
Reported by: | RJVB (René Bertin) | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | haspatch | Cc: | jeremyhu (Jeremy Huddleston Sequoia), vladashram |
Port: | libbluray libbdplus |
Description (last modified by mf2k (Frank Schima))
I'm in the process of improving Blu-Ray playback support, ultimately in VLC but the main work is being done in libbluray and libaacs. I thought it'd be OK if not better to create a single enhancement ticket for this, attaching multiple diffs.
The changes to port:libbdplus and port:libbluray have probably stabilised:
port:libbdplus
- add an explicit depspec for libaacs to avoid opportunistic dependencies
- remove the obsolete --disable-examples configure argument
- fix the livecheck regex
port:libbluray
- upgrade to 1.0.1 (not yet mentioned on the homepage!)
- fix the livecheck regex
- add ${prefix}/lib to the internal dlopen search path
- remove obsolute --enable-udf option and enable building the example (the
bd_info
utility) - add a +bdjava variant which is required for supporting java-based menus in VLC
The latter was a bit tricky: building the variant requires having a JDK installed (AFAIK only Oracle provides a working one for Mac). Just running would of course work with a JRE but there's a catch-22 there. The only JRE I know of (JavaAppletPlugin) is also provided by Oracle. I'd love to propose making +bdjava the default because why install this port if you're not interested in Blu-Ray playback. But that would require raising an error if that JavaAppletPlugin isn't installed (the build will fail out of itself if no JDK is installed).
Attachments (6)
Change History (15)
Changed 7 years ago by RJVB (René Bertin)
Attachment: | libbdplus.diff added |
---|
Changed 7 years ago by RJVB (René Bertin)
Attachment: | libbluray.diff added |
---|
Changed 7 years ago by RJVB (René Bertin)
Attachment: | patch-bdj-mac.diff added |
---|
Changed 7 years ago by RJVB (René Bertin)
Attachment: | patch-lib-locs.diff added |
---|
Changed 7 years ago by RJVB (René Bertin)
Attachment: | patch-bdj_jarfile-loc.diff added |
---|
comment:1 Changed 7 years ago by RJVB (René Bertin)
comment:2 Changed 7 years ago by mf2k (Frank Schima)
Port: | libbluray, libbdplus → libbluray libbdplus |
---|
comment:3 Changed 7 years ago by mf2k (Frank Schima)
Description: | modified (diff) |
---|
comment:4 follow-up: 6 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Why remove --disable-examples? IIRC, the example code is not installed.
comment:5 Changed 7 years ago by jeremyhu (Jeremy Huddleston Sequoia)
Otherwise, it all looks fine to me.
Does MP actually work reasonably well on linux? I wouldn't expect that...
comment:6 Changed 7 years ago by RJVB (René Bertin)
Replying to jeremyhu:
Why remove --disable-examples? IIRC, the example code is not installed.
That's because there isn't any, and the option raises a warning ;)
MP as in Blu-Ray (BD) playback? Actually, I'd say it works best there with these projects, which probably isn't surprising since they're mostly developed there.
A propos, my grappling with libaacs has to do exactly with that: BD playback apparently requires drive access using the MMC protocol to get at certain encryption key details. I'm getting a strong impression that IOKit only supports that for writer devices, not for playback-only (= I can get the MMDevice IOCFPlugin for my internal "SuperDisk" but not for my USB BD-Rom player). I'd appreciate pointers to get around that, if anyone has an idea. (Details are in libaacs's file/mmc_device_darwin.c).
In short, the current state of affairs is that BD playback in VLC works on Mac (as on Linux), but only when I copy the disc's aacs/vuk cache entry over from Linux.
comment:7 Changed 7 years ago by RJVB (René Bertin)
Confirmation of my MMC analysis, and a suggestion that it should be possible to work around the crippled IOKit API:
http://www.makemkv.com/osxmmc/
Sadly that's not a FOSS project...
comment:8 Changed 7 years ago by RJVB (René Bertin)
Going a bit beyond what I'd thought: uploading a new port:aacs_updater
, a port of the AACS Updater
utility from labDV.com .
This little tool allows you to synchronise your local KEYDB.cfg file with a remote database, downloading new entries provided by others and possibly uploading any new entries libaacs may have registered locally (= the feature that currently doesn't work on Mac). Ported from Win32 by yours truly.
A companion patch (including an upgrade) to
port:libaacs
is in preparation; everything doesn't work yet.NB: actual playback of BDs requires downloading and installing a file with keys and the like, following online instructions. I'll be putting a link to instructions in the port notes, not to the file itself.