r4756 - in /vdr/vdr-plugin-mp3/trunk/debian: changelog patches/00list patches/03_mplayer.sh-websources.dpatch
tschmidt at users.alioth.debian.org
tschmidt at users.alioth.debian.org
Fri Jun 15 16:28:00 UTC 2007
Author: tschmidt
Date: Fri Jun 15 16:28:00 2007
New Revision: 4756
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/?sc=1&rev=4756
Log:
* allow webstreams in playlists for mplayer (closes: #427675)
Added:
vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch (with props)
Modified:
vdr/vdr-plugin-mp3/trunk/debian/changelog
vdr/vdr-plugin-mp3/trunk/debian/patches/00list
Modified: vdr/vdr-plugin-mp3/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr-plugin-mp3/trunk/debian/changelog?rev=4756&op=diff
==============================================================================
--- vdr/vdr-plugin-mp3/trunk/debian/changelog (original)
+++ vdr/vdr-plugin-mp3/trunk/debian/changelog Fri Jun 15 16:28:00 2007
@@ -1,3 +1,9 @@
+vdr-plugin-mp3 (0.9.15-14) UNRELEASED; urgency=low
+
+ * allow webstreams in playlists for mplayer (closes: #427675)
+
+ -- Thomas Schmidt <tschmidt at debian.org> Fri, 15 Jun 2007 18:27:16 +0200
+
vdr-plugin-mp3 (0.9.15-13) unstable; urgency=low
* Added XS-Vcs-Svn and XS-Vcs-Browser fields to debian/control
Modified: vdr/vdr-plugin-mp3/trunk/debian/patches/00list
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr-plugin-mp3/trunk/debian/patches/00list?rev=4756&op=diff
==============================================================================
--- vdr/vdr-plugin-mp3/trunk/debian/patches/00list (original)
+++ vdr/vdr-plugin-mp3/trunk/debian/patches/00list Fri Jun 15 16:28:00 2007
@@ -1,5 +1,6 @@
01_mp3-ogg-conv-utf8
02_mplayer.sh-mysterix
+03_mplayer.sh-websources
10_debian-fhs-defaults
11_mplayer.sh.conf-defaults
91_mp3-vdr150
Added: vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch?rev=4756&op=file
==============================================================================
--- vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch (added)
+++ vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch Fri Jun 15 16:28:00 2007
@@ -1,0 +1,635 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 03_mplayer.sh-websources.dpatch by Thomas Schmidt <tschmidt at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Allow webstreams in mplayer-playlists (closes: #427675)
+
+ at DPATCH@
+diff -urNad vdr-plugin-mp3-0.9.15~/debian/mplayer.sh vdr-plugin-mp3-0.9.15/debian/mplayer.sh
+--- vdr-plugin-mp3-0.9.15~/debian/mplayer.sh 2007-06-15 18:22:00.000000000 +0200
++++ vdr-plugin-mp3-0.9.15/debian/mplayer.sh 2007-06-15 18:22:21.000000000 +0200
+@@ -513,6 +513,7 @@
+ PLS="true"
+ PLSFILE="$FILE"
+ first=`grep -v -m1 "^#" $FILE`
++ WEBSOURCE=`echo $first|egrep "^(mms|mmst|http|http_proxy|rtp|rtsp|ftp|udp|unsv|smb|mpst|tivo)://"`
+ FILE="$first"
+ ;;
+ *)
+@@ -522,7 +523,7 @@
+
+
+ if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh <File_to_be_played>"; exit; fi
+-if ! test -r "$FILE"; then echolog "*** ERROR: Make sure $FILE exists and is readable - otherwise it cannot be played ;-)"; exit; fi
++if test -z "$WEBSOURCE" -a ! test -r "$FILE"; then echolog "*** ERROR: Make sure $FILE exists and is readable - otherwise it cannot be played ;-)"; exit; fi
+
+ # Check if config file exists!
+ declare CFGFIL="${0}.conf"
+diff -urNad vdr-plugin-mp3-0.9.15~/debian/mplayer.sh.orig vdr-plugin-mp3-0.9.15/debian/mplayer.sh.orig
+--- vdr-plugin-mp3-0.9.15~/debian/mplayer.sh.orig 1970-01-01 01:00:00.000000000 +0100
++++ vdr-plugin-mp3-0.9.15/debian/mplayer.sh.orig 2007-06-15 18:22:00.000000000 +0200
+@@ -0,0 +1,604 @@
++#!/bin/bash
++#
++# $Id: mplayer.sh,v 1.41.2.7 2007/02/11 15:33:29 juri Exp $
++#
++
++unset LANG
++declare VERSION="0.8.7"
++
++# History (as always in the source code :-)
++# 0.8.7 - added 544x480 as valid NTSC resolution (thanks to C.Y.M)
++# - removed 688x576 from the valid PAL resolutions;
++# - calculate USE_SPEED with 30 fps instead of 29.97
++# - use '-vf' and '-af' instead of '-vop' and '-aop', as the
++# latter are deprecated
++#
++# 0.8.6 - fixed a copy'n'paste bug regarding the subtitle background
++# alpha color (thanks to Christian Haider)
++# - changed the fps values from rational values to integer ones
++# - fixed a typo setting DETC (thanks to Soeren Sonnenburg)
++# - disabled the use of -forceidx for RealVideos, because since
++# mplayer-1.0pre5 it isn't necessary anymore
++#
++# 0.8.5 - changed the check for the existence of the video file to check also
++# that it can actually be read
++# - added a new PAL height: 544
++# - [experimental] use detelicining (detc) filter to play NTSC as PAL;
++# thanks to Martin Hoffmann for this one
++# - [experimental] make the detelecinig filter configurable via conf-file
++# - changed the warning messages about wrong DVD options to be displayed
++# only when DEBUG is set to true
++# - added a comment to mplayer.sh.conf that the DVD dummy files MUST be
++# named DVD/VCD in capital letters
++# - removed '-afm 9' from AO defaults, because audio filters by numbers are
++# removed from MPlayer (9 meant hwac, it is handeled differently anyway)
++# - changed the the use of the -speed parameter: the man pages says one
++# should use a value between 0.01 and 100, not something like 25:24
++#
++# 0.8.4 - added some more debugging info
++# - changed the MPlayer option that is used to play DVDs and VCDs from
++# -vcd/-dvd to VCD:// and DVD://
++# - added cuefile support for MPlayer version 1.0x
++# - added new config option to distinguish MPlayer versions (0.9x or 1.0)
++# important for playing cuefiles
++# - fixed bug in detecting empty CACHE option
++# - fixed a bug where USE_SPEED is ignored and '-speed' always used
++# - added a check for the return value of 'mplayer -identify'
++# - added support for AC3 sound when playing a DVD
++# - make audio output configurable via config file (e.g. for DXR3)
++#
++# 0.8.3 - changed the default value of USERDEF from '-really-quiet' to '-quiet',
++# because it suppressed the progressbar messages from mplayer
++# - added '-dvd 1' to the DVD call to reliably play a DVD
++# (though only the first one)
++#
++# 0.8.2 - changed the way mplayer is called to identify files;
++# should prevent the opening of a X window, that happens
++# on some systems
++# - play mpeg files without any scaling if possible
++# - added config line for AC3 out via DVB card (thanks to Christian Jacobsen)
++# - added a new config option to choose the video out device;
++# intended for dx3 users
++# - added config options for subtitles (thanks to Martin Åkerström)
++# - fixed a bug when SLOW_CPU is set to "false" instead of being
++# just commented out
++# - minor code clean-up
++# - cleanup some comments and messages
++#
++# 0.8.1 - fixed a bug when DVDFiles or DVD not set correctly
++# - if path to mplayer is incorrect, log an error and exit
++# - cue file support; you can now choose a cue file as input;
++# after I did this on user request, I asked myself, for what
++# do one needs this, as mplayer can play .bin files directly...
++# - support for 16/9 TV sets (thanks to Vaclav Janecek)
++#
++# 0.8.0 - bumped the version number to be more flexible
++# - added VCD/DVD support
++#
++# 0.0.7 - clear LANG variable
++# - added support for slow computers: reduces the Y
++# resolution to the half of the possible maximum
++# - use kind of a window for detecting the frames_per_sec
++#
++# 0.0.6a-jha
++# - fixed a bug that prevented the SLAVE mode from working
++#
++# 0.0.6-jha
++# - major rework
++# - added config option to disable either NTSC or PAL support
++# - added mplayer's '-speed' option; is disabled by default (see
++# config file), because it didn't work as expected for me
++# - rudimentary sub titles support:
++# if a sub titles file (.sub suffix) with exactly the
++# same name as the played video file exists, it is used
++# (not really useful yet)
++# - changed the was the config file is parsed:
++# let's do it the simple way, just source the file
++# =================================================
++# ---> IMPORTANT! you MUST use the new config file
++# =================================================
++#
++# 0.0.5d-jha
++# - added AC3 support (thanks to Christian Jacobsen
++# <christian.jacobsen -at- stageholding.de>)
++# - better support for mplayers SLAVE mode
++# - fixed some scaling problems
++# - some minor clean-ups
++#
++# 0.0.5c-jha
++# - play videos with 24 or 23.976 fps as NTSC, not PAL
++#
++# 0.0.5b-jha
++# - Improved getvidxy - thanks to new mplayer option '-identify'
++# it gets now the correct values for X-/Y-resolution
++# and the framerate (if defined in the video file)
++# for all media files
++# - reworked the scaling calculation to scale only if needed
++# and if so, scale as little as possible to save CPU power
++# - distinguish between NTSC and PAL files; play them with
++# the right TV norm
++#
++# 0.0.4 Improved getvidxy - No Temp Files needed anymore!
++#
++# 0.0.3 Seems to work fine - still lacks support for X x 432 Files
++# What about MPEG Files ?
++#
++
++
++function initialize () {
++ # source config file
++ source "$CFGFIL"
++
++ # Debug Mode ?
++ if test -z "$DEBUG" -o "$DEBUG" != "true"; then DEBUG=false; fi
++
++ # use AC3?
++ if test -z "$USEAC3" -o "$USEAC3" != "true"; then USEAC3=false; fi
++ debugvar USEAC3 "$USEAC3"
++
++ # AC3 command line
++ if test -z "$AC3AOUT"; then
++ errorcfg AC3AOUT
++ exit
++ else
++ debugvar AC3AOUT "$AC3AOUT"
++ fi
++
++ # TV aspect ratio
++ if test -z "$TV_ASPECT"; then errorcfg TV_ASPECT; fi
++ debugvar TV_ASPECT "$TV_ASPECT"
++
++ # can do PAL?
++ if test -z "$PAL" -o "$PAL" != "true"; then PAL=false; fi
++ debugvar PAL "$PAL"
++
++ # can do NTSC?
++ if test -z "$NTSC" -o "$NTSC" != "true"; then NTSC=false; fi
++ debugvar NTSC "$NTSC"
++
++ if test $NTSC == "false" -a $PAL == "false"; then
++ echolog "*** FATAL: Config Options NTSC and PAL both set to false ... Exiting."
++ exit
++ fi
++
++ # use speed setting?
++ SPEED=""
++ if test -z "$USE_SPEED"; then USE_SPEED=false; fi
++ debugvar USE_SPEED "$USE_SPEED"
++
++ # which detelecining filter should be used, if configured
++ # to play NTSC as PAL
++ if test -z "$DETC_FILTER"; then DETC_FILTER="detc=dr=2:am=1"; fi
++ debugvar DETC_FILTER "$DETC_FILTER"
++
++ # where is Mplayer
++ if ! test -x "$MPLAYER" -a -f "$MPLAYER"; then
++ echolog "*** Option MPLAYER not found in config file or not set correctly"
++ exit
++ else
++ debugvar MPLAYER "$MPLAYER"
++ fi
++
++ if test -z "$VOP"; then errorcfg VOP; exit; else debugvar VOP "$VOP"; fi
++
++ if test -z "$VO"; then errorcfg VO; exit; else debugvar VO "$VO"; fi
++
++ if test -z "$AO"; then errorcfg AO; exit; else debugvar AO "$AO"; fi
++ AOUT="-ao $AO"
++
++ if test -z $CACHE; then
++ echolog "*** Option CACHE not set in config file - calling mplayer without Cache!"
++ CACHESTR="-nocache"
++ else
++ CACHESTR="-cache $CACHE"; debugvar CACHE "$CACHE"; debugvar CACHESTR "$CACHESTR"
++ fi
++
++ if test -z "$FRAMEDROP" -o "$FRAMEDROP" != "true"; then FRAMEDROP=false; fi
++ debugvar FRAMEDROP "$FRAMEDROP"
++ if $FRAMEDROP; then FDSTR="-framedrop"; fi
++ debugvar FDSTR "$FDSTR"
++
++ declare LIRCSTR="" # no extra Lirc option!
++ if ! test -z "$LIRCRC"; then LIRCSTR="-lircconf $LIRCRC"; fi
++ debugvar LIRCRC "$LIRCRC"; debugvar LIRCSTR "$LIRCSTR"
++
++ if ! test -z "$SUBPOS"; then SUBTITLES=" -subpos $SUBPOS"; fi
++ if ! test -z "$SUBCOLOR"; then SUBTITLES="$SUBTITLES -sub-bg-color $SUBCOLOR"; fi
++ if ! test -z "$SUBALPHA"; then SUBTITLES="$SUBTITLES -sub-bg-alpha $SUBALPHA"; fi
++
++ debugvar SUBTITLE "$SUBTITLES"
++
++ if test "$SLAVE" != "SLAVE"; then
++ REMOTE="$LIRCSTR"
++ else
++ REMOTE="-slave -nolirc"
++ fi
++ debugvar REMOTE "$REMOTE"
++
++ if ! test -z "$USERDEF"; then echolog "*** Use Option USERDEF at your own risk!"; fi
++ debugvar USERDEF "$USERDEF"
++
++ if test -z $XResPAL; then errorcfg XResPAL; exit; else debugvar XResPAL "${XResPAL[*]}"; fi
++ if test -z $XResNTSC; then errorcfg XResNTSC; exit; else debugvar XResNTSC "${XResNTSC[*]}"; fi
++
++ # do we run on a slow computer?
++ if test -z "$SLOW_CPU" -o "$SLOW_CPU" == "false"; then
++ SLOW_CPU=false
++ else
++ XResPAL=(352)
++ XResNTSC=(352)
++ debugvar XResPAL "${XResPAL[*]}"
++ debugvar XResNTSC "${XResNTSC[*]}"
++ fi
++ debugvar SLOW_CPU "$SLOW_CPU"
++
++ if ! test -d "$DVDFiles"; then debugmsg "*** Option DVDFiles not set correctly! You will not be able to play VCD/DVD" ""; DVDFiles=""; fi
++ debugvar DVDFiles "$DVDFiles"
++ if ! test -b "$DVD"; then debugmsg "*** Option DVD not set correctly! You will not be able to play VCD/DVD" ""; DVD=""; fi
++ debugvar DVD "$DVD"
++ if test -z $DVDLANG; then DVDLANG="en"; fi
++ debugvar DVDLANG "$DVDLANG"
++
++ # extra DVD options
++ debugvar DVDOPTIONS "$DVDOPTIONS"
++
++ # extra VCD options
++ debugvar VCDOPTIONS "$VCDOPTIONS"
++
++ # play MPEG files without rescaling?
++ if test -z "$MPEG_DIRECT" -o "$MPEG_DIRECT" != "false"; then MPEG_DIRECT="true"; fi
++ debugvar MPEG_DIRECT "$MPEG_DIRECT"
++
++ # get the file extension of the video
++ SUFFIX=$(echo -e "${FILE:$[${#FILE}-4]:4}" | tr [A-Z] [a-z])
++ debugvar SUFFIX $SUFFIX
++
++ if test -z "$MPLAYER_V1"; then
++ echolog "*** MPLAYER_V1 not set! Setting it to 'false'."
++ echolog "*** If you cannot play cue-files, then set it to 'true'."
++ MPLAYER_V1="false"
++ fi
++ debugvar MPLAYER_V1 "$MPLAYER_V1"
++
++ return;
++}
++
++
++function getvidxy () {
++
++ # call: getvidxy
++ # determine x and y resolution of the file!
++ # output: variable ORIG_X and ORIG_Y (global)
++
++ # variable definitions
++ local TEMP1 MPLAYER_RETURN
++ ORIG_X=0; ORIG_Y=0
++
++ TEMP1=`$MPLAYER -identify -vo null -ao null -frames 0 "$FILE" 2>/dev/null | grep -i -e "^ID_"`
++ MPLAYER_RETURN=$?
++ debugmsg "OutputFromMPLAYER:" "$TEMP1"
++ debugmsg "MPLAYER_RETURN: " "$MPLAYER_RETURN"
++
++ if test $MPLAYER_RETURN -ne 0; then
++ echolog "*** FATAL: something went wrong analyzing the video; mplayer reported an error!"
++ echolog "*** FATAL: check your mplayer installation. Exiting..."
++ exit
++ fi
++
++ ORIG_X=`echo "$TEMP1"|grep ID_VIDEO_WIDTH|cut -d"=" -f2`
++ debugmsg "parsed output for ORIG_X:" $ORIG_X
++
++ ORIG_Y=`echo "$TEMP1"|grep ID_VIDEO_HEIGHT|cut -d"=" -f2`
++ debugmsg "parsed output for ORIG_Y:" $ORIG_Y
++
++ ORIG_FPS=`echo "$TEMP1"|grep ID_VIDEO_FPS|cut -d"=" -f2`
++ debugmsg "parsed output for ORIG_FPS:" $ORIG_FPS
++
++ ORIG_ASPECT=`echo "$TEMP1"|grep ID_VIDEO_ASPECT|cut -d"=" -f2`
++ debugmsg "parsed output for ORIG_ASPECT:" $ORIG_ASPECT
++
++ VIDEO_FORMAT=`echo "$TEMP1"|grep ID_VIDEO_FORMAT|cut -d"=" -f2`
++ debugmsg "parsed output for VIDEO_FORMAT:" $VIDEO_FORMAT
++
++ AUDIO_CODEC=`echo "$TEMP1"|grep ID_AUDIO_CODEC|cut -d"=" -f2`
++ debugmsg "parsed output for AUDIO_CODEC:" $AUDIO_CODEC
++
++ return;
++}
++
++
++function calcnewxy () {
++ local -i MAX_X TEMP_ASPECT
++# TEMP_ASPECT=`echo $ORIG_ASPECT|sed 's/\.//'`
++# if test $TEMP_ASPECT -eq 0; then TEMP_ASPECT=$((4000/3)); fi
++
++ if test $ORIG_X -gt 352 -o $ORIG_Y -gt $HALF_Y; then
++ MAX_X=$(($FULL_Y*$TV_ASPECT))
++ else
++ MAX_X=$(($HALF_Y*$TV_ASPECT))
++ fi
++ debugvar MAX_X $MAX_X
++
++ NEW_Y=$(($MAX_X*$ORIG_Y/$ORIG_X)); debugvar NEW_Y $NEW_Y
++ echolog "*** INFO: For Sqare Pixels we would scale to $MAX_X x $NEW_Y ..."
++ test $NEW_Y -gt $FULL_Y && NEW_Y=$FULL_Y # force full screen/ ignore aspect ratio!
++
++ return;
++}
++
++
++function choosebestx () {
++ local -i MAX_X INDEX
++ local XResTEMP
++ declare repeat=true
++ INDEX=0
++
++ if $SLOW_CPU; then
++ XResTEMP=(352)
++ else
++ if test $HALF_Y -eq 240; then
++ XResTEMP=(${XResNTSC[*]})
++ else
++ if test $HALF_Y -eq 288; then
++ XResTEMP=(${XResPAL[*]})
++ else
++ echolog "*** FATAL: HALF_Y not set or unknown: \"$HALF_Y\" ... Exiting."
++ exit
++ fi
++ fi
++ fi
++ debugvar XResTEMP "${XResTEMP[*]}"
++
++ ANZAHL=${#XResTEMP[*]}
++ debugvar AnzahlVonXResTEMP $ANZAHL
++
++ until ! $repeat; do
++ if test ${XResTEMP[$INDEX]} -ge $ORIG_X; then repeat=false; NEW_X=${XResTEMP[$INDEX]}; fi
++ INDEX=$(($INDEX+1))
++ if test $INDEX -ge $ANZAHL; then repeat=false; NEW_X=${XResTEMP[$ANZAHL-1]}; fi
++ done
++ debugvar NEW_X $NEW_X
++
++ return;
++}
++
++
++function choosebesty () {
++ if test \( $ORIG_Y -eq $HALF_Y -a $ORIG_X -eq 352 \) -o \( $ORIG_Y -eq $FULL_Y -a ! $SLOW_CPU \); then
++ REAL_Y=$ORIG_Y
++ NEW_Y=$ORIG_Y
++ NEW_X=$ORIG_X
++ debugmsg "setting NEW = ORIG"
++ else
++ if test $ORIG_X -gt 352 -o $ORIG_Y -gt $HALF_Y; then
++ REAL_Y=$FULL_Y
++ debugmsg "setting REAL_Y = FULL_Y"
++ else
++ REAL_Y=$HALF_Y
++ debugmsg "setting REAL_Y = HALF_Y"
++ fi
++ fi
++ return;
++}
++
++
++function set_ntsc () {
++ HALF_Y=240
++ if $SLOW_CPU; then
++ FULL_Y=$HALF_Y
++ else
++ FULL_Y=480
++ fi
++ NEW_FPS="30"
++ return;
++}
++
++
++function set_pal () {
++ HALF_Y=288
++ if $SLOW_CPU; then
++ FULL_Y=$HALF_Y
++ else
++ FULL_Y=576
++ fi
++ NEW_FPS="25"
++ return;
++}
++
++
++function checkforac3 () {
++ if test "X$AUDIO_CODEC" == "Xa52" && $USEAC3; then AOUT="$AC3AOUT"; fi
++ return;
++}
++
++
++function checktvnorm () {
++local -i TEMP_FPS
++TEMP_FPS=`echo $ORIG_FPS|sed 's/\.//'`
++ if test $TEMP_FPS -ge "23000" -a $TEMP_FPS -le "24499"; then
++ debugmsg "Film"
++ if $NTSC; then
++ set_ntsc
++ else
++ set_pal
++ $USE_SPEED && SPEED="-speed 1.04" # 25/24 = 1.04
++ fi
++ else
++ if test \( $TEMP_FPS -ge "14000" -a $TEMP_FPS -le "16000" \) -o \( $TEMP_FPS -ge "29000" -a $TEMP_FPS -le "30499" \); then
++ debugmsg "NTSC"
++ if $NTSC; then
++ set_ntsc
++ else
++ set_pal
++ if $USE_SPEED; then
++ SPEED="-speed 1.04" # 25/24 = 1.04
++ DETC=",$DETC_FILTER"
++ fi
++ fi
++ else
++ debugmsg "PAL or unknown" $ORIG_FPS
++ if $PAL; then
++ set_pal
++ else
++ set_ntsc
++ $USE_SPEED && SPEED="-speed 1.20" # 30/25 = 1.20
++ fi
++ fi
++ fi
++ return;
++}
++
++
++function echolog () {
++ # prints the string on stdout and into /var/log/messages using logger!
++ logger -s -- "$1"
++ return;
++}
++
++
++function errorcfg () {
++ echolog "*** FATAL: Config Option $1 not found in config file ... Exiting."
++ exit;
++}
++
++
++function debugvar () {
++ if $DEBUG; then echolog "*** DEBUG: Variable $1 has value \"$2\""; fi
++ return;
++}
++
++
++function debugmsg () {
++ if $DEBUG; then echolog "*** DEBUG: $1 \"$2\""; fi
++ return;
++}
++
++
++# begin main!
++#
++#
++# ---------------------------------------------------------------------------
++#
++#
++
++declare -i ORIG_X ORIG_Y
++declare -i NEW_X NEW_Y
++declare -i HALF_Y FULL_Y
++declare ORIG_FPS NEW_FPS ORIG_ASPECT VIDEO_FORMAT AUDIO_CODEC
++declare CMDLINE AOUT REMOTE USERDEF SUFFIX
++declare FILE="$1"
++declare -a XResPAL[0]
++declare -a XResNTSC[0]
++declare FDSTR=""
++declare SUBTITLES=""
++declare DETC=""
++
++
++while shift; do
++ if [ "$1" = "SLAVE" ]; then
++ SLAVE="SLAVE"
++ elif [ "$1" = "AID" ]; then
++ AID="AID"
++ AIDLEVEL="$2"
++ shift
++ fi
++done
++
++
++echolog "*** Starting mplayer.sh Version $VERSION"
++
++# Check if file a Playlist and set neccassary parameter
++case "$FILE" in
++ *.pls | *.m3u)
++ PLS="true"
++ PLSFILE="$FILE"
++ first=`grep -v -m1 "^#" $FILE`
++ FILE="$first"
++ ;;
++ *)
++ FILE="$FILE"
++ ;;
++esac
++
++
++if test -z "$FILE"; then echolog "*** USAGE: mplayer.sh <File_to_be_played>"; exit; fi
++if ! test -r "$FILE"; then echolog "*** ERROR: Make sure $FILE exists and is readable - otherwise it cannot be played ;-)"; exit; fi
++
++# Check if config file exists!
++declare CFGFIL="${0}.conf"
++debugvar CFGFIL $CFGFIL
++if ! test -f $CFGFIL; then echolog "*** FATAL: mplayer.sh.conf not found!!! Exiting." ; exit; fi
++
++# read config file and initialize the variables
++initialize
++
++
++if test \( "$FILE" == "$DVDFiles/DVD" -o "$FILE" == "$DVDFiles/VCD" \) -a -n "$DVDFiles" -a -n "$DVD"; then
++ if test "$FILE" == "$DVDFiles/DVD"; then
++ $USEAC3 && AOUT="$AC3AOUT"
++ CMDLINE="$MPLAYER -vo $VO $AOUT -alang $DVDLANG $DVDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -dvd-device $DVD dvd://"
++ fi
++ if test "$FILE" == "$DVDFiles/VCD"; then
++ CMDLINE="$MPLAYER -vo $VO $AOUT $VCDOPTIONS $FDSTR $CACHESTR $REMOTE $USERDEF -cdrom-device $DVD vcd://"
++ fi
++ unset FILE
++elif test "${SUFFIX}" == ".cue"; then
++ if $MPLAYER_V1; then
++ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF cue://$FILE:2"
++ unset FILE
++ else
++ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF -vcd 2 -cuefile"
++ fi
++else
++ # Try to determine the video attributes
++ if $DEBUG; then echolog "*** DEBUG: Calling getvidxy function to analyze source video stream ..."; fi
++ getvidxy
++ echolog "*** INFO: Source Video has Resolution of $ORIG_X x $ORIG_Y ..."
++ if test $ORIG_X -eq 0 -o $ORIG_Y -eq 0; then echolog "*** FATAL: something went wrong analyzing the video; check your mplayer version ..."; exit; fi
++
++ NEW_FPS=$ORIG_FPS
++
++# if `echo "$VIDEO_FORMAT"| egrep -q "RV??"`; then
++# FORCEIDX="-forceidx"
++# else
++# FORCEIDX=""
++# fi
++
++ checkforac3
++ checktvnorm
++ calcnewxy
++ choosebestx
++ choosebesty
++ if test $NEW_X -eq 0 -o $NEW_Y -eq 0; then echolog "*** FATAL: Illegal Resolution ..."; exit; fi
++
++ if test $MPEG_DIRECT == "true" -a \( $VIDEO_FORMAT == "0x10000001" -o $VIDEO_FORMAT == "0x10000002" \) -a \( \
++ \( $PAL -a $NEW_FPS == "25" -a \( \( $ORIG_X == "352" -a $ORIG_Y == "288" \) -o \( $ORIG_Y == "576" -a \
++ \( $ORIG_X == "352" -o $ORIG_X == "480" -o $ORIG_X == "528" -o $ORIG_X == "544" -o $ORIG_X == "704" -o $ORIG_X == "720" \) \) \) \) -o \
++ \( $NTSC -a $NEW_FPS == "30" -a \( \( $ORIG_X == "352" -a $ORIG_Y == "240" \) -o \( $ORIG_Y == "480" -a \
++ \( $ORIG_X == "352" -o $ORIG_X == "480" -o $ORIG_X == "512" -o $ORIG_X == "544" -o $ORIG_X == "640" -o $ORIG_X == "704" -o $ORIG_X == "720" \) \) \) \) \
++ \) ; then
++ CMDLINE="$MPLAYER -vo $VO $AOUT $FDSTR $CACHESTR $REMOTE $USERDEF"
++ else
++ CMDLINE="$MPLAYER -vo $VO $AOUT -vf scale=$NEW_X:${NEW_Y}${DETC},expand=$NEW_X:$REAL_Y:-1:-1:1,$VOP:$NEW_FPS $SPEED $FDSTR $CACHESTR $REMOTE $SUBTITLES $USERDEF $FORCEIDX"
++ fi
++fi
++
++
++# Check and Set AID for mplayer to use different Audiolines
++if test "$AID" == "AID";then
++ OPTAID=" -aid $AIDLEVEL"
++ CMDLINE="$CMDLINE $OPTAID"
++fi
++
++# Check for Playlist and add neccessary commandlines
++if test "$PLS" == "true";then
++ OPTPLS=" -playlist "
++ FILE="$PLSFILE"
++ CMDLINE="$CMDLINE $OPTPLS"
++fi
++
++#echolog "$CMDLINE"
++
++debugvar CMDLINE "$CMDLINE"
++exec $CMDLINE "$FILE"
++exit
Propchange: vdr/vdr-plugin-mp3/trunk/debian/patches/03_mplayer.sh-websources.dpatch
------------------------------------------------------------------------------
svn:executable = *
More information about the pkg-vdr-dvb-changes
mailing list