summaryrefslogtreecommitdiff
path: root/multimedia/mplayer-share/patches
diff options
context:
space:
mode:
authorwiz <wiz>2008-10-20 07:40:00 +0000
committerwiz <wiz>2008-10-20 07:40:00 +0000
commite14c5e0c5caa93579c25faf7b80989c8f4123360 (patch)
tree2cb9606daa9b451d920619d93f640f615182f1d3 /multimedia/mplayer-share/patches
parent27b0738c216cf398c14ef9f8ccb12ee8752392d8 (diff)
downloadpkgsrc-e14c5e0c5caa93579c25faf7b80989c8f4123360.tar.gz
Add a patch for better VCD support from Sergey Svishchev.
Fixes PR 20549.
Diffstat (limited to 'multimedia/mplayer-share/patches')
-rw-r--r--multimedia/mplayer-share/patches/patch-an37
1 files changed, 37 insertions, 0 deletions
diff --git a/multimedia/mplayer-share/patches/patch-an b/multimedia/mplayer-share/patches/patch-an
new file mode 100644
index 00000000000..027895e4ead
--- /dev/null
+++ b/multimedia/mplayer-share/patches/patch-an
@@ -0,0 +1,37 @@
+$NetBSD: patch-an,v 1.1 2008/10/20 07:40:00 wiz Exp $
+
+--- stream/vcd_read_fbsd.h.orig 2007-10-07 19:49:26.000000000 +0000
++++ stream/vcd_read_fbsd.h
+@@ -37,9 +37,8 @@ typedef struct mp_vcd_priv_st {
+ vcd_tocentry entry;
+ #ifdef VCD_NETBSD
+ struct cd_toc_entry entry_data;
+-#else
+- cdsector_t buf;
+ #endif
++ cdsector_t buf;
+ } mp_vcd_priv_t;
+
+ static inline void
+@@ -208,8 +207,8 @@ vcd_read(mp_vcd_priv_t* vcd, char *mem)
+ sc.cmd[9] = 1 << 4; // user data only
+ sc.cmd[10] = 0; // no subchannel
+ sc.cmdlen = 12;
+- sc.databuf = (caddr_t) mem;
+- sc.datalen = 2328;
++ sc.databuf = (caddr_t) vcd->buf.data;
++ sc.datalen = VCD_SECTOR_DATA + 4; // MMC-3 spec says there are 4 extra bytes
+ sc.senselen = sizeof(sc.sense);
+ sc.flags = SCCMD_READ;
+ sc.timeout = 10000;
+@@ -226,9 +225,9 @@ vcd_read(mp_vcd_priv_t* vcd, char *mem)
+ #else
+ if (pread(vcd->fd,&vcd->buf,VCD_SECTOR_SIZE,vcd_get_msf(vcd)*VCD_SECTOR_SIZE)
+ != VCD_SECTOR_SIZE) return 0; // EOF?
++#endif
+
+ memcpy(mem,vcd->buf.data,VCD_SECTOR_DATA);
+-#endif
+ vcd_inc_msf(vcd);
+ return VCD_SECTOR_DATA;
+ }