[Bug 274860] multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 274860] multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 274860] multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk"
- Reply: bugzilla-noreply_a_freebsd.org: "[Bug 274860] multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 02 Nov 2023 02:17:33 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=274860 Bug ID: 274860 Summary: multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk Product: Ports & Packages Version: Latest Hardware: amd64 OS: Any Status: New Severity: Affects Some People Priority: --- Component: Individual Port(s) Assignee: ports-bugs@FreeBSD.org Reporter: luckandfortune.1@gmail.com The first error from BD_DEBUG is: "aacs.c:464: Unable to open AACS/Content000.cer" This comes from: file/file_posix.c and the function: *_file_open BD_DEBUG(DBG_FILE, "Error opening file %s\n", filename). The call which fails is "open(filename, flags, mode)" where flags is O_RDONLY, and mode is 0 Inserting a call to perror() shows that the error is "Not a directory" the first filepath which fails to open is: /dev/cd0/AACS/Content000.cer running "file -s /dev/cd0" results in "/dev/cd0: data" Attempting to mount the disc fails. I'm not sure what the cause of this error is, or the right way to correct it. I suspect it's related to mounting the disc, but I figured it might be worth logging as a bug, as the disc will play without needing to mount it under certain circumstances described below. --- Additional detail where the disc plays --- Using vlc 1. Compile multimedia/vlc with blu-ray support enabled. 2. Acquire information required to use libaacs with the disc: 2.a. Device Key 2.b. Processing keys 2.c. Host Certificate 2.d. Volume unique key (VUK) for the disc in question 3. Place required information in $HOME/.config/aacs/KEYDB.cfg. 4. Play the Disc: a. Insert disc into blu-ray player b. Play the disc using vlc i. Click "Media" > "Open Disc" > "Blu-ray" ii. Choose disc device to be /dev/cd0 The player will play the disc, If the file $HOME/.config/aacs/KEYDB.cfg contains a VUK for the disc being played. (a light on the blu-ray player indicates it is being used) If not, it will give the stated error. -- Additional Considerations -- 1. Excluded hardware issues by passing through the blu-ray player to Linux using passthrough on a Linux bhyve VM. Linux, using vlc and libaacs, does play the disc by calculating the VUK using the other information. The above description of where the disc plays and errors are based on testing with FreeBSD. 2. a. aacs_info, called alone, fails to get information from the disc, when using a KEYDB.cfg file that includes a VUK, producing the following: aacs_info /dev/cd0 $HOME/.config/aacs/KEYDB.cfg -> results in Opening /dev/cd0 using libaacs 0.11.1 ... aacs.c:464: Unable to open AACS/Content000.cer aacs.c:464: Unable to open AACS/Content001.cer aacs.c:1143: Failed to read content certificate file aacs.c:1152: Failed to read Bus Encryption Enabled flag from content certificate file aacs.c:464: Unable to open AACS/Unit_Key_RO.inf aacs.c:464: Unable to open AACS/DUPLICATE/Unit_Key_RO.inf aacs.c:1121: Failed to read unit key file (AACS/Unit_Key_RO.inf) libaacs open failed: Corrupt disc mmc_device_linux.c:188: Only block devices supported aacs.c:1545: aacs_get_vid() failed By way of clarification, the errors are a result of the call to "open" failing. The disc is not corrupt. b. bd_info, from libbluray, does succeed. bd_info /dev/cd0 $HOME/.config/aacs/KEYDB.cfg -> results in aacs_handled : yes So a circumstance where playback works is that vlc will play a movie using the hardware, without mounting the disc, through libbluray, if a VUK is in KEYDB.cfg. -- You are receiving this mail because: You are the assignee for the bug.