diff options
Diffstat (limited to 'multimedia/xine-lib')
-rw-r--r-- | multimedia/xine-lib/Makefile | 5 | ||||
-rw-r--r-- | multimedia/xine-lib/Makefile.common | 5 | ||||
-rw-r--r-- | multimedia/xine-lib/distinfo | 18 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ae | 38 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ag | 10 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ap | 8 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-fa | 14 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-ga | 164 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-gb | 26 | ||||
-rw-r--r-- | multimedia/xine-lib/patches/patch-gc | 24 |
10 files changed, 272 insertions, 40 deletions
diff --git a/multimedia/xine-lib/Makefile b/multimedia/xine-lib/Makefile index 6dedbd12dd2..7483034252c 100644 --- a/multimedia/xine-lib/Makefile +++ b/multimedia/xine-lib/Makefile @@ -1,9 +1,7 @@ -# $NetBSD: Makefile,v 1.53 2008/01/06 15:36:41 drochner Exp $ +# $NetBSD: Makefile,v 1.54 2008/01/11 16:05:27 drochner Exp $ .include "Makefile.common" -PKGREVISION= 1 - COMMENT= Multimedia player library BUILDLINK_API_DEPENDS.vcdimager+= vcdimager>=0.7.20nb1 @@ -43,6 +41,7 @@ CONFIGURE_ARGS+= --disable-opengl .include "../../multimedia/libtheora/buildlink3.mk" .include "../../sysutils/vcdimager-devel/buildlink3.mk" .include "../../x11/libXext/buildlink3.mk" +.include "../../x11/libXt/buildlink3.mk" .include "../../x11/libXinerama/buildlink3.mk" .include "../../x11/libXv/buildlink3.mk" .include "../../x11/xextproto/buildlink3.mk" diff --git a/multimedia/xine-lib/Makefile.common b/multimedia/xine-lib/Makefile.common index d9470e4edb7..6ec590f54b7 100644 --- a/multimedia/xine-lib/Makefile.common +++ b/multimedia/xine-lib/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.42 2007/11/22 20:20:21 drochner Exp $ +# $NetBSD: Makefile.common,v 1.43 2008/01/11 16:05:27 drochner Exp $ # DISTNAME= xine-lib-${XINE_LIB_VER} @@ -6,11 +6,12 @@ XINE_PKGNAME= xine-lib-${XINE_LIB_VER} PKGNAME?= ${XINE_PKGNAME} CATEGORIES?= multimedia MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=xine/} +EXTRACT_SUFX= .tar.bz2 MAINTAINER= pkgsrc-users@NetBSD.org HOMEPAGE= http://xinehq.de/ -XINE_LIB_VER= 1.1.8 +XINE_LIB_VER= 1.1.9 PLIST_SUBST+= XINE_LIB_VER=${XINE_LIB_VER:Q} DISTINFO_FILE= ${.CURDIR}/../../multimedia/xine-lib/distinfo diff --git a/multimedia/xine-lib/distinfo b/multimedia/xine-lib/distinfo index e9a570e653f..8a15b42b7a5 100644 --- a/multimedia/xine-lib/distinfo +++ b/multimedia/xine-lib/distinfo @@ -1,20 +1,20 @@ -$NetBSD: distinfo,v 1.48 2007/11/22 20:20:21 drochner Exp $ +$NetBSD: distinfo,v 1.49 2008/01/11 16:05:27 drochner Exp $ -SHA1 (xine-lib-1.1.8.tar.gz) = 869905908a831a959ae3c6962d6d3204dc53d39b -RMD160 (xine-lib-1.1.8.tar.gz) = b4207e0d0373b68d8d3c3fb66a467953c0024732 -Size (xine-lib-1.1.8.tar.gz) = 8872132 bytes +SHA1 (xine-lib-1.1.9.tar.bz2) = f9e36b6cc69f76fed3b95de8a29ef2255770aa33 +RMD160 (xine-lib-1.1.9.tar.bz2) = 179dc66d13f5f1dcdf134ac82ed71b905c7332e8 +Size (xine-lib-1.1.9.tar.bz2) = 7391259 bytes SHA1 (patch-aa) = e09d34a121080b03bc67b2d8a3ca27463b771acc SHA1 (patch-ab) = ef13b60c2bea54f354acf1b2d70c04594dac36c9 SHA1 (patch-ad) = 94aaac03f74c72a1ca753d1320aac07d1bb8a846 -SHA1 (patch-ae) = 78060d0d1a721642776a909ab3dfef6bd4441a33 -SHA1 (patch-ag) = 8638939d400eb11fc01fd832b205366b906fc9ee +SHA1 (patch-ae) = 417d730034cc4dbf3103e07afb8432822084c64b +SHA1 (patch-ag) = fa2298e1214a4dbea36526aed27a6e506a069681 SHA1 (patch-ah) = ba408237d4a717cc91b5d06ede425048914a9a1f SHA1 (patch-ai) = f0b33c1a36082445a86bcf71e07a6210aa21b7dc SHA1 (patch-aj) = 4215c3bc37cf636e563a509f9a391081ed8e773b SHA1 (patch-ak) = 744f59d1b9e40983f25bb532db1a5d4e92be6fbe SHA1 (patch-al) = 9e3ad86a7d7f32e58de157fa37141138af10838e SHA1 (patch-ao) = c4524c88bb4ce61b13e354d22aa0f7445ff0aa37 -SHA1 (patch-ap) = 756db263fc805a75a0d6be5bdb10344a6fd9c2e9 +SHA1 (patch-ap) = e4801863b0d4625fe6db9e4c51218f55b90c6100 SHA1 (patch-aq) = f6efa28ab1b9a24b79c18c181a5d309db53172e4 SHA1 (patch-as) = a0a93a256589e87a66eef31494441aa1b200f834 SHA1 (patch-av) = 40e9a44a506a0006b6761e8367c65239bd4856ee @@ -29,3 +29,7 @@ SHA1 (patch-db) = 3ad4ca6f43a379b251211477972cd6d34b1f821a SHA1 (patch-dc) = 11c4212029e67f22796e57706b42400a0dbcac3a SHA1 (patch-eb) = b65e2c7c30fc04115d55da1ce1f6f65216ac1d23 SHA1 (patch-ee) = 49efc9d722f2141e88106d87414586ab80e4f5a9 +SHA1 (patch-fa) = a69fe09588596bfc3d74fad29e5a1aeeeead4dfd +SHA1 (patch-ga) = 3f987a5660e48e86d0edab3ab15436227282eed1 +SHA1 (patch-gb) = 8d104ac33a7f8dbd47ff4f132b4360788efa29b8 +SHA1 (patch-gc) = 876e9c319d8ff01c57267c90f3f1b8c55a3fb766 diff --git a/multimedia/xine-lib/patches/patch-ae b/multimedia/xine-lib/patches/patch-ae index 48a0fdb94d5..e9d903d4c70 100644 --- a/multimedia/xine-lib/patches/patch-ae +++ b/multimedia/xine-lib/patches/patch-ae @@ -1,8 +1,8 @@ -$NetBSD: patch-ae,v 1.4 2007/06/15 18:20:06 drochner Exp $ +$NetBSD: patch-ae,v 1.5 2008/01/11 16:05:27 drochner Exp $ ---- src/input/input_vcd.c.orig 2007-04-05 00:18:00.000000000 +0200 +--- src/input/input_vcd.c.orig 2008-01-01 14:30:08.000000000 +0100 +++ src/input/input_vcd.c -@@ -32,6 +32,7 @@ +@@ -29,6 +29,7 @@ #include <errno.h> #include <fcntl.h> #include <sys/ioctl.h> @@ -10,70 +10,70 @@ $NetBSD: patch-ae,v 1.4 2007/06/15 18:20:06 drochner Exp $ #include <string.h> #include <netinet/in.h> #ifdef HAVE_LINUX_CDROM_H -@@ -95,7 +96,7 @@ typedef struct { +@@ -92,7 +93,7 @@ typedef struct { #if defined (__linux__) || defined(__sun) struct cdrom_tochdr tochdr; struct cdrom_tocentry tocent[100]; --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) struct ioc_toc_header tochdr; struct cd_toc_entry *tocent; off_t cur_sec; -@@ -120,7 +121,7 @@ typedef struct { +@@ -117,7 +118,7 @@ typedef struct { int cur_track; --#if defined (__linux__) || defined(__sun) || defined(__FreeBSD__) +-#if defined (__linux__) || defined(__sun) || defined (__FreeBSD_kernel__) +#if defined (__linux__) || defined(__sun) || (defined(BSD) && BSD >= 199306) uint8_t cur_min, cur_sec, cur_frame; #endif -@@ -180,7 +181,7 @@ static int input_vcd_read_toc (vcd_input +@@ -177,7 +178,7 @@ static int input_vcd_read_toc (vcd_input return 0; } --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) static int input_vcd_read_toc (vcd_input_class_t *this, int fd) { struct ioc_read_toc_entry te; -@@ -396,7 +397,7 @@ static off_t vcd_plugin_read (input_plug +@@ -393,7 +394,7 @@ static off_t vcd_plugin_read (input_plug memcpy (buf, data.data, VCDSECTORSIZE); /* FIXME */ return VCDSECTORSIZE; } --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) static off_t vcd_plugin_read (input_plugin_t *this_gen, char *buf, off_t nlen) { vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen; -@@ -534,7 +535,7 @@ static buf_element_t *vcd_plugin_read_bl +@@ -531,7 +532,7 @@ static buf_element_t *vcd_plugin_read_bl memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */ return buf; } --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen, fifo_buffer_t *fifo, off_t nlen) { -@@ -693,7 +694,7 @@ static off_t vcd_plugin_seek (input_plug +@@ -690,7 +691,7 @@ static off_t vcd_plugin_seek (input_plug return offset ; /* FIXME */ } --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) static off_t vcd_plugin_seek (input_plugin_t *this_gen, off_t offset, int origin) { -@@ -767,7 +768,7 @@ static off_t vcd_plugin_get_length (inpu +@@ -764,7 +765,7 @@ static off_t vcd_plugin_get_length (inpu return (off_t) 0; } --#elif defined (__FreeBSD__) +-#elif defined (__FreeBSD_kernel__) +#elif (defined(BSD) && BSD >= 199306) static off_t vcd_plugin_get_length (input_plugin_t *this_gen) { vcd_input_plugin_t *this = (vcd_input_plugin_t *) this_gen; off_t len ; -@@ -862,6 +863,10 @@ static int vcd_plugin_open (input_plugin +@@ -859,6 +860,10 @@ static int vcd_plugin_open (input_plugin this->cur_min = this->cls->tocent[this->cur_track].cdte_addr.msf.minute; this->cur_sec = this->cls->tocent[this->cur_track].cdte_addr.msf.second; this->cur_frame = this->cls->tocent[this->cur_track].cdte_addr.msf.frame; @@ -81,6 +81,6 @@ $NetBSD: patch-ae,v 1.4 2007/06/15 18:20:06 drochner Exp $ + this->cur_min = this->cls->tocent[this->cur_track+1 - this->cls->tochdr.starting_track].addr.msf.minute; + this->cur_sec = this->cls->tocent[this->cur_track+1 - this->cls->tochdr.starting_track].addr.msf.second; + this->cur_frame = this->cls->tocent[this->cur_track+1 - this->cls->tochdr.starting_track].addr.msf.frame; - #elif defined (__FreeBSD__) + #elif defined (__FreeBSD_kernel__) { int bsize = 2352; diff --git a/multimedia/xine-lib/patches/patch-ag b/multimedia/xine-lib/patches/patch-ag index 0ecdd83e0d5..8388ae4b104 100644 --- a/multimedia/xine-lib/patches/patch-ag +++ b/multimedia/xine-lib/patches/patch-ag @@ -1,6 +1,6 @@ -$NetBSD: patch-ag,v 1.17 2007/11/22 20:20:21 drochner Exp $ +$NetBSD: patch-ag,v 1.18 2008/01/11 16:05:27 drochner Exp $ ---- configure.ac.orig 2007-08-25 15:27:01.000000000 +0200 +--- configure.ac.orig 2008-01-04 19:02:22.000000000 +0100 +++ configure.ac @@ -98,7 +98,7 @@ dnl ------------------------------------ AC_CANONICAL_HOST @@ -104,12 +104,12 @@ $NetBSD: patch-ag,v 1.17 2007/11/22 20:20:21 drochner Exp $ AC_DEFINE([HAVE_WIN32_CDROM], [1], [Define 1 if you have MinGW CD-ROM support]) ;; -- freebsd4.*) -+ freebsd4.* | dragonfly*) +- freebsd4.*|kfreebsd*-gnu) ++ freebsd4.*|kfreebsd*-gnu|dragonfly*) AC_DEFINE([HAVE_FREEBSD_CDROM], [1], [Define 1 if you have FreeBSD CD-ROM support]) ;; -@@ -2581,7 +2598,7 @@ case $host in +@@ -2591,7 +2608,7 @@ case $host in dnl FreeBSD (et al.) does not complete linking for shared objects when pthreads dnl are requested, as different implementations are present; to avoid problems dnl use -Wl,-z,defs only for those platform not behaving this way. diff --git a/multimedia/xine-lib/patches/patch-ap b/multimedia/xine-lib/patches/patch-ap index c0b32dcdacd..6b7bf720726 100644 --- a/multimedia/xine-lib/patches/patch-ap +++ b/multimedia/xine-lib/patches/patch-ap @@ -1,6 +1,6 @@ -$NetBSD: patch-ap,v 1.6 2007/11/22 20:20:22 drochner Exp $ +$NetBSD: patch-ap,v 1.7 2008/01/11 16:05:27 drochner Exp $ ---- src/dxr3/Makefile.am.orig 2007-08-19 01:36:45.000000000 +0200 +--- src/dxr3/Makefile.am.orig 2008-01-01 18:07:56.000000000 +0100 +++ src/dxr3/Makefile.am @@ -16,6 +16,9 @@ endif if HAVE_LIBRTE @@ -16,8 +16,8 @@ $NetBSD: patch-ap,v 1.6 2007/11/22 20:20:22 drochner Exp $ dxr3_scr.c \ video_out_dxr3.c --xineplug_vo_out_dxr3_la_LIBADD = $(link_fame) $(link_rte) $(link_x_libs) $(XINE_LIB) $(LTLIBINTL) $(DYNAMIC_LD_LIBS) -lm -+xineplug_vo_out_dxr3_la_LIBADD = $(link_fame) $(link_rte) $(link_xinerama) $(link_x_libs) $(XINE_LIB) $(LTLIBINTL) $(DYNAMIC_LD_LIBS) -lm +-xineplug_vo_out_dxr3_la_LIBADD = $(XINE_LIB) $(link_fame) $(link_rte) $(link_x_libs) $(LTLIBINTL) $(DYNAMIC_LD_LIBS) -lm ++xineplug_vo_out_dxr3_la_LIBADD = $(XINE_LIB) $(link_fame) $(link_rte) $(link_xinerama) $(link_x_libs) $(LTLIBINTL) $(DYNAMIC_LD_LIBS) -lm xineplug_vo_out_dxr3_la_CFLAGS = $(VISIBILITY_FLAG) $(AM_CFLAGS) xineplug_vo_out_dxr3_la_LDFLAGS = -avoid-version -module diff --git a/multimedia/xine-lib/patches/patch-fa b/multimedia/xine-lib/patches/patch-fa new file mode 100644 index 00000000000..dccf4f04d0c --- /dev/null +++ b/multimedia/xine-lib/patches/patch-fa @@ -0,0 +1,14 @@ +$NetBSD: patch-fa,v 1.1 2008/01/11 16:05:27 drochner Exp $ + +--- m4/pthreads.m4.orig 2008-01-10 16:56:36.000000000 +0100 ++++ m4/pthreads.m4 +@@ -37,6 +37,9 @@ AC_DEFUN([CC_PTHREAD_FLAGS], [ + esac + fi + ++dnl compensate for pkgsrc pthread.bl3 smartness ++ PTHREAD_LIBS="${PTHREAD_LDFLAGS} ${PTHREAD_LIBS}" ++ + AC_CACHE_CHECK([if $CC supports Pthread], + AS_TR_SH([cc_cv_pthreads]), + [ac_save_CFLAGS="$CFLAGS" diff --git a/multimedia/xine-lib/patches/patch-ga b/multimedia/xine-lib/patches/patch-ga new file mode 100644 index 00000000000..57ce3b080ac --- /dev/null +++ b/multimedia/xine-lib/patches/patch-ga @@ -0,0 +1,164 @@ +$NetBSD: patch-ga,v 1.1 2008/01/11 16:05:28 drochner Exp $ + +--- src/input/libreal/rmff.c.orig 2008-01-01 14:30:08.000000000 +0100 ++++ src/input/libreal/rmff.c +@@ -35,9 +35,14 @@ + * writes header data to a buffer + */ + +-static void rmff_dump_fileheader(rmff_fileheader_t *fileheader, char *buffer) { ++static int rmff_dump_fileheader(rmff_fileheader_t *fileheader, uint8_t *buffer, ++int bufsize) { ++ ++ if (!fileheader) return 0; ++ ++ if (bufsize < RMFF_FILEHEADER_SIZE) ++ return -1; + +- if (!fileheader) return; + fileheader->object_id=_X_BE_32(&fileheader->object_id); + fileheader->size=_X_BE_32(&fileheader->size); + fileheader->object_version=_X_BE_16(&fileheader->object_version); +@@ -53,11 +58,17 @@ static void rmff_dump_fileheader(rmff_fi + fileheader->file_version=_X_BE_32(&fileheader->file_version); + fileheader->num_headers=_X_BE_32(&fileheader->num_headers); + fileheader->object_id=_X_BE_32(&fileheader->object_id); ++ ++ return RMFF_FILEHEADER_SIZE; + } + +-static void rmff_dump_prop(rmff_prop_t *prop, char *buffer) { ++static int rmff_dump_prop(rmff_prop_t *prop, uint8_t *buffer, int bufsize) { ++ ++ if (!prop) return 0; ++ ++ if (bufsize < RMFF_PROPHEADER_SIZE) ++ return -1; + +- if (!prop) return; + prop->object_id=_X_BE_32(&prop->object_id); + prop->size=_X_BE_32(&prop->size); + prop->object_version=_X_BE_16(&prop->object_version); +@@ -93,13 +104,20 @@ static void rmff_dump_prop(rmff_prop_t * + prop->num_streams=_X_BE_16(&prop->num_streams); + prop->flags=_X_BE_16(&prop->flags); + prop->object_id=_X_BE_32(&prop->object_id); ++ ++ return RMFF_PROPHEADER_SIZE; + } + +-static void rmff_dump_mdpr(rmff_mdpr_t *mdpr, char *buffer) { ++static int rmff_dump_mdpr(rmff_mdpr_t *mdpr, uint8_t *buffer, int bufsize) { + + int s1, s2, s3; + +- if (!mdpr) return; ++ if (!mdpr) return 0; ++ ++ if (bufsize < RMFF_MDPRHEADER_SIZE + mdpr->type_specific_len + ++ mdpr->stream_name_size + mdpr->mime_type_size) ++ return -1; ++ + mdpr->object_id=_X_BE_32(&mdpr->object_id); + mdpr->size=_X_BE_32(&mdpr->size); + mdpr->object_version=_X_BE_16(&mdpr->object_version); +@@ -141,13 +159,19 @@ static void rmff_dump_mdpr(rmff_mdpr_t * + mdpr->duration=_X_BE_32(&mdpr->duration); + mdpr->object_id=_X_BE_32(&mdpr->object_id); + ++ return RMFF_MDPRHEADER_SIZE + s1 + s2 + s3; + } + +-static void rmff_dump_cont(rmff_cont_t *cont, char *buffer) { ++static int rmff_dump_cont(rmff_cont_t *cont, uint8_t *buffer, int bufsize) { + + int p; + +- if (!cont) return; ++ if (!cont) return 0; ++ ++ if (bufsize < RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + ++ cont->copyright_len + cont->comment_len) ++ return -1; ++ + cont->object_id=_X_BE_32(&cont->object_id); + cont->size=_X_BE_32(&cont->size); + cont->object_version=_X_BE_16(&cont->object_version); +@@ -181,11 +205,19 @@ static void rmff_dump_cont(rmff_cont_t * + cont->size=_X_BE_32(&cont->size); + cont->object_version=_X_BE_16(&cont->object_version); + cont->object_id=_X_BE_32(&cont->object_id); ++ ++ return RMFF_CONTHEADER_SIZE + cont->title_len + cont->author_len + ++ cont->copyright_len + cont->comment_len; + } + +-static void rmff_dump_dataheader(rmff_data_t *data, char *buffer) { ++static int rmff_dump_dataheader(rmff_data_t *data, uint8_t *buffer, int ++bufsize) { ++ ++ if (!data) return 0; ++ ++ if (bufsize < RMFF_DATAHEADER_SIZE) ++ return -1; + +- if (!data) return; + data->object_id=_X_BE_32(&data->object_id); + data->size=_X_BE_32(&data->size); + data->object_version=_X_BE_16(&data->object_version); +@@ -201,31 +233,43 @@ static void rmff_dump_dataheader(rmff_da + data->size=_X_BE_32(&data->size); + data->object_version=_X_BE_16(&data->object_version); + data->object_id=_X_BE_32(&data->object_id); ++ ++ return RMFF_DATAHEADER_SIZE; + } + +-int rmff_dump_header(rmff_header_t *h, char *buffer, int max) { ++int rmff_dump_header(rmff_header_t *h, void *buf_gen, int max) { ++ uint8_t *buffer = buf_gen; + +- int written=0; ++ int written=0, size; + rmff_mdpr_t **stream=h->streams; + +- rmff_dump_fileheader(h->fileheader, &buffer[written]); +- written+=h->fileheader->size; +- rmff_dump_prop(h->prop, &buffer[written]); +- written+=h->prop->size; +- rmff_dump_cont(h->cont, &buffer[written]); +- written+=h->cont->size; ++ if ((size=rmff_dump_fileheader(h->fileheader, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; ++ if ((size=rmff_dump_prop(h->prop, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; ++ if ((size=rmff_dump_cont(h->cont, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; + if (stream) + { + while(*stream) + { +- rmff_dump_mdpr(*stream, &buffer[written]); +- written+=(*stream)->size; ++ if ((size=rmff_dump_mdpr(*stream, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; ++ max -= size; + stream++; + } + } + +- rmff_dump_dataheader(h->data, &buffer[written]); +- written+=18; ++ if ((size=rmff_dump_dataheader(h->data, &buffer[written], max)) < 0) ++ return -1; ++ written+=size; + + return written; + } diff --git a/multimedia/xine-lib/patches/patch-gb b/multimedia/xine-lib/patches/patch-gb new file mode 100644 index 00000000000..5b2c8cd333b --- /dev/null +++ b/multimedia/xine-lib/patches/patch-gb @@ -0,0 +1,26 @@ +$NetBSD: patch-gb,v 1.1 2008/01/11 16:05:28 drochner Exp $ + +--- src/input/libreal/rmff.h.orig 2008-01-01 14:30:08.000000000 +0100 ++++ src/input/libreal/rmff.h +@@ -39,6 +39,12 @@ + + #define RMFF_HEADER_SIZE 0x12 + ++#define RMFF_FILEHEADER_SIZE 18 ++#define RMFF_PROPHEADER_SIZE 50 ++#define RMFF_MDPRHEADER_SIZE 46 ++#define RMFF_CONTHEADER_SIZE 18 ++#define RMFF_DATAHEADER_SIZE 18 ++ + #define FOURCC_TAG( ch0, ch1, ch2, ch3 ) \ + (((long)(unsigned char)(ch3) ) | \ + ( (long)(unsigned char)(ch2) << 8 ) | \ +@@ -245,7 +251,7 @@ int rmff_get_header_size(rmff_header_t * + /* + * dumps the header <h> to <buffer>. <max> is the size of <buffer> + */ +-int rmff_dump_header(rmff_header_t *h, char *buffer, int max); ++int rmff_dump_header(rmff_header_t *h, void *buffer, int max); + + /* + * dumps a packet header diff --git a/multimedia/xine-lib/patches/patch-gc b/multimedia/xine-lib/patches/patch-gc new file mode 100644 index 00000000000..45daa1f8f41 --- /dev/null +++ b/multimedia/xine-lib/patches/patch-gc @@ -0,0 +1,24 @@ +$NetBSD: patch-gc,v 1.1 2008/01/11 16:05:28 drochner Exp $ + +--- src/input/librtsp/rtsp_session.c.orig 2008-01-01 14:30:08.000000000 +0100 ++++ src/input/librtsp/rtsp_session.c +@@ -148,6 +148,11 @@ connect: + + rtsp_session->header_left = + rtsp_session->header_len = rmff_dump_header(h,rtsp_session->header,HEADER_SIZE); ++ if (rtsp_session->header_len < 0) { ++ xprintf (stream->xine, XINE_VERBOSITY_LOG, ++ _("rtsp_session: rtsp server returned overly-large headers, session can not be established.\n")); ++ goto session_abort; ++ } + + xine_buffer_copyin(rtsp_session->recv, 0, rtsp_session->header, rtsp_session->header_len); + rtsp_session->recv_size = rtsp_session->header_len; +@@ -157,6 +162,7 @@ connect: + { + xprintf(stream->xine, XINE_VERBOSITY_LOG, + _("rtsp_session: rtsp server type '%s' not supported yet. sorry.\n"), server); ++session_abort: + rtsp_close(rtsp_session->s); + free(server); + xine_buffer_free(rtsp_session->recv); |