]> git.sesse.net Git - vlc/commitdiff
dvdnav: support for new incarnation hosted in mplayerhq
authorDamien Fouilleul <damienf@videolan.org>
Mon, 12 Nov 2007 14:44:20 +0000 (14:44 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Mon, 12 Nov 2007 14:44:20 +0000 (14:44 +0000)
extras/contrib/src/Makefile
extras/contrib/src/Patches/libdvdnav-20050211-win32.patch [deleted file]
extras/contrib/src/Patches/libdvdnav-mactel.patch [deleted file]
extras/contrib/src/Patches/libdvdnav.patch [new file with mode: 0644]
extras/contrib/src/Patches/libdvdread-20041028-win32.patch [deleted file]
extras/contrib/src/Patches/libdvdread.patch [deleted file]
extras/contrib/src/packages.mak

index 2fc794893319754202b5fc2f6db243ccf5e8f0f1..056e7303412ce9d0587d49085daa7f260c46da9e 100644 (file)
@@ -1142,7 +1142,9 @@ DISTCLEAN_PKG += libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
 # ***************************************************************************
 .dvdread: .dvdnav
        $(INSTALL_NAME)
-       (install_name_tool -change $(PREFIX)/lib/libdvdread.0.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib)
+ifdef HAVE_DARWIN_OS
+       install_name_tool -change $(PREFIX)/lib/libdvdread.4.dylib @executable_path/lib/vlc_libdvdread.dylib $(PREFIX)/vlc-lib/vlc_libdvdnav.dylib
+endif
        touch $@
 
 CLEAN_FILE += .dvdread
@@ -1151,14 +1153,20 @@ CLEAN_FILE += .dvdread
 # libdvdnav
 # ***************************************************************************
 
+ifdef SVN
+libdvdnav:
+       $(SVN) export $(LIBDVDNAV_SVN)  libdvdnav
+       patch -p0 < Patches/libdvdnav.patch
+       (cd $@; ./autogen.sh noconfig)
+else
 libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2:
        $(WGET) $(LIBDVDNAV_URL)
 
 libdvdnav: libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
        $(EXTRACT_BZ2)
-       patch -p0 < Patches/dvdnav.patch
-       patch -p0 < Patches/libdvdnav-mactel.patch
+       patch -p0 < Patches/libdvdnav.patch
        (cd $@; ./autogen.sh noconfig)
+endif
 
 .dvdnav: libdvdnav .dvdcss
 ifdef HAVE_WIN32       
diff --git a/extras/contrib/src/Patches/libdvdnav-20050211-win32.patch b/extras/contrib/src/Patches/libdvdnav-20050211-win32.patch
deleted file mode 100644 (file)
index 047dc90..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-Index: configure.ac
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/configure.ac,v
-retrieving revision 1.22
-diff -u -r1.22 configure.ac
---- configure.ac       3 Jan 2005 20:24:21 -0000       1.22
-+++ configure.ac       11 Feb 2005 11:08:09 -0000
-@@ -171,6 +171,12 @@
- esac
- dnl ---------------------------------------------
-+dnl enable builtin libdvdread
-+dnl ---------------------------------------------
-+AC_ARG_ENABLE(builtin-dvdread,
-+[  --disable-builtin-dvdread       use external libdvdread (default builtin)])
-+
-+dnl ---------------------------------------------
- dnl cflags
- dnl ---------------------------------------------
- dnl Common cflags for all platforms
-@@ -218,13 +224,20 @@
- fi
- AC_SUBST(DEPCOMP)
-+if test "${enable_builtin_dvdread}" != "no"; then
-+  BUILTIN_DVDREAD=dvdread
-+  BUILTIN_DVDREAD_LIB='$(top_builddir)/src/dvdread/libdvdread.la'
-+  AC_SUBST(BUILTIN_DVDREAD)
-+  AC_SUBST(BUILTIN_DVDREAD_LIB)
-+  AC_OUTPUT([src/dvdread/Makefile])
-+fi
-+
- dnl ---------------------------------------------
- dnl Output configuration files
- dnl ---------------------------------------------
- AC_OUTPUT([
- Makefile 
- src/Makefile
--src/dvdread/Makefile
- src/vm/Makefile
- misc/Makefile
- misc/dvdnav-config
-Index: src/Makefile.am
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/Makefile.am,v
-retrieving revision 1.28
-diff -u -r1.28 Makefile.am
---- src/Makefile.am    3 Jan 2005 20:24:21 -0000       1.28
-+++ src/Makefile.am    11 Feb 2005 11:08:09 -0000
-@@ -1,6 +1,6 @@
- include $(top_srcdir)/misc/Makefile.common
--SUBDIRS = dvdread vm
-+SUBDIRS = $(BUILTIN_DVDREAD) vm
- includedir = ${prefix}/include/dvdnav
-@@ -17,7 +17,7 @@
-       dvdnav_internal.h read_cache.h remap.h
- libdvdnav_la_LIBADD = $(THREAD_LIBS) \
--      $(top_builddir)/src/dvdread/libdvdread.la \
-+      $(BUILTIN_DVDREAD_LIB) \
-       $(top_builddir)/src/vm/libdvdvm.la
- libdvdnav_la_LDFLAGS = \
-Index: src/dvdnav.c
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/dvdnav.c,v
-retrieving revision 1.65
-diff -u -r1.65 dvdnav.c
---- src/dvdnav.c       15 Dec 2004 21:16:58 -0000      1.65
-+++ src/dvdnav.c       11 Feb 2005 11:08:09 -0000
-@@ -31,7 +31,6 @@
- #include "dvdnav_internal.h"
- #include "read_cache.h"
--#include "nav_read.h"
- #include <stdlib.h>
- #include <stdio.h>
-Index: src/dvdnav.h
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/dvdnav.h,v
-retrieving revision 1.31
-diff -u -r1.31 dvdnav.h
---- src/dvdnav.h       9 Jun 2003 15:17:44 -0000       1.31
-+++ src/dvdnav.h       11 Feb 2005 11:08:10 -0000
-@@ -33,16 +33,19 @@
- extern "C" {
- #endif
-+#include <inttypes.h>
-+
-+#include <dvdread/dvd_reader.h>
-+#include <dvdread/nav_types.h>
-+#include <dvdread/nav_read.h>
-+#include <dvdread/ifo_types.h> /* For vm_cmd_t */
-+
- #ifdef DVDNAV_COMPILE
- #  include "dvdnav_events.h"
- #  include "dvd_types.h"
--#  include "dvd_reader.h"
--#  include "ifo_types.h" /* For vm_cmd_t */
- #else
- #  include <dvdnav/dvdnav_events.h>
- #  include <dvdnav/dvd_types.h>
--#  include <dvdnav/dvd_reader.h>
--#  include <dvdnav/ifo_types.h> /* For vm_cmd_t */
- #endif
-Index: src/dvdnav_events.h
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/dvdnav_events.h,v
-retrieving revision 1.12
-diff -u -r1.12 dvdnav_events.h
---- src/dvdnav_events.h        27 Apr 2003 01:26:18 -0000      1.12
-+++ src/dvdnav_events.h        11 Feb 2005 11:08:10 -0000
-@@ -28,10 +28,6 @@
- #ifndef DVDNAV_EVENTS_H_INCLUDED
- #define DVDNAV_EVENTS_H_INCLUDED
--#include "ifo_types.h"
--#include "dvd_reader.h"
--#include "nav_types.h"
--
- /*
-  * DVDNAV_BLOCK_OK
-Index: src/highlight.c
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/highlight.c,v
-retrieving revision 1.32
-diff -u -r1.32 highlight.c
---- src/highlight.c    20 Jan 2004 01:22:24 -0000      1.32
-+++ src/highlight.c    11 Feb 2005 11:08:10 -0000
-@@ -26,7 +26,6 @@
- #endif
- #include <assert.h>
--#include "nav_types.h"
- #include "dvdnav_internal.h"
- /*
-Index: src/remap.c
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/remap.c,v
-retrieving revision 1.4
-diff -u -r1.4 remap.c
---- src/remap.c        27 Aug 2003 13:54:19 -0000      1.4
-+++ src/remap.c        11 Feb 2005 11:08:10 -0000
-@@ -189,7 +189,11 @@
-     remap_t *map;
-     /* Build the map filename */
--    home = getenv("HOME"); assert(home);
-+    home = getenv("HOME");
-+    if (!home) {
-+      fprintf(MSG_OUT, "libdvdnav: Unable to find map for title '%s'\n", title);
-+      return NULL;
-+    }
-     strncpy(fname, home, sizeof(fname));
-     strncat(fname, "/.dvdnav/", sizeof(fname));
-     strncat(fname, title, sizeof(fname));
-Index: src/vm/decoder.c
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/vm/decoder.c,v
-retrieving revision 1.2
-diff -u -r1.2 decoder.c
---- src/vm/decoder.c   3 Mar 2004 16:50:42 -0000       1.2
-+++ src/vm/decoder.c   11 Feb 2005 11:08:10 -0000
-@@ -31,7 +31,6 @@
- #include <stdlib.h>
- #include <inttypes.h>
- #include <string.h>  /* For memset */
--#include "ifo_types.h" /* vm_cmd_t */
- #include "dvdnav_internal.h"
-Index: src/vm/decoder.h
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/vm/decoder.h,v
-retrieving revision 1.1
-diff -u -r1.1 decoder.h
---- src/vm/decoder.h   11 Jan 2004 21:43:13 -0000      1.1
-+++ src/vm/decoder.h   11 Feb 2005 11:08:10 -0000
-@@ -28,7 +28,7 @@
- #include <inttypes.h>
- #include <sys/time.h>
--#include "ifo_types.h" /*  vm_cmd_t */
-+#include <dvdread/ifo_types.h> /*  vm_cmd_t */
- #include "dvdnav_internal.h"
- /* link command types */
-Index: src/vm/vm.c
-===================================================================
-RCS file: /cvsroot/dvd/libdvdnav/src/vm/vm.c,v
-retrieving revision 1.11
-diff -u -r1.11 vm.c
---- src/vm/vm.c        16 Jan 2005 16:47:05 -0000      1.11
-+++ src/vm/vm.c        11 Feb 2005 11:08:11 -0000
-@@ -38,13 +38,17 @@
- #include <sys/stat.h>
- #include <fcntl.h>
--#include "ifo_types.h"
--#include "ifo_read.h"
-+/* from dvdread */
-+#include <dvdread/ifo_types.h>
-+#include <dvdread/ifo_read.h>
- #include "dvdnav_internal.h"
- #ifdef _MSC_VER
- #include <io.h>   /* read() */
-+#elif defined(WIN32)
-+#   define lseek _lseeki64
-+#   define off_t int64_t
- #endif /* _MSC_VER */
- /*
-diff -Naur Makefile.am Makefile.am
---- Makefile.am       2004-10-26 19:26:07.000000000 +0200
-+++ Makefile.am   2005-09-02 15:05:20.000000000 +0200
-@@ -2,7 +2,7 @@
-
- AUTOMAKE_OPTIONS = 1.3
-
--SUBDIRS = src examples doc misc m4
-+SUBDIRS = src misc m4
-
- EXTRA_DIST = autogen.sh \
-             AUTHORS \
-
---- misc/dvdnav-config.in      2003-04-27 03:26:17.000000000 +0200
-+++ misc/dvdnav-config.in      2005-09-21 20:27:06.000000000 +0200
-@@ -76,5 +76,5 @@
- fi
- if test "$echo_libs" = "yes"; then
--      echo -L@libdir@ -ldvdnav @THREAD_LIBS@
-+      echo -L@libdir@ -ldvdnav @THREAD_LIBS@ -ldvdread -ldvdcss
- fi      
diff --git a/extras/contrib/src/Patches/libdvdnav-mactel.patch b/extras/contrib/src/Patches/libdvdnav-mactel.patch
deleted file mode 100644 (file)
index 3fba1c3..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-diff -puriN libdvdnav-orig/src/dvdread/bswap.h libdvdnav/src/dvdread/bswap.h
---- libdvdnav-orig/src/dvdread/bswap.h 2006-01-26 23:26:43.000000000 +0100
-+++ libdvdnav/src/dvdread/bswap.h      2006-01-26 23:27:57.000000000 +0100
-@@ -59,6 +59,12 @@
- #define B2N_32(x) x = be32toh(x)
- #define B2N_64(x) x = be64toh(x)
-+#elif defined(__APPLE__)
-+#include <libkern/OSByteOrder.h>
-+#define B2N_16(x) x = OSSwapBigToHostConstInt16(x)
-+#define B2N_32(x) x = OSSwapBigToHostConstInt32(x)
-+#define B2N_64(x) x = OSSwapBigToHostConstInt64(x)
-+
- /* This is a slow but portable implementation, it has multiple evaluation 
-  * problems so beware.
-  * Old FreeBSD's and Solaris don't have <byteswap.h> or any other such 
diff --git a/extras/contrib/src/Patches/libdvdnav.patch b/extras/contrib/src/Patches/libdvdnav.patch
new file mode 100644 (file)
index 0000000..e8c7611
--- /dev/null
@@ -0,0 +1,229 @@
+diff -r -u libdvdnav-4.1.1/configure.ac libdvdnav/configure.ac
+--- libdvdnav-4.1.1/configure.ac       2007-05-01 11:11:52.000000000 +0100
++++ libdvdnav/configure.ac     2007-11-12 11:40:20.406250000 +0000
+@@ -130,6 +130,11 @@
+ AC_C_BIGENDIAN
+ dnl ---------------------------------------------
++dnl Check for basic *nix fonction that we may emulate on other OS
++dnl ---------------------------------------------
++AC_CHECK_FUNCS(gettimeofday)
++
++dnl ---------------------------------------------
+ dnl threads
+ dnl ---------------------------------------------
+ case $host in
+@@ -150,25 +155,61 @@
+ AC_SUBST(THREAD_CFLAGS)
+ dnl ---------------------------------------------
+-dnl dynamic linker
++dnl dvdcss checking
+ dnl ---------------------------------------------
+-case $host in
+-  *mingw32*)
+-    CFLAGS="-idirafter \$(top_srcdir)/msvc/include $CFLAGS"
+-    LDFLAGS="-no-undefined $LDFLAGS"
+-    ;;
+-  *cygwin*)
+-    LDFLAGS="-no-undefined $LDFLAGS"
+-    ;;
+-  *)
+-    AC_CHECK_LIB(c, dlopen,
+-               DYNAMIC_LD_LIBS="",
+-               AC_CHECK_LIB(dl, dlopen,
+-                            DYNAMIC_LD_LIBS="-ldl",
+-                            AC_MSG_ERROR(dynamic linker needed)))
+-    AC_SUBST(DYNAMIC_LD_LIBS)
+-    ;;
+-esac
++AC_ARG_WITH( [libdvdcss],
++    [  --with-libdvdcss[=PATH]    force linking against libdvdcss],
++    [if test x"$withval" != xno; then
++       link_dvdcss=yes
++     fi
++     if test x"$withval" != xyes; then
++       dvdcss_path=$withval
++     fi])
++
++if test x"$link_dvdcss" != xyes; then
++dnl dlopen libdvdcss
++  AC_CHECK_FUNC( dlopen,
++    [DL_LIBS="" ],
++    AC_CHECK_LIB( dl, dlopen,
++      [DL_LIBS=-ld ],
++      AC_MSG_ERROR(You need libdl (dlopen))
++    )
++  )
++else
++dnl link with libdvdcss
++  if test -z "$dvdcss_path"; then
++    AC_CHECK_LIB(dvdcss, dvdcss_interface_2,
++      [ CSS_LIBS=-ldvdcss ],
++      AC_MSG_ERROR(You need libdvdcss.so.2 or later)
++    )
++    AC_CHECK_HEADERS(dvdcss/dvdcss.h,
++      [ ],
++      AC_MSG_ERROR(You need libdvdcss (dvdcss.h))
++    )
++  else
++    saved_CFLAGS=$CFLAGS
++    CFLAGS="$CFLAGS -L$dvdcss_path/lib"
++    AC_CHECK_LIB(dvdcss, dvdcss_interface_2,
++      [ CSS_LIBS="-L$dvdcss_path/lib -R$dvdcss_path/lib -ldvdcss"
++        CSS_CFLAGS=-I$dvdcss_path/include ],
++      AC_MSG_ERROR(You need libdvdcss.so.2 or later)
++    )
++    CFLAGS=$saved_CFLAGS
++    dnl -w added to shutup GCC3.1's cpp warning about -I/usr/local
++    saved_CPPFLAGS=$CPPFLAGS
++    CPPFLAGS="-w $CPPFLAGS -I$dvdcss_path/include"
++    AC_CHECK_HEADERS(dvdcss/dvdcss.h,
++      [ ],
++      AC_MSG_ERROR(You need libdvdcss (dvdcss.h))
++    )
++    CPPFLAGS=$saved_CPPFLAGS
++  fi
++fi
++
++AC_SUBST(DL_LIBS)
++AC_SUBST(CSS_LIBS)
++AC_SUBST(CSS_CFLAGS)
++ 
+ dnl ---------------------------------------------
+ dnl cflags
+diff -r -u libdvdnav-4.1.1/src/dvdnav_internal.h libdvdnav/src/dvdnav_internal.h
+--- libdvdnav-4.1.1/src/dvdnav_internal.h      2007-04-21 12:56:41.000000000 +0100
++++ libdvdnav/src/dvdnav_internal.h    2007-11-12 11:42:26.046875000 +0000
+@@ -39,6 +39,7 @@
+ #define pthread_mutex_unlock(a)  LeaveCriticalSection(a)
+ #define pthread_mutex_destroy(a)
++#ifndef HAVE_GETTIMEOFDAY
+ /* replacement gettimeofday implementation */
+ #include <sys/timeb.h>
+ static inline int _private_gettimeofday( struct timeval *tv, void *tz )
+@@ -50,6 +51,8 @@
+   return 0;
+ }
+ #define gettimeofday(TV, TZ) _private_gettimeofday((TV), (TZ))
++#endif
++
+ #include <io.h> /* read() */
+ #define lseek64 _lseeki64
+diff -r -u libdvdnav-4.1.1/src/dvdread/bswap.h libdvdnav/src/dvdread/bswap.h
+--- libdvdnav-4.1.1/src/dvdread/bswap.h        2007-05-05 11:32:13.000000000 +0100
++++ libdvdnav/src/dvdread/bswap.h      2007-11-12 11:17:38.343750000 +0000
+@@ -81,14 +81,14 @@
+       (((x) & 0x0000ff00) <<  8) | \
+       (((x) & 0x000000ff) << 24))
+ #define B2N_64(x) \
+- x = ((((x) & 0xff00000000000000) >> 56) | \
+-      (((x) & 0x00ff000000000000) >> 40) | \
+-      (((x) & 0x0000ff0000000000) >> 24) | \
+-      (((x) & 0x000000ff00000000) >>  8) | \
+-      (((x) & 0x00000000ff000000) <<  8) | \
+-      (((x) & 0x0000000000ff0000) << 24) | \
+-      (((x) & 0x000000000000ff00) << 40) | \
+-      (((x) & 0x00000000000000ff) << 56))
++ x = ((((x) & 0xff00000000000000LL) >> 56) | \
++      (((x) & 0x00ff000000000000LL) >> 40) | \
++      (((x) & 0x0000ff0000000000LL) >> 24) | \
++      (((x) & 0x000000ff00000000LL) >>  8) | \
++      (((x) & 0x00000000ff000000LL) <<  8) | \
++      (((x) & 0x0000000000ff0000LL) << 24) | \
++      (((x) & 0x000000000000ff00LL) << 40) | \
++      (((x) & 0x00000000000000ffLL) << 56))
+ #else
+diff -r -u libdvdnav-4.1.1/src/dvdread/dvd_input.c libdvdnav/src/dvdread/dvd_input.c
+--- libdvdnav-4.1.1/src/dvdread/dvd_input.c    2007-04-19 16:45:30.000000000 +0100
++++ libdvdnav/src/dvdread/dvd_input.c  2007-11-12 11:19:57.984375000 +0000
+@@ -27,6 +27,11 @@
+ #include "dvd_reader.h"
+ #include "dvd_input.h"
++#ifdef WIN32
++#   define lseek _lseeki64
++#   undef off_t
++#   define off_t int64_t
++#endif
+ /* The function pointers that is the exported interface of this file. */
+ dvd_input_t (*dvdinput_open)  (const char *);
+diff -r -u libdvdnav-4.1.1/src/vm/vm.c libdvdnav/src/vm/vm.c
+--- libdvdnav-4.1.1/src/vm/vm.c        2007-04-25 00:06:22.000000000 +0100
++++ libdvdnav/src/vm/vm.c      2007-11-12 11:35:55.859375000 +0000
+@@ -135,24 +135,25 @@
+ }
+ #endif
++#include <dvdread/dvd_input.h>
++
+ static void dvd_read_name(char *name, const char *device) {
+     /* Because we are compiling with _FILE_OFFSET_BITS=64
+      * all off_t are 64bit.
+      */
+     off_t off;
+-    int fd, i;
++    dvd_input_t fd; int i;
+     uint8_t data[DVD_VIDEO_LB_LEN];
+     /* Read DVD name */
+-    fd = open(device, O_RDONLY);
++    fd = dvdinput_open(device);
+     if (fd > 0) { 
+-      off = lseek( fd, 32 * (off_t) DVD_VIDEO_LB_LEN, SEEK_SET );
+-      if( off == ( 32 * (off_t) DVD_VIDEO_LB_LEN ) ) {
+-        off = read( fd, data, DVD_VIDEO_LB_LEN ); 
+-        close(fd);
+-        if (off == ( (off_t) DVD_VIDEO_LB_LEN )) {
++      off = dvdinput_seek( fd, 16 );
++      if( off == 16 ) {
++        off = dvdinput_read( fd, data, 1, DVDINPUT_NOFLAGS ); 
++        if (off == 1 ) {
+           fprintf(MSG_OUT, "libdvdnav: DVD Title: ");
+-          for(i=25; i < 73; i++ ) {
++          for(i=40; i < 73; i++ ) {
+             if((data[i] == 0)) break;
+             if((data[i] > 32) && (data[i] < 127)) {
+               fprintf(MSG_OUT, "%c", data[i]);
+@@ -160,10 +161,12 @@
+               fprintf(MSG_OUT, " ");
+             }
+           }
+-          strncpy(name, &data[25], 48);
+-          name[48] = 0;
++        strncpy(name, &data[40], 32);
++        i=31;
++        while( (i >= 0) && (name[i] <= ' ')) --i;
++        name[i+1] = '\0';
+           fprintf(MSG_OUT, "\nlibdvdnav: DVD Serial Number: ");
+-          for(i=73; i < 89; i++ ) {
++          for(i=813; i < 829; i++ ) {
+             if((data[i] == 0)) break;
+             if((data[i] > 32) && (data[i] < 127)) {
+               fprintf(MSG_OUT, "%c", data[i]);
+@@ -187,7 +190,7 @@
+       } else {
+         fprintf(MSG_OUT, "libdvdnav: Can't seek to block %u\n", 32 );
+       }
+-      close(fd);
++      dvdinput_close(fd);
+     } else {
+     fprintf(MSG_OUT, "NAME OPEN FAILED\n");
+   }
+--- libdvdnav-4.1.1/examples/Makefile.am       2004-01-11 21:43:13.000000000 +0000
++++ libdvdnav/examples/Makefile.am     2007-11-12 12:44:09.328125000 +0000
+@@ -8,7 +8,7 @@
+ menus_SOURCES = menus.c
+ menus_LDFLAGS = -L$(top_srcdir)/src/
+-menus_LDADD   = $(DVDNAV_LIB)
++menus_LDADD   = $(DVDNAV_LIB) $(CSS_LIBS)  
+ $(DVDNAV_LIB):
+       @cd $(top_builddir)/src/ && $(MAKE) libdvdnav.la
diff --git a/extras/contrib/src/Patches/libdvdread-20041028-win32.patch b/extras/contrib/src/Patches/libdvdread-20041028-win32.patch
deleted file mode 100644 (file)
index ebc5a68..0000000
+++ /dev/null
@@ -1,112 +0,0 @@
-? winwx.sh
-Index: configure.in
-===================================================================
-RCS file: /cvsroot/ogle/libdvdread/configure.in,v
-retrieving revision 1.24
-diff -u -r1.24 configure.in
---- configure.in       5 Jul 2003 18:30:25 -0000       1.24
-+++ configure.in       2 Sep 2004 13:43:23 -0000
-@@ -77,6 +77,11 @@
-       [ ],
-       AC_MSG_ERROR(You need libdvdcss (dvdcss.h))
-     )
-+    case "x${host}" in
-+    x*mingw32* | x*cygwin*)
-+    CSS_LIBS=-ldvdcss
-+    ;;
-+    x*)
-     AC_MSG_CHECKING([for dvdcss_interface_2 in -ldvdcss])
-     saved_LDFLAGS=$LDFLAGS
-     LDFLAGS="$LDFLAGS -ldvdcss"
-@@ -88,6 +93,8 @@
-         ] )
-     LDFLAGS=$saved_LDFLAGS
-     AC_MSG_RESULT([yes])
-+    ;;
-+    esac
-   else
-     dnl -w added to shutup GCC3.1's cpp warning about -I/usr/local
-     saved_CPPFLAGS=$CPPFLAGS
-@@ -99,6 +106,12 @@
-     CPPFLAGS=$saved_CPPFLAGS
-     saved_CFLAGS=$CFLAGS
-     CFLAGS="$CFLAGS -I$dvdcss_path/include -L$dvdcss_path/lib -ldvdcss"
-+    case "x${host}" in
-+    x*mingw32* | x*cygwin*)
-+    CSS_LIBS="-L$dvdcss_path/lib -R$dvdcss_path/lib -ldvdcss"
-+    CSS_CFLAGS=-I$dvdcss_path/include
-+    ;;
-+    x*)
-     AC_MSG_CHECKING([for dvdcss_interface_2 in -ldvdcss])
-     AC_TRY_LINK([#include <dvdcss/dvdcss.h>], 
-                 [if(!dvdcss_interface_2) { return 1; }],
-@@ -109,6 +122,8 @@
-         ] )
-     CFLAGS=$saved_CFLAGS
-     AC_MSG_RESULT([yes])
-+    ;;
-+    esac
-   fi
- fi
-Index: dvdread/bswap.h
-===================================================================
-RCS file: /cvsroot/ogle/libdvdread/dvdread/bswap.h,v
-retrieving revision 1.10
-diff -u -r1.10 bswap.h
---- dvdread/bswap.h    18 Jun 2003 13:35:03 -0000      1.10
-+++ dvdread/bswap.h    2 Sep 2004 13:43:25 -0000
-@@ -85,14 +85,14 @@
-       (((x) & 0x0000ff00) <<  8) | \
-       (((x) & 0x000000ff) << 24))
- #define B2N_64(x) \
-- x = ((((x) & 0xff00000000000000) >> 56) | \
--      (((x) & 0x00ff000000000000) >> 40) | \
--      (((x) & 0x0000ff0000000000) >> 24) | \
--      (((x) & 0x000000ff00000000) >>  8) | \
--      (((x) & 0x00000000ff000000) <<  8) | \
--      (((x) & 0x0000000000ff0000) << 24) | \
--      (((x) & 0x000000000000ff00) << 40) | \
--      (((x) & 0x00000000000000ff) << 56))
-+ x = ((((x) & 0xff00000000000000LL) >> 56) | \
-+      (((x) & 0x00ff000000000000LL) >> 40) | \
-+      (((x) & 0x0000ff0000000000LL) >> 24) | \
-+      (((x) & 0x000000ff00000000LL) >>  8) | \
-+      (((x) & 0x00000000ff000000LL) <<  8) | \
-+      (((x) & 0x0000000000ff0000LL) << 24) | \
-+      (((x) & 0x000000000000ff00LL) << 40) | \
-+      (((x) & 0x00000000000000ffLL) << 56))
- #else
-Index: dvdread/dvd_input.c
-===================================================================
-RCS file: /cvsroot/ogle/libdvdread/dvdread/dvd_input.c,v
-retrieving revision 1.8
-diff -u -r1.8 dvd_input.c
---- dvdread/dvd_input.c        4 Apr 2004 20:02:27 -0000       1.8
-+++ dvdread/dvd_input.c        2 Sep 2004 13:43:25 -0000
-@@ -21,11 +21,23 @@
- #include <stdio.h>
- #include <stdlib.h>
-+
-+#if defined(HAVE_INTTYPES_H)
-+#include <inttypes.h>
-+#elif defined(HAVE_STDINT_H)
-+#include <stdint.h>
-+#endif
-+
- #include <fcntl.h>
- #include <unistd.h>
- #include "dvd_reader.h"
- #include "dvd_input.h"
-+
-+#ifdef WIN32
-+#   define lseek _lseeki64
-+#   define off_t int64_t
-+#endif
- /* The function pointers that is the exported interface of this file. */
- dvd_input_t (*dvdinput_open)  (const char *);
diff --git a/extras/contrib/src/Patches/libdvdread.patch b/extras/contrib/src/Patches/libdvdread.patch
deleted file mode 100644 (file)
index 357a7fb..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-diff -ru libdvdread-0.9.4/dvdread/bswap.h libdvdread/dvdread/bswap.h
---- libdvdread-0.9.4/dvdread/bswap.h   2002-12-15 01:09:12.000000000 +0100
-+++ libdvdread/dvdread/bswap.h 2005-08-31 19:24:57.000000000 +0200
-@@ -65,7 +65,7 @@
-  * functionality! 
-  */
--#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32)
-+#elif defined(__FreeBSD__) || defined(__sun) || defined(__bsdi__) || defined(WIN32) || defined( __BEOS__ )
- #define B2N_16(x) \
-  x = ((((x) & 0xff00) >> 8) | \
-       (((x) & 0x00ff) << 8))
-diff -ru libdvdread-0.9.4/dvdread/dvd_reader.c libdvdread/dvdread/dvd_reader.c
---- libdvdread-0.9.4/dvdread/dvd_reader.c      2003-02-13 23:31:21.000000000 +0100
-+++ libdvdread/dvdread/dvd_reader.c    2005-08-31 19:24:57.000000000 +0200
-@@ -324,8 +324,7 @@
-     else
- #endif
-     {
--        ret = stat( path, &fileinfo );
--        if( ret < 0 ) {
-+        if( *path && (ret = stat( path, &fileinfo ) < 0) ) {
-           /* If we can't stat the file, give up */
-           fprintf( stderr, "libdvdread: Can't stat %s\n", path );
-           perror("");
-@@ -315,7 +314,7 @@
-     have_css = dvdinput_setup();
-     /* First check if this is a block/char device or a file*/
--    if( S_ISBLK( fileinfo.st_mode ) || 
-+    if( !*path || S_ISBLK( fileinfo.st_mode ) || 
-       S_ISCHR( fileinfo.st_mode ) || 
-       S_ISREG( fileinfo.st_mode ) ) {
-@@ -344,14 +343,16 @@
-       /* Resolve any symlinks and get the absolut dir name. */
-       {
-+          char *current_path;
-           char *new_path;
--          int cdir = open( ".", O_RDONLY );
--          
--          if( cdir >= 0 ) {
-+
-+          current_path = getcwd( NULL, PATH_MAX );
-+          if( current_path ) {
-               chdir( path_copy );
-               new_path = getcwd( NULL, PATH_MAX );
--              fchdir( cdir );
--              close( cdir );
-+              chdir( current_path );
-+              free( current_path );
-+
-               if( new_path ) {
-                   free( path_copy );
-                   path_copy = new_path;
-@@ -504,10 +505,12 @@
-             sprintf( filename, "%s%s%s", path,
-                      ( ( path[ strlen( path ) - 1 ] == '/' ) ? "" : "/" ),
-                      ent->d_name );
-+            closedir( dir );
-             return 0;
-         }
-     }
-+    closedir( dir );
-     return -1;
- }
index 387a073b0372dae0455123615dc5a4c96599935c..2907ef62fa6ae3126a55a443fa20a5c15a199ba0 100644 (file)
@@ -97,8 +97,9 @@ FFMPEG_URL=$(SF)/ffmpeg/ffmpeg-$(FFMPEG_VERSION).tar.gz
 FFMPEG_SVN=svn://svn.mplayerhq.hu/ffmpeg/trunk
 LIBDVDCSS_VERSION=1.2.9
 LIBDVDCSS_URL=$(VIDEOLAN)/libdvdcss/$(LIBDVDCSS_VERSION)/libdvdcss-$(LIBDVDCSS_VERSION).tar.gz
-LIBDVDNAV_VERSION=20050211
-LIBDVDNAV_URL=$(VIDEOLAN)/testing/contrib/libdvdnav-$(LIBDVDNAV_VERSION).tar.bz2
+LIBDVDNAV_VERSION=4.1.1
+LIBDVDNAV_URL=http://www1.mplayerhq.hu/MPlayer/releases/dvdnav/libdvdnav-$(LIBDVDNAV_VERSION).tar.gz
+LIBDVDNAV_SVN=svn://svn.mplayerhq.hu/dvdnav/trunk/libdvdnav
 LIBDVBPSI_VERSION=0.1.6
 LIBDVBPSI_URL=$(VIDEOLAN)/libdvbpsi/$(LIBDVBPSI_VERSION)/libdvbpsi5-$(LIBDVBPSI_VERSION).tar.gz
 LIVEDOTCOM_VERSION=latest