📄 ogle.in
字号:
#!/bin/sh# @configure_input@create_pipe() { if [ ! -p $1 ]; then rm -f $1; # So any other user can start the program / rm the pipes mkfifo $1; chmod 666 $1; fi # chgrp dvd $1;}create_pipe "/tmp/ac3"create_pipe "/tmp/audio"ostype=`uname`d_suf="_debug"debug="0"nav_debug=""audio_debug=""vout_debug=""cli_debug=""ctrl_debug=""gui_debug=""mpeg_ps_debug=""mpeg_vs_debug=""check="0"param=""if [ -z "$OGLE_DLEVEL" ]; then OGLE_DLEVEL=3fifor p in $*; do if [ $p = "--debug" ]; then debug="1" OGLE_DLEVEL=5 DVDCSS_VERBOSE=2 export DVDCSS_VERBOSE elif [ $p = "--check" ]; then debug="1" check="1" elif [ x`echo $p | grep -- "--debug-"` != x"" ]; then if [ $p = --debug-nav ]; then nav_debug=$d_suf elif [ $p = --debug-audio ]; then audio_debug=$d_suf elif [ $p = --debug-vout ]; then vout_debug=$d_suf elif [ $p = --debug-cli ]; then cli_debug=$d_suf elif [ $p = --debug-ctrl ]; then ctrl_debug=$d_suf elif [ $p = --debug-gui ]; then gui_debug=$d_suf elif [ $p = --debug-mpeg_ps ]; then mpeg_ps_debug=$d_suf elif [ $p = --debug-mpeg_vs ]; then mpeg_vs_debug=$d_suf elif [ $p = --debug-all ]; then nav_debug=$d_suf audio_debug=$d_suf vout_debug=$d_suf cli_debug=$d_suf ctrl_debug=$d_suf gui_debug=$d_suf mpeg_ps_debug=$d_suf mpeg_vs_debug=$d_suf else echo "$0: invalid option $p" exit fi else param="$param $p" fidoneexport OGLE_DLEVELif [ "$debug" = "1" ]; then # information on the build echo "Build: @BUILDINFO@" # and the os version we are running on runtime="Runtime: `uname -m -r -s -v`" runtime="${runtime} `uname -p 2> /dev/null`" echo "$runtime" case $ostype in "Linux") #cpu information cpuinfo=`cat /proc/cpuinfo | sed s/\.*/\&,/` echo "cpuinfo:" echo $cpuinfo echo "" #check for bad kernels linux_version="`uname -r`" if [ "$linux_version" = "2.4.10" ]; then echo "" echo "WARNING: This kernel ($linux_version) is known to have problems with DVD:s." echo "" fi echo $linux_version | grep "2.4.9-" >/dev/null if [ "$?" = "0" ]; then echo "" echo "WARNING: There has been some DVD-troubles with modified 2.4.9-kernels." echo "" fi #check for dvd drives PROCFILE="/proc/sys/dev/cdrom/info" if [ ! -r "$PROCFILE" ]; then echo "File not found: $PROCFILE" echo "No CD or DVD devices on this system or cdrom module not loaded?" else DEVLIST=`cat $PROCFILE | grep 'drive name:' | cut -d':' -f 2-` ISDVDLIST=`cat $PROCFILE \ | grep 'Can read DVD:' \ | cut -d':' -f 2-` dvd_dev_f() { for dev in $DEVLIST; do if [ "$1" = "1" ]; then DVD_DEV="$DVD_DEV $dev" fi shift done } dvd_dev_f $ISDVDLIST #is /dev/dvd set? dev="/dev/dvd" while [ -h $dev ]; do nextdev=`ls -l $dev | cut -d'>' -f 2` nextdev="`echo $nextdev`" echo "$dev -> $nextdev" abspath="`echo $nextdev | cut -b1`" if [ "$abspath" = "/" ]; then dev="`echo $nextdev`" else dev="`dirname $dev`/$nextdev" fi done if [ ! -r "$dev" ]; then echo "`ls -l $dev`" echo "WARNING: $dev is not readable" echo "" fi #ide devices ide_devices="`ls /proc/ide | grep hd`" #ide cd/dvd devices for dev in $ide_devices; do driver="`cat /proc/ide/$dev/driver | cut -d' ' -f 1`" if [ "$driver" = "ide-cd" ]; then ide_cd_dev="$ide_cd_dev $dev" elif [ "$driver" = "ide-scsi" ]; then ide_scsi_cd_dev="$ide_scsi_cd_dev $dev" fi done #the devices that can read DVD echo -n "Valid DVD devices:" if [ -z "$DVD_DEV" ]; then echo "" echo "WARNING: No DVD devices found" fi for dev in $DVD_DEV; do scsi_dev="`echo $dev | grep sr`" if [ -n "$scsi_dev" ]; then scsi_nr="`echo $dev | cut -d'r' -f 2`" if [ -b "/dev/sr$scsi_nr" ]; then echo -n " /dev/sr$scsi_nr" elif [ -b "/dev/scd$scsi_nr" ]; then echo -n " /dev/scd$scsi_nr" else echo -n " ** block device is missing: /dev/sr$scsi_nr **" fi else dev="/dev/$dev" if ! [ -a $dev ]; then echo -n "** block device is missing: $dev **" elif ! [ -h $dev ]; then echo -n " $dev" fi while [ -h $dev ]; do nextdev=`ls -l $dev | cut -d'>' -f 2` nextdev="`echo $nextdev`" echo " $dev -> $nextdev" abspath="`echo $nextdev | cut -b1`" if [ "$abspath" = "/" ]; then dev="`echo $nextdev`" else dev="`dirname $dev`/$nextdev" fi done fi done echo "" for dev in $ide_scsi_cd_dev; do echo "/dev/$dev is running ide-scsi (`cat /proc/ide/$dev/model`)" if ! [ -a /dev/$dev ]; then echo " ** block device is missing: $dev **" echo " This may be because you are running devfs," echo " in this case to turn on/off dma with hdparm" echo " you should use the corresponding ide device node" echo " /dev/ide/hostX/busY/targetZ/lun0/generic," echo " where you set X,Y,Z to the apropriate numbers." echo " /dev/hdb would be: /dev/ide/host0/bus0/target1/lun0/generic" echo " hdc: /dev/ide/host0/bus1/target0/..." echo " hdd: /dev/ide/host0/bus1/target1/..." fi if ! [ -a /proc/ide/$dev/settings ]; then echo "/proc/ide/$dev/settings does not exist" elif [ -r /proc/ide/$dev/settings ]; then dma_use="`cat /proc/ide/$dev/settings | grep using_dma`" dma_use="`echo $dma_use | cut -d ' ' -f 2`" if [ -z "$dma_use" ]; then echo "WARNING: Could not get DMA state for /dev/$dev" elif [ "$dma_use" = "1" ]; then echo "DMA is on for /dev/$dev" else echo "" echo "WARNING: DMA is OFF for /dev/$dev" echo "" fi else echo "WARNING: Cannot read /proc/ide/$dev/settings, need to be root to do that?" fi done #ide device information hdparm_path="/sbin /usr/sbin" hdparm_found=0 hpath_empty=0 hdparm_version=`hdparm -V 2> /dev/null` if [ "$?" != "0" ]; then for hpath in $hdparm_path; do if $hpath/hdparm -V 2>/dev/null; then hdparm_found=1 break fi done else hdparm_found=1 hpath_empty=1 echo "$hdparm_version" fi if [ "$hpath_empty" = "1" ]; then hcmd="hdparm" else hcmd="$hpath/hdparm" fi if [ "$hdparm_found" = "1" ]; then for dev in $DVD_DEV; do ide_dev="`echo $dev | grep hd`" if [ -n "$ide_dev" ]; then dmainfo="`$hcmd /dev/$dev 2>/dev/null | grep using_dma | cut -d'=' -f 2 | cut -d\( -f 1`" dmainfo="`echo $dmainfo`" if [ ! -r /dev/$dev ]; then echo "WARNING: Cannot read /dev/$dev, need to be root to do that?" fi if [ -z "$dmainfo" ]; then echo "WARNING: Could not get DMA state for /dev/$dev" elif [ "$dmainfo" = "1" ]; then echo "DMA is on for /dev/$dev" else echo "" echo "WARNING: DMA is OFF for /dev/$dev" echo "" fi $hcmd /dev/$dev 2>/dev/null fi done for dev in $ide_scsi_cd_dev; do dmainfo="`$hcmd /dev/$dev 2>/dev/null | grep using_dma | cut -d'=' -f 2 | cut -d\( -f 1`" dmainfo="`echo $dmainfo`" if [ ! -r /dev/$dev ]; then echo "WARNING: Cannot read /dev/$dev, need to be root to do that?" fi if [ -z "$dmainfo" ]; then echo "WARNING: Could not get DMA state for /dev/$dev" elif [ "$dmainfo" = "1" ]; then echo "DMA is on for /dev/$dev" else echo "" echo "WARNING: DMA is OFF for /dev/$dev" echo "" fi $hcmd /dev/$dev 2>/dev/null done else echo "WARNING: hdparm not found" fi fi ;; "SunOS") sysinfo -class device fpversion ;; esacfiif [ "$check" = "1" ]; then exitfi# This is were all the helper programs are placedprefix=@prefix@exec_prefix=@exec_prefix@DVDP_ROOT=@libdir@/@PACKAGE@export DVDP_ROOTDVDP_CTRL=$DVDP_ROOT/ogle_ctrl$ctrl_debugexport DVDP_CTRLDVDP_DEMUX=$DVDP_ROOT/ogle_mpeg_ps$mpeg_ps_debugexport DVDP_DEMUXDVDP_CLI_UI=$DVDP_ROOT/ogle_cli$cli_debugexport DVDP_CLI_UIif [ -z "$DVDP_UI" -o ! -x "$DVDP_UI" ]; thenif [ -x $DVDP_ROOT/ogle_gui$gui_debug ]; thenDVDP_UI=$DVDP_ROOT/ogle_gui$gui_debugelseDVDP_UI=$exec_prefix/bin/ogle_gui$gui_debugfifiexport DVDP_UI#DVDP_AC3=$DVDP_ROOT/ogle_ac3_p#DVDP_AC3=$DVDP_ROOT/ogle_a52DVDP_AC3=$DVDP_ROOT/ogle_audio$audio_debugexport DVDP_AC3DVDP_LPCM=$DVDP_ROOT/ogle_audio$audio_debugexport DVDP_LPCMDVDP_MPEGAUDIO=$DVDP_ROOT/ogle_audio$audio_debugexport DVDP_MPEGAUDIODVDP_DTSAUDIO=$DVDP_ROOT/ogle_audio$audio_debugexport DVDP_DTSAUDIODVDP_VIDEO=$DVDP_ROOT/ogle_mpeg_vs$mpeg_vs_debugexport DVDP_VIDEODVDP_VMG=$DVDP_ROOT/ogle_nav$nav_debug#DVDP_VMG=RUNNINGexport DVDP_VMG#DVDP_SPU=$DVDP_ROOT/subpicture/spu_wrapDVDP_SPU=$DVDP_ROOT/ogle_vout$vout_debugexport DVDP_SPUDVDP_VIDEO_OUT=$DVDP_ROOT/ogle_vout$vout_debugexport DVDP_VIDEO_OUTif [ -x "$DVDP_UI" ]; then $DVDP_CTRL -u gui $param;else $DVDP_CTRL -u cli $param;fi;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -