[libbluray-devel] Removed linking against libaacs/libbdplus

hpi1 git at videolan.org
Tue Nov 15 18:50:43 CET 2011


libbluray | branch: master | hpi1 <hpi1 at anonymous.org> | Mon Nov 14 21:26:09 2011 +0200| [03b7af965bbdcd356ec068351234c9f013cae845] | committer: hpi1

Removed linking against libaacs/libbdplus

> http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=03b7af965bbdcd356ec068351234c9f013cae845
---

 configure.ac           |   35 +++--------------------------------
 src/libbluray/bluray.c |   48 +-----------------------------------------------
 2 files changed, 4 insertions(+), 79 deletions(-)

diff --git a/configure.ac b/configure.ac
index 0bc428b..273a81f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,17 +29,10 @@ esac
 # messages
 library_not_found="Could not find required library!"
 function_not_found="Could not find required function!"
-using_dlopen_crypto_libs="Using libaacs and libbdplus via dlopen."
-using_normal_linking="Using libaacs and libbdplus via normal linking."
 libxml2_missing="Could not find libxml2 - disclib meta parser disabled."
 pkg_config_missing="Could not find pkg-config.  Assuming..."
 
 # configure options
-AC_ARG_WITH([dlopen-crypto-libs],
-  [AS_HELP_STRING([--with-dlopen-crypto-libs],
-  [use libaacs and libbdplus via dlopen (default is auto)])],
-  [use_dlopen_crypto_libs=$withval],
-  [use_dlopen_crypto_libs=auto])
 
 AC_ARG_WITH([jdk],
   AS_HELP_STRING([--with-jdk=DIR],
@@ -122,33 +115,11 @@ fi
 if test "${SYS}" != "mingw32" ; then
   AC_CHECK_FUNCS(
     [dlopen],
-    [DLOPEN_LDFLAGS=""; have_dlopen="yes"],
+    [DLOPEN_LDFLAGS=""],
     [AC_CHECK_LIB([dl], [dlopen],
-      [DLOPEN_LDFLAGS="-ldl"; have_dlopen="yes"],
-      [have_dlopen="no"])])
-else
-  have_dlopen="yes"
-fi
-
-# dlopen check
-if [[ $use_dlopen_crypto_libs = "auto" ]]; then
-  use_dlopen_crypto_libs=$have_dlopen
-fi
-if [[ $use_dlopen_crypto_libs = "yes" ]]; then
-  if [[ $have_dlopen = "no" ]]; then
-    AC_MSG_ERROR($library_not_found)
-  fi
-  AC_MSG_NOTICE($using_dlopen_crypto_libs)
-  AC_DEFINE([DLOPEN_CRYPTO_LIBS], [1], ["Define to 1 if dlopening crypto libs"])
-else
-  AC_CHECK_LIB([aacs], [aacs_open],,
-    [AC_MSG_ERROR($library_not_found)])
-  AC_CHECK_LIB([bdplus], [bdplus_init],,
-    [AC_MSG_ERROR($library_not_found)])
-  AC_MSG_NOTICE($using_normal_linking)
+      [DLOPEN_LDFLAGS="-ldl"],
+      [AC_MSG_ERROR($library_not_found)])])
 fi
-AM_CONDITIONAL([DLOPEN_CRYPTO_LIBS],
-  [test $use_dlopen_crypto_libs = "auto" || test $use_dlopen_crypto_libs = "yes"])
 
 # check for pkg-config itself so we don't try the m4 macro without pkg-config
 AC_CHECK_PROG(HAVE_PKG_CONFIG, pkg-config, yes)
diff --git a/src/libbluray/bluray.c b/src/libbluray/bluray.c
index 9699f58..c56d61d 100644
--- a/src/libbluray/bluray.c
+++ b/src/libbluray/bluray.c
@@ -36,17 +36,11 @@
 #include "hdmv/hdmv_vm.h"
 #include "decoders/graphics_controller.h"
 #include "file/file.h"
-#ifdef DLOPEN_CRYPTO_LIBS
 #include "file/dl.h"
-#endif
 #ifdef USING_BDJAVA
 #include "bdj/bdj.h"
 #endif
 
-#ifndef DLOPEN_CRYPTO_LIBS
-#include <libaacs/aacs.h>
-#include <libbdplus/bdplus.h>
-#endif
 #include <stdlib.h>
 #include <inttypes.h>
 #include <string.h>
@@ -121,17 +115,13 @@ struct bluray {
     uint64_t       next_chapter_start;
 
     /* aacs */
-#ifdef DLOPEN_CRYPTO_LIBS
     void           *h_libaacs;   // library handle
-#endif
     void           *aacs;
     fptr_p_void    libaacs_open;
     fptr_int       libaacs_decrypt_unit;
 
     /* BD+ */
-#ifdef DLOPEN_CRYPTO_LIBS
     void           *h_libbdplus; // library handle
-#endif
     void           *bdplus;
     fptr_p_void    bdplus_init;
     fptr_int32     bdplus_seek;
@@ -151,18 +141,13 @@ struct bluray {
     GRAPHICS_CONTROLLER *graphics_controller;
 };
 
-#ifdef DLOPEN_CRYPTO_LIBS
-#    define DL_CALL(lib,func,param,...)             \
+#define DL_CALL(lib,func,param,...)             \
      do {                                           \
           fptr_p_void fptr = (fptr_p_void)dl_dlsym(lib, #func);  \
           if (fptr) {                               \
               fptr(param, ##__VA_ARGS__);           \
           }                                         \
       } while (0)
-#else
-#    define DL_CALL(lib,func,param,...)         \
-     func (param, ##__VA_ARGS__)
-#endif
 
 /*
  * Navigation mode event queue
@@ -540,12 +525,10 @@ static void _libaacs_unload(BLURAY *bd)
 {
     _libaacs_close(bd);
 
-#ifdef DLOPEN_CRYPTO_LIBS
     if (bd->h_libaacs) {
         dl_dlclose(bd->h_libaacs);
         bd->h_libaacs = NULL;
     }
-#endif
 
     bd->libaacs_open         = NULL;
     bd->libaacs_decrypt_unit = NULL;
@@ -575,7 +558,6 @@ static int _libaacs_required(BLURAY *bd)
 
 static int _libaacs_load(BLURAY *bd)
 {
-#ifdef DLOPEN_CRYPTO_LIBS
     if (bd->h_libaacs) {
         return 1;
     }
@@ -604,16 +586,6 @@ static int _libaacs_load(BLURAY *bd)
     _libaacs_unload(bd);
 
     return 0;
-
-#else
-    BD_DEBUG(DBG_BLURAY, "Using libaacs via normal linking\n");
-
-    bd->libaacs_open         = &aacs_open;
-    bd->libaacs_decrypt_unit = &aacs_decrypt_unit;
-    bd->disc_info.libaacs_detected = 1;
-
-    return 1;
-#endif
 }
 
 static int _libaacs_open(BLURAY *bd, const char *keyfile_path)
@@ -648,16 +620,12 @@ static int _libaacs_open(BLURAY *bd, const char *keyfile_path)
 static uint8_t *_libaacs_get_vid(BLURAY *bd)
 {
     if (bd->aacs) {
-#ifdef DLOPEN_CRYPTO_LIBS
         fptr_p_void fptr = (fptr_p_void)dl_dlsym(bd->h_libaacs, "aacs_get_vid");
         if (fptr) {
             return (uint8_t*)fptr(bd->aacs);
         }
         BD_DEBUG(DBG_BLURAY, "aacs_get_vid() dlsym failed! (%p)", bd);
         return NULL;
-#else
-        return aacs_get_vid(bd->aacs);
-#endif
     }
 
     BD_DEBUG(DBG_BLURAY, "_libaacs_get_vid(): libaacs not initialized! (%p)", bd);
@@ -676,12 +644,10 @@ static void _libbdplus_unload(BLURAY *bd)
 {
     _libbdplus_close(bd);
 
-#ifdef DLOPEN_CRYPTO_LIBS
     if (bd->h_libbdplus) {
         dl_dlclose(bd->h_libbdplus);
         bd->h_libbdplus = NULL;
     }
-#endif
 
     bd->bdplus_init  = NULL;
     bd->bdplus_seek  = NULL;
@@ -714,7 +680,6 @@ static int _libbdplus_load(BLURAY *bd)
 {
     BD_DEBUG(DBG_BDPLUS, "attempting to load libbdplus\n");
 
-#ifdef DLOPEN_CRYPTO_LIBS
     if (bd->h_libbdplus) {
         return 1;
     }
@@ -743,17 +708,6 @@ static int _libbdplus_load(BLURAY *bd)
     _libbdplus_unload(bd);
 
     return 0;
-
-#else
-    BD_DEBUG(DBG_BLURAY,"Using libbdplus via normal linking\n");
-
-    bd->bdplus_init  = &bdplus_init;
-    bd->bdplus_seek  = &bdplus_seek;
-    bd->bdplus_fixup = &bdplus_fixup;
-    bd->disc_info.libbdplus_detected = 1;
-
-    return 1;
-#endif
 }
 
 static int _libbdplus_open(BLURAY *bd, const char *keyfile_path)



More information about the libbluray-devel mailing list