Mercurial > mplayer.hg
view libmpcodecs/vd_internal.h @ 8575:1d15ca298dda
Fix DVD authentication on Solaris 9.
Solaris 9 does not allow USCSICMD ioctls for non-root users on vold devices
any more; they are failing with an EPERM "permission denied" error. Now, only
root is allowed to run USCSICMD ioctls on vold devices.
Fortunatelly there's a new subroutine exported from libsmedia.so
(smedia_uscsi_cmd) which allows non-root users to perform user mode SCSI
commands on a vold device. (This works with a help of a daemon running as
user root, /usr/lib/smedia/rpc.smserverd)
This change detects the presence of function "smedia_uscsi_cmd" in library
libsmedia.so at runtime, and uses this function if it's found (i.e. on
solaris 9 smedia_uscsi_cmd() is used to execture user mode scsi commands).
On solaris 8 or older, "smedia_uscsi_cmd" is not available and the code
falls back to the old ioctl(.. USCSICMD ..) method.
author | jkeil |
---|---|
date | Fri, 27 Dec 2002 16:29:11 +0000 |
parents | 1972c3475d93 |
children | 4faee1254928 |
line wrap: on
line source
#include "codec-cfg.h" #include "img_format.h" #include "stream.h" #include "demuxer.h" #include "stheader.h" #include "vd.h" extern int divx_quality; // prototypes: //static vd_info_t info; static int control(sh_video_t *sh,int cmd,void* arg,...); static int init(sh_video_t *sh); static void uninit(sh_video_t *sh); static mp_image_t* decode(sh_video_t *sh,void* data,int len,int flags); #define LIBVD_EXTERN(x) vd_functions_t mpcodecs_vd_##x = {\ &info,\ init,\ uninit,\ control,\ decode\ };