Mercurial > mplayer.hg
changeset 35877:cc42d1d53695
Clean up ifdefs so they make sense even if none or multiple are defined.
Also choose Linux as fallback case instead of failing, this
allows the code to compile e.g. on Android.
author | reimar |
---|---|
date | Sat, 16 Mar 2013 08:44:32 +0000 |
parents | 2def073c15b8 |
children | 08d53b704b88 |
files | stream/vcd_read.h |
diffstat | 1 files changed, 7 insertions(+), 14 deletions(-) [+] |
line wrap: on
line diff
--- a/stream/vcd_read.h Sat Mar 16 03:54:05 2013 +0000 +++ b/stream/vcd_read.h Sat Mar 16 08:44:32 2013 +0000 @@ -27,17 +27,16 @@ #include "stream.h" #include "libavutil/intreadwrite.h" //=================== VideoCD ========================== -#if defined(__linux__) || defined(sun) || defined(__bsdi__) typedef struct mp_vcd_priv_st mp_vcd_priv_t; -#if defined(__linux__) -#include <linux/cdrom.h> -#elif defined(sun) +#ifdef sun #include <sys/cdio.h> static int sun_vcd_read(mp_vcd_priv_t*, int*); -#elif defined(__bsdi__) +#elif defined(__bsdi__) #include <dvd.h> +#else +#include <linux/cdrom.h> #endif struct mp_vcd_priv_st { @@ -151,11 +150,11 @@ } static int vcd_read(mp_vcd_priv_t* vcd,char *mem){ -#if defined(__linux__) || defined(__bsdi__) +#ifndef sun memcpy(vcd->buf,&vcd->entry.cdte_addr.msf,sizeof(struct cdrom_msf)); if(ioctl(vcd->fd,CDROMREADRAW,vcd->buf)==-1) return 0; // EOF? memcpy(mem,&vcd->buf[VCD_SECTOR_OFFS],VCD_SECTOR_DATA); -#elif defined(sun) +#else { int offset; if (sun_vcd_read(vcd, &offset) <= 0) return 0; @@ -177,7 +176,7 @@ } -#ifdef sun +#ifdef sun #include <sys/scsi/generic/commands.h> #include <sys/scsi/impl/uscsi.h> @@ -248,10 +247,4 @@ } #endif /*sun*/ -#else /* __linux__ || sun || __bsdi__ */ - -#error vcd is not yet supported on this arch... - -#endif - #endif /* MPLAYER_VCD_READ_H */