openbsd-ports/multimedia/xine-lib/patches/patch-src_input_input_vcd_c
jakemsr df581e9d78 initial import of xine-lib
xine is a free multimedia player. It plays back CDs, DVDs, and VCDs. It
also decodes multimedia files like AVI, MOV, WMV, and MP3 from local
disk drives, and displays multimedia streamed over the Internet. It
interprets many of the most common multimedia formats available - and
some of the most uncommon formats, too.

prodded by jolan@ and bernd@
2006-03-24 22:43:41 +00:00

78 lines
3.0 KiB
Plaintext

$OpenBSD: patch-src_input_input_vcd_c,v 1.1.1.1 2006/03/24 22:43:41 jakemsr Exp $
--- src/input/input_vcd.c.orig Wed Apr 20 10:21:08 2005
+++ src/input/input_vcd.c Sun Dec 25 02:08:31 2005
@@ -94,7 +94,7 @@ typedef struct {
#if defined (__linux__) || defined(__sun)
struct cdrom_tochdr tochdr;
struct cdrom_tocentry tocent[100];
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)
struct ioc_toc_header tochdr;
struct cd_toc_entry *tocent;
off_t cur_sec;
@@ -119,7 +119,7 @@ typedef struct {
int cur_track;
-#if defined (__linux__) || defined(__sun) || defined(__FreeBSD__)
+#if defined (__linux__) || defined(__sun) || defined(__FreeBSD__) || defined (__OpenBSD__)
uint8_t cur_min, cur_sec, cur_frame;
#endif
@@ -179,7 +179,7 @@ static int input_vcd_read_toc (vcd_input
return 0;
}
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)
static int input_vcd_read_toc (vcd_input_class_t *this, int fd) {
struct ioc_read_toc_entry te;
@@ -395,7 +395,7 @@ static off_t vcd_plugin_read (input_plug
memcpy (buf, data.data, VCDSECTORSIZE); /* FIXME */
return VCDSECTORSIZE;
}
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)
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;
@@ -533,7 +533,7 @@ static buf_element_t *vcd_plugin_read_bl
memcpy (buf->mem, data.data, VCDSECTORSIZE); /* FIXME */
return buf;
}
-#elif defined (__FreeBSD__)
+#elif (__FreeBSD__) || defined (__OpenBSD__)
static buf_element_t *vcd_plugin_read_block (input_plugin_t *this_gen,
fifo_buffer_t *fifo, off_t nlen) {
@@ -692,7 +692,7 @@ static off_t vcd_plugin_seek (input_plug
return offset ; /* FIXME */
}
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)
static off_t vcd_plugin_seek (input_plugin_t *this_gen,
off_t offset, int origin) {
@@ -766,7 +766,7 @@ static off_t vcd_plugin_get_length (inpu
return (off_t) 0;
}
-#elif defined (__FreeBSD__)
+#elif defined (__FreeBSD__) || defined (__OpenBSD__)
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 ;
@@ -861,6 +861,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 (__OpenBSD__)
+ 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__)
{
int bsize = 2352;