Skip site navigation (1)Skip section navigation (2)
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>