aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorYing-Chieh Liao <ijliao@FreeBSD.org>2001-07-07 21:07:13 +0800
committerYing-Chieh Liao <ijliao@FreeBSD.org>2001-07-07 21:07:13 +0800
commit9343cbc6fdf97cd0b5933ee7dab00e637b04297c (patch)
tree76d3d8d46754e2e0ae3942536dc621d1aa0198fc /multimedia
parent16a1f893c2daa6273aa6fe1f146b80c43c5f5c69 (diff)
downloadfreebsd-ports-9343cbc6fdf97cd0b5933ee7dab00e637b04297c.tar.gz
freebsd-ports-9343cbc6fdf97cd0b5933ee7dab00e637b04297c.tar.zst
freebsd-ports-9343cbc6fdf97cd0b5933ee7dab00e637b04297c.zip
add libdvdread
DVD player that supports DVD menus PR: 28410 Submitted by: Marc van Woerkom
Notes
Notes: svn path=/head/; revision=44871
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/libdvdread/Makefile28
-rw-r--r--multimedia/libdvdread/distinfo1
-rw-r--r--multimedia/libdvdread/files/patch-configure.in11
-rw-r--r--multimedia/libdvdread/files/patch-dvdread-bswap.h31
-rw-r--r--multimedia/libdvdread/files/patch-dvdread-dvd_reader.c102
-rw-r--r--multimedia/libdvdread/files/patch-dvdread-dvd_reader.h14
-rw-r--r--multimedia/libdvdread/files/patch-dvdread-dvd_udf.c16
-rw-r--r--multimedia/libdvdread/files/patch-src-Makefile.am15
-rw-r--r--multimedia/libdvdread/pkg-comment1
-rw-r--r--multimedia/libdvdread/pkg-descr14
-rw-r--r--multimedia/libdvdread/pkg-plist12
11 files changed, 245 insertions, 0 deletions
diff --git a/multimedia/libdvdread/Makefile b/multimedia/libdvdread/Makefile
new file mode 100644
index 000000000000..9805950f3b00
--- /dev/null
+++ b/multimedia/libdvdread/Makefile
@@ -0,0 +1,28 @@
+# New ports collection makefile for: libdvdread
+# Date created: 24 Jun 2001
+# Whom: Marc van Woerkom <3d@freebsd.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= libdvdread
+PORTVERSION= 0.8.0
+CATEGORIES= graphics
+MASTER_SITES= http://www.dtek.chalmers.se/groups/dvd/
+
+MAINTAINER= 3d@FreeBSD.org
+
+USE_GMAKE= yes
+USE_AUTOMAKE= yes
+AUTOMAKE_ARGS= --add-missing --copy
+USE_LIBTOOL= yes
+INSTALLS_SHLIB= yes
+
+USE_NEWGCC= yes
+
+# cf the excellent goat book:
+# http://sources.redhat.com/autobook/autobook/autobook_43.html
+post-patch:
+ @cd ${WRKSRC} && ./bootstrap
+
+.include <bsd.port.mk>
diff --git a/multimedia/libdvdread/distinfo b/multimedia/libdvdread/distinfo
new file mode 100644
index 000000000000..87718a2cad6f
--- /dev/null
+++ b/multimedia/libdvdread/distinfo
@@ -0,0 +1 @@
+MD5 (libdvdread-0.8.0.tar.gz) = f74e3ecbad02a5c5fd679b539c341d8b
diff --git a/multimedia/libdvdread/files/patch-configure.in b/multimedia/libdvdread/files/patch-configure.in
new file mode 100644
index 000000000000..37604189242d
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-configure.in
@@ -0,0 +1,11 @@
+--- configure.in.orig Fri Jun 22 00:33:29 2001
++++ configure.in Mon Jun 25 21:06:37 2001
+@@ -58,7 +58,7 @@
+ fi
+ AC_SUBST(STATIC)
+
+-AC_CHECK_LIB(dl, dlopen, DL_LIBS=-ldl, AC_MSG_ERROR(You need libdl (dlopen)))
++DL_LIBS=
+ AC_SUBST(DL_LIBS)
+
+ dnl AC_CHECK_GENERATE_INTTYPES(include)
diff --git a/multimedia/libdvdread/files/patch-dvdread-bswap.h b/multimedia/libdvdread/files/patch-dvdread-bswap.h
new file mode 100644
index 000000000000..1c63be4a7f86
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-dvdread-bswap.h
@@ -0,0 +1,31 @@
+--- dvdread/bswap.h.orig Sat Apr 7 17:35:10 2001
++++ dvdread/bswap.h Wed Jun 27 01:23:04 2001
+@@ -27,7 +27,28 @@
+ #define B2N_32(x) (void)(x)
+ #define B2N_64(x) (void)(x)
+ #else
++#if defined(__FreeBSD__)
++/* how about assmbler versions? */
++#define bswap_16(x) \
++ ((((x) & 0xff00) >> 8) | \
++ (((x) & 0x00ff) << 8))
++#define bswap_32(x) \
++ ((((x) & 0xff000000) >> 24) | \
++ (((x) & 0x00ff0000) >> 8) | \
++ (((x) & 0x0000ff00) << 8) | \
++ (((x) & 0x000000ff) << 24))
++#define bswap_64(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))
++#else
+ #include <byteswap.h>
++#endif
+ #define B2N_16(x) x = bswap_16((x))
+ #define B2N_32(x) x = bswap_32((x))
+ #define B2N_64(x) x = bswap_64((x))
diff --git a/multimedia/libdvdread/files/patch-dvdread-dvd_reader.c b/multimedia/libdvdread/files/patch-dvdread-dvd_reader.c
new file mode 100644
index 000000000000..0587d144ac25
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-dvdread-dvd_reader.c
@@ -0,0 +1,102 @@
+--- dvdread/dvd_reader.c.orig Fri Jun 22 02:40:48 2001
++++ dvdread/dvd_reader.c Mon Jun 25 22:57:38 2001
+@@ -30,6 +30,9 @@
+ #if defined(__sun)
+ #include <sys/mnttab.h>
+ #define MNT_FILE MNTTAB
++#elif defined(__FreeBSD__)
++#undef MNT_FILE
++#include <fstab.h>
+ #else
+ #include <mntent.h>
+ #define MNT_FILE MOUNTED
+@@ -183,7 +186,11 @@
+ } else if( S_ISDIR( fileinfo.st_mode ) ) {
+ dvd_reader_t *auth_drive = 0;
+ char *path_copy = strdup( path );
++#if defined(__FreeBSD__)
++ struct fstab* fe;
++#else
+ FILE *mntfile;
++#endif
+
+ /**
+ * If we're being asked to open a directory, check if that directory is
+@@ -204,6 +211,16 @@
+ }
+ }
+
++#if defined(__FreeBSD__)
++ if ((fe = getfsfile(path_copy))) {
++ fprintf(stderr,
++ "libdvdread: Attempting to use block "
++ "device %s on %s for CSS authentication.\n",
++ fe->fs_spec,
++ fe->fs_file);
++ auth_drive = DVDOpenImageFile(fe->fs_file);
++ }
++#else
+ mntfile = fopen( MNT_FILE, "r" );
+ if( mntfile ) {
+ #if defined(__sun)
+@@ -234,7 +251,7 @@
+ #endif
+ fclose( mntfile );
+ }
+-
++#endif
+ free( path_copy );
+
+ /**
+@@ -600,21 +617,39 @@
+
+ if( offset < dvd_file->title_sizes[ i ] ) {
+ if( ( offset + block_count ) <= dvd_file->title_sizes[ i ] ) {
++#if defined(__FreeBSD__)
++ lseek(dvd_file->title_fds[i],
++ offset * DVD_VIDEO_LB_LEN,
++ SEEK_SET);
++#else
+ lseek64( dvd_file->title_fds[ i ], offset
+ * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
++#endif
+ ret = read( dvd_file->title_fds[ i ], data,
+ block_count * DVD_VIDEO_LB_LEN );
+ break;
+ } else {
+
+ /* Read part 1 */
++#if defined(__FreeBSD__)
++ lseek(dvd_file->title_fds[i],
++ offset * DVD_VIDEO_LB_LEN,
++ SEEK_SET);
++#else
+ lseek64( dvd_file->title_fds[ i ], offset
+ * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
++#endif
+ ret = read( dvd_file->title_fds[ i ], data,
+ dvd_file->title_sizes[ i ] - offset );
+
+ /* Read part 2 */
++#if defined(__FreeBSD__)
++ lseek(dvd_file->title_fds[i + 1],
++ 0,
++ SEEK_SET);
++#else
+ lseek64( dvd_file->title_fds[ i + 1 ], 0, SEEK_SET );
++#endif
+ ret += read( dvd_file->title_fds[ i + 1 ],
+ &(data[ ( dvd_file->title_sizes[ i ] - offset )
+ * DVD_VIDEO_LB_LEN ]),
+@@ -653,7 +688,11 @@
+ dvd_file->seek_pos = offset;
+ return offset;
+ } else {
++#if defined(__FreeBSD__)
++ return lseek(dvd_file->title_fds[0], offset, SEEK_SET);
++#else
+ return lseek64( dvd_file->title_fds[ 0 ], offset, SEEK_SET );
++#endif
+ }
+ }
+
diff --git a/multimedia/libdvdread/files/patch-dvdread-dvd_reader.h b/multimedia/libdvdread/files/patch-dvdread-dvd_reader.h
new file mode 100644
index 000000000000..03e944f9f6f9
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-dvdread-dvd_reader.h
@@ -0,0 +1,14 @@
+--- dvdread/dvd_reader.h.orig Mon Jun 18 05:29:13 2001
++++ dvdread/dvd_reader.h Tue Jun 26 23:30:13 2001
+@@ -20,6 +20,11 @@
+ #ifndef DVD_READER_H_INCLUDED
+ #define DVD_READER_H_INCLUDED
+
++#if defined(__FreeBSD__)
++#include <unistd.h>
++typedef off_t off64_t;
++#endif
++
+ #include <sys/types.h>
+
+ #ifdef __cplusplus
diff --git a/multimedia/libdvdread/files/patch-dvdread-dvd_udf.c b/multimedia/libdvdread/files/patch-dvdread-dvd_udf.c
new file mode 100644
index 000000000000..72a8d0ccebd1
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-dvdread-dvd_udf.c
@@ -0,0 +1,16 @@
+--- dvdread/dvd_udf.c.orig Fri May 25 08:31:22 2001
++++ dvdread/dvd_udf.c Mon Jun 25 23:33:11 2001
+@@ -461,8 +461,12 @@
+ if( fd < 0 )
+ return 0;
+
++#if defined(__FreeBSD__)
++ lseek(fd, lb_number * DVD_VIDEO_LB_LEN, SEEK_SET);
++#else
+ lseek64( fd, (int64_t) lb_number * (int64_t) DVD_VIDEO_LB_LEN, SEEK_SET );
+-
++#endif
++
+ return read( fd, data, block_count * DVD_VIDEO_LB_LEN );
+ }
+
diff --git a/multimedia/libdvdread/files/patch-src-Makefile.am b/multimedia/libdvdread/files/patch-src-Makefile.am
new file mode 100644
index 000000000000..282abb3ad1e5
--- /dev/null
+++ b/multimedia/libdvdread/files/patch-src-Makefile.am
@@ -0,0 +1,15 @@
+--- src/Makefile.am.orig Fri May 18 06:20:08 2001
++++ src/Makefile.am Tue Jun 26 00:28:10 2001
+@@ -2,9 +2,9 @@
+ noinst_PROGRAMS = ifo_dump play_title title_info
+
+ ifo_dump_SOURCES = ifo_dump.c
+-ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
++ifo_dump_LDADD = $(top_builddir)/dvdread/libdvdread.la
+ play_title_SOURCES = play_title.c
+-play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
++play_title_LDADD = $(top_builddir)/dvdread/libdvdread.la
+ title_info_SOURCES = title_info.c
+-title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la -ldl
++title_info_LDADD = $(top_builddir)/dvdread/libdvdread.la
+
diff --git a/multimedia/libdvdread/pkg-comment b/multimedia/libdvdread/pkg-comment
new file mode 100644
index 000000000000..c27e0d93fb77
--- /dev/null
+++ b/multimedia/libdvdread/pkg-comment
@@ -0,0 +1 @@
+DVD player that supports DVD menus
diff --git a/multimedia/libdvdread/pkg-descr b/multimedia/libdvdread/pkg-descr
new file mode 100644
index 000000000000..3755c48530eb
--- /dev/null
+++ b/multimedia/libdvdread/pkg-descr
@@ -0,0 +1,14 @@
+DVD player that supports DVD menus
+
+Features :
+ - Supports DVD menus and navigation.
+ - Reads from mounted, unmounted DVDs and hard drive.
+ - Reads encrypted and unencrypted DVDs using libcss.
+ - A new MPEG2 decoder with both MMX and SUN Solaris mediaLib acceleration.
+ - Normal X11 and XFree86 Xvideo display support with subpicture overlay.
+ - Audio and subpicture selection.
+ - Handles advanced subpicture commands such as fade/scroll and wipe.
+ - Detects and uses correct aspect for movie and menus.
+ - Possible to play AC3 via S/PDIF with an external command.
+
+WWW: http://www.dtek.chalmers.se/groups/dvd/
diff --git a/multimedia/libdvdread/pkg-plist b/multimedia/libdvdread/pkg-plist
new file mode 100644
index 000000000000..185c4bf7745b
--- /dev/null
+++ b/multimedia/libdvdread/pkg-plist
@@ -0,0 +1,12 @@
+lib/libdvdread.a
+lib/libdvdread.so
+lib/libdvdread.so.1
+include/dvdread/dvd_reader.h
+include/dvdread/dvd_udf.h
+include/dvdread/ifo_types.h
+include/dvdread/ifo_read.h
+include/dvdread/ifo_print.h
+include/dvdread/nav_types.h
+include/dvdread/nav_read.h
+include/dvdread/nav_print.h
+@dirrm include/dvdread