Commit 6e767ab2 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Contribs: update dvdread to a new fork

(cherry picked from commit 8cbd52ac8a500a96378a35f74be12c6d73b50d18)
Signed-off-by: default avatarJean-Baptiste Kempf <jb@videolan.org>
parent 146cbed9
--- dvdread/misc/dvdread.pc.in.orig 2011-11-25 11:13:16.573585109 -0500
+++ dvdread/misc/dvdread.pc.in 2011-11-25 11:01:31.390088283 -0500
@@ -8,4 +8,4 @@
Version: @VERSION@
Cflags: -I${includedir}
-Libs: -L${libdir} -ldvdread
+Libs: -L${libdir} -ldvdread @CSS_LIBS@
--- dvdread/src/Makefile.am.orig 2011-11-25 11:20:16.287666356 -0500
+++ dvdread/src/Makefile.am 2011-11-25 11:20:24.147705328 -0500
@@ -10,7 +10,7 @@
dvd_input.c dvd_udf.c md5.c nav_print.c ifo_print.c bitreader.c \
bswap.h dvd_input.h dvdread_internal.h dvd_udf.h md5.h bitreader.h
-libdvdread_la_LIBADD = $(DYNAMIC_LD_LIBS)
+libdvdread_la_LIBADD = $(DYNAMIC_LD_LIBS) @CSS_LIBS@
libdvdread_la_LDFLAGS = -version-info $(DVDREAD_LT_CURRENT):$(DVDREAD_LT_REVISION):$(DVDREAD_LT_AGE) \
-export-symbols-regex "(^dvd.*|^nav.*|^ifo.*|^DVD.*|^UDF.*)"
--- dvdread/configure.ac.orig 2011-11-25 10:59:00.953342325 -0500
+++ dvdread/configure.ac 2011-11-25 11:21:26.732015667 -0500
@@ -137,12 +137,13 @@
dnl ---------------------------------------------
dnl dynamic linker
dnl ---------------------------------------------
+AC_ARG_ENABLE([libdvdcss], [ --enable-libdvdcss force linking against libdvdcss])
+
+CSS_LIBS=""
+if test x"$enable_libdvdcss" != xyes; then
+dnl dlopen libdvdcss
case $host in
- *mingw32*)
- CFLAGS="-idirafter \$(top_srcdir)/msvc/include $CFLAGS"
- LDFLAGS="-no-undefined $LDFLAGS"
- ;;
- *cygwin*)
+ *mingw32* | *cygwin*)
LDFLAGS="-no-undefined $LDFLAGS"
;;
*os2*)
@@ -157,6 +158,18 @@
AC_SUBST(DYNAMIC_LD_LIBS)
;;
esac
+else
+dnl link with libdvdcss
+ CSS_LIBS=-ldvdcss
+ case "${host}" in
+ *darwin*) CSS_LIBS="${CSS_LIBS} -Wl,-framework,CoreFoundation -Wl,-framework,IOKit"
+ ;;
+ esac
+ AC_CHECK_LIB(dvdcss, dvdcss_interface_2,, AC_MSG_ERROR(You need libdvdcss.so.2 or later), "${CSS_LIBS}")
+ AC_CHECK_HEADERS(dvdcss/dvdcss.h,, AC_MSG_ERROR(You need libdvdcss (dvdcss.h)))
+fi
+
+AC_SUBST(CSS_LIBS)
dnl ---------------------------------------------
dnl cflags
Index: dvdread/src/dvd_reader.c
===================================================================
--- dvdread/src/dvd_reader.c (revision 1157)
+++ dvdread/src/dvd_reader.c (working copy)
@@ -34,6 +34,7 @@
#include <limits.h>
#include <dirent.h>
+#if 0
/* misc win32 helpers */
#ifdef WIN32
#ifndef HAVE_GETTIMEOFDAY
@@ -52,6 +53,7 @@
#include <io.h> /* read() */
#define lseek64 _lseeki64
#endif
+#endif
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__DARWIN__)
#define SYS_BSD 1
Index: dvdread/src/dvdread/ifo_types.h
===================================================================
--- dvdread/src/dvdread/ifo_types.h (révision 1188)
......@@ -31,3 +11,21 @@ Index: dvdread/src/dvdread/ifo_types.h
#define PRAGMA_PACK 0
#endif
#endif
--- dvdread/src/dvd_reader.c 2013-02-05 20:17:01.886086564 +0100
+++ dvdread.new/src/dvd_reader.c 2013-02-05 20:06:19.694145718 +0100
@@ -36,6 +36,7 @@
/* misc win32 helpers */
#ifdef WIN32
#include <windows.h>
+#if 0
#ifndef HAVE_GETTIMEOFDAY
/* replacement gettimeofday implementation */
#include <sys/timeb.h>
@@ -52,6 +53,7 @@
#include <io.h> /* read() */
#define lseek64 _lseeki64
#endif
+#endif
#if defined(__FreeBSD__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__bsdi__) || defined(__APPLE__)
#define SYS_BSD 1
--- dvdread.orig/src/dvd_reader.c 2012-03-15 09:29:40.000000000 -0400
+++ dvdread/src/dvd_reader.c 2012-03-15 09:32:29.000000000 -0400
@@ -58,6 +58,10 @@
#if defined(__sun)
#include <sys/mnttab.h>
+#elif defined(__APPLE__)
+#include <sys/param.h>
+#include <sys/ucred.h>
+#include <sys/mount.h>
#elif defined(SYS_BSD)
#include <fstab.h>
#elif defined(__linux__)
@@ -474,7 +478,28 @@
path_copy[1] = '\0';
}
-#if defined(SYS_BSD)
+#if defined(__APPLE__)
+ struct statfs s[128];
+ int r = getfsstat(NULL, 0, MNT_NOWAIT);
+ if (r > 0) {
+ if (r > 128)
+ r = 128;
+ r = getfsstat(s, r * sizeof(s[0]), MNT_NOWAIT);
+ int i;
+ for (i=0; i<r; i++) {
+ if (!strcmp(path_copy, s[i].f_mntonname)) {
+ dev_name = bsd_block2char(s[i].f_mntfromname);
+ fprintf( stderr,
+ "libdvdread: Attempting to use device %s"
+ " mounted on %s for CSS authentication\n",
+ dev_name,
+ s[i].f_mntonname);
+ auth_drive = DVDOpenImageFile( dev_name, have_css );
+ break;
+ }
+ }
+ }
+#elif defined(SYS_BSD)
if( ( fe = getfsfile( path_copy ) ) ) {
dev_name = bsd_block2char( fe->fs_spec );
fprintf( stderr,
# DVDREAD
LIBDVDREAD_VERSION := 4.2.0
LIBDVDREAD_URL := http://dvdnav.mplayerhq.hu/releases/libdvdread-$(LIBDVDREAD_VERSION).tar.bz2
# LIBDVDREAD_VERSION := 4.2.0
# LIBDVDREAD_URL := http://dvdnav.mplayerhq.hu/releases/libdvdread-$(LIBDVDREAD_VERSION).tar.bz2
DVDREAD_GITURL := git://git.videolan.org/libdvdread
LIBDVDREAD_VERSION := git
ifdef BUILD_DISCS
PKGS += dvdread
......@@ -10,15 +12,18 @@ ifeq ($(call need_pkg,"dvdread"),)
PKGS_FOUND += dvdread
endif
$(TARBALLS)/libdvdread-$(LIBDVDREAD_VERSION).tar.bz2:
$(call download,$(LIBDVDREAD_URL))
$(TARBALLS)/libdvdread-git.tar.xz:
$(call download_git,$(DVDREAD_GITURL))
.sum-dvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.bz2
# $(TARBALLS)/libdvdread-$(LIBDVDREAD_VERSION).tar.bz2:
# $(call download,$(LIBDVDREAD_URL))
dvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.bz2 .sum-dvdread
.sum-dvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.xz
$(warning $@ not implemented)
touch $@
dvdread: libdvdread-$(LIBDVDREAD_VERSION).tar.xz .sum-dvdread
$(UNPACK)
$(APPLY) $(SRC)/dvdread/dvdread-css-static.patch
$(APPLY) $(SRC)/dvdread/osx.patch
ifdef HAVE_WIN32
$(APPLY) $(SRC)/dvdread/dvdread-win32.patch
endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment