pkgsrc/multimedia/xine-lib/patches/patch-ae
drochner 508ca350e2 update to 1.1.9
changes:
There are improvements to DVB subtitle support and H.264 video, and fixes
for MP3 playback, DVB, ivtv, Flash video streams and some playlist types
(particularly XML ones). One significant fix is that the special "be nice
to the user" '#' handling has been dropped since it seems to have been
causing more problems than it fixes.

pkgsrc note: a fix for CVE-2008-0225 (RTSP buffer overflow) is
already included
2008-01-11 16:05:27 +00:00

86 lines
3.1 KiB
Text

$NetBSD: patch-ae,v 1.5 2008/01/11 16:05:27 drochner Exp $
--- src/input/input_vcd.c.orig 2008-01-01 14:30:08.000000000 +0100
+++ src/input/input_vcd.c
@@ -29,6 +29,7 @@
#include <errno.h>
#include <fcntl.h>
#include <sys/ioctl.h>
+#include <sys/param.h>
#include <string.h>
#include <netinet/in.h>
#ifdef HAVE_LINUX_CDROM_H
@@ -92,7 +93,7 @@ typedef struct {
#if defined (__linux__) || defined(__sun)
struct cdrom_tochdr tochdr;
struct cdrom_tocentry tocent[100];
-#elif defined (__FreeBSD_kernel__)
+#elif (defined(BSD) && BSD >= 199306)
struct ioc_toc_header tochdr;
struct cd_toc_entry *tocent;
off_t cur_sec;
@@ -117,7 +118,7 @@ typedef struct {
int cur_track;
-#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
@@ -177,7 +178,7 @@ static int input_vcd_read_toc (vcd_input
return 0;
}
-#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;
@@ -393,7 +394,7 @@ static off_t vcd_plugin_read (input_plug
memcpy (buf, data.data, VCDSECTORSIZE); /* FIXME */
return VCDSECTORSIZE;
}
-#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;
@@ -531,7 +532,7 @@ static buf_element_t *vcd_plugin_read_bl
memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */
return buf;
}
-#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) {
@@ -690,7 +691,7 @@ static off_t vcd_plugin_seek (input_plug
return offset ; /* FIXME */
}
-#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) {
@@ -764,7 +765,7 @@ static off_t vcd_plugin_get_length (inpu
return (off_t) 0;
}
-#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 ;
@@ -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;
+#elif defined(__NetBSD__)
+ 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_kernel__)
{
int bsize = 2352;