Date: Thu, 02 Nov 2023 02:17:33 +0000 From: bugzilla-noreply@freebsd.org To: ports-bugs@FreeBSD.org Subject: [Bug 274860] multimedia/libaacs - Failure to open device and read files/play movie on blu-ray disk Message-ID: <bug-274860-7788@https.bugs.freebsd.org/bugzilla/>
next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D274860 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 i= t. 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 p= lay 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 us= ing 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" fail= ing. 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. --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-274860-7788>