A few discs have an aacs folder with a unit_key_ro.inf file
consisting only of NULL bytes and only unencrypted content in
BDMV/STREAM directory.
This case can be detected on their always identical discid value
In case such a disc is deteced return AACS_SUCCESS to allow
playback of disc.
Reason of change: https://github.com/OpenELEC/OpenELEC.tv/pull/4378
---
 src/libaacs/aacs.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/libaacs/aacs.c b/src/libaacs/aacs.c
index 1bd8ad5..5de09ac 100644
--- a/src/libaacs/aacs.c
+++ b/src/libaacs/aacs.c
@@ -1067,6 +1067,10 @@ int aacs_open_device(AACS *aacs, const char *path, const 
char *configfile_path)
     error_code = _calc_title_hash(aacs);
     if (error_code != AACS_SUCCESS) {
         return error_code;
+    } else if (!memcmp(aacs->disc_id, 
"\xEC\x6A\xFE\x5D\xF8\xA1\x32\x50\x68\xB9\x53\x13\xF8\x2B\xD7\x2C\x09\xD4\xF9\x63",
 20)) {
+        /* in case the unit_key_ro.inf contains only NULL byte values it's 
SHA1 hash is 'ec6afe5df8a1325068b95313f82bd72c09d4f963' */
+        BD_DEBUG(DBG_AACS, "Detected 0-Byte AACS file - no AACS processing 
necessary\n");
+        return AACS_SUCCESS;
     }
 
     cf = keydbcfg_config_load(configfile_path);
-- 
2.6.3.windows.1

_______________________________________________
libaacs-devel mailing list
libaacs-devel@videolan.org
https://mailman.videolan.org/listinfo/libaacs-devel

Reply via email to