]> git.vomp.tv Git - vompserver.git/commitdiff
*** empty log message ***
authorChris Tallon <chris@vomp.tv>
Sat, 27 Dec 2008 15:27:43 +0000 (15:27 +0000)
committerChris Tallon <chris@vomp.tv>
Sat, 27 Dec 2008 15:27:43 +0000 (15:27 +0000)
copyClientFiles.sh [new file with mode: 0644]
test1.sh [new file with mode: 0644]
vompclient.c

diff --git a/copyClientFiles.sh b/copyClientFiles.sh
new file mode 100644 (file)
index 0000000..c093954
--- /dev/null
@@ -0,0 +1,73 @@
+#! /bin/sh
+
+filelist="mediaprovider.h media.h media.cc mediaplayer.h mediaplayer.cc mediafile.h mediafile.cc serialize.h serialize.cc vdrcommand.h mediaproviderids.h"
+usage() {
+  echo "usage: $0 [-f] [clientdir]"
+  echo "   if clientdir is not given VOMPCLIENT has to be set"
+}
+
+error() {
+  echo "--ERROR-- "$*
+  exit 1
+}
+
+#p1 - in name
+translateName() {
+  echo $1 | sed 's/\.cc$/.c/'
+}
+
+if [ "$1" = "-h" ] ; then
+  usage
+  exit 0
+fi
+
+if [ "$1" = "-f" ] ; then
+  force=1
+  shift
+fi
+
+clientdir=$1
+if [ "$clientdir" = "" ] ; then
+  clientdir=$VOMPCLIENT
+fi
+if [ "$clientdir" = "" ] ; then
+  echo neither clientdir provided nor VOMPCLIENT set
+  usage
+  exit 1
+fi
+backupdir=../vompserver-backup
+if [ "$VOMPSERVERBACKUP" != "" ] ; then
+  backupdir=$VOMPSERVERBACKUP
+fi
+
+be=`date +%Y%m%d%H%M%S`
+
+backupdir=$backupdir/$be
+echo "backing up to $backupdir"
+mkdir -p $backupdir || error "unable to create backup directorry $backupdir"
+
+for file in $filelist
+do
+  [ ! -f $clientdir/$file ] && error "$clientdir/$file not found"
+done
+
+for file in $filelist
+do
+  ofile=`translateName $file`
+  if [ -f $ofile -a ! -L $ofile ] ; then
+    echo backing up $ofile to $backupdir/$ofile
+    cp $ofile $backupdir/$ofile || error "failed to backup $ofile"
+    rm -f $ofile
+  fi
+  if [ "$force" = 1 ] ; then
+    rm -f $ofile
+  fi
+  if [ ! -L $ofile ] ; then
+    echo linking $clientdir/$file $ofile
+    ln -s $clientdir/$file $ofile || error "unable to link $clientdir/$file to $ofile"
+  else
+    echo $ofile already exists as link, skip
+  fi
+done
+
+
diff --git a/test1.sh b/test1.sh
new file mode 100644 (file)
index 0000000..93d883e
--- /dev/null
+++ b/test1.sh
@@ -0,0 +1,193 @@
+#! /bin/sh
+#testcommand for media player
+#parameters: command [filename] [...]
+#  test
+#  play filename xsize ysize
+#return -1 if any error (no output!)
+#this script is prepared for tools writing to stdout or requiring a file name
+#  for tools writing to stdout simple create a new convertXXX function
+#    that sends the tool to background and sets MPID to the pid
+#  for tools requiring a filename call createFifo first, then
+#    also create a function that sends the tool in background
+#  after starting the conversion tool call waitFkt, this will kill the conversion
+#  tool and the fifo reader if we are killed or if one of the tools finishes
+
+#set -x
+
+FIFO=/tmp/vdrfifo$$
+
+log() {
+  echo >/dev/null
+  #echo "$$:`date `:$*" >> /tmp/test1.log
+}
+
+trapfkt() {
+  log "trap received"
+  if [ "$MPID" != "" ] ; then
+    kill $MPID > /dev/null 2>&1
+    kill -9 $MPID > /dev/null 2>&1
+  fi
+  if [ "$FPID" != "" ] ; then
+    kill $FPID > /dev/null 2>&1
+    kill -9 $FPID > /dev/null 2>&1
+  fi
+  if [ -p $FIFO ] ; then
+    rm -f $FIFO
+  fi
+}
+
+#create a fifo and start a cat
+createFifo() {
+  mkfifo $FIFO >/dev/null 2>&1 || exit 1
+  cat $FIFO 2>&1 &
+  FPID=$!
+}
+  
+#convert AVI to mpeg2, suing mencoder see
+#http://www.wiki.csoft.at/index.php/MEncoder_Scripts
+convertAVI() {
+   #mencoder  -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=9800:vbitrate=5000:keyint=15:acodec=mp2:abitrate=192 $RTOP -o $FIFO $1 > /dev/null 2>&1 &
+   mencoder  -oac lavc -ovc lavc -of mpeg -mpegopts format=dvd -vf harddup -srate 48000 -af lavcresample=48000 -lavcopts vcodec=mpeg2video:vrc_buf_size=1835:vrc_maxrate=5000:vbitrate=3000:keyint=15:acodec=mp2:abitrate=192 $RTOP -o $FIFO $1 > /dev/null 2>&1 &
+  MPID=$!
+}
+
+#convert WAV to mpeg using lame
+convertWAV() {
+lame -v -b 192 -S $1 - - 2>&1 &
+MPID=$!
+}
+
+#convert pictures using GraphicsMagic
+convertPicture(){
+  if [ "$2" != "" -a "$3" != "" ] ; then
+    fopt="-geometry ${2}x$3"
+  fi
+  gm convert $fopt "$1" jpeg:- 2>&1 &
+  MPID=$!
+}
+
+#cat data
+catData() {
+  cat "$1" 2>&1 &
+  MPID=$!
+}
+
+#convert a playlist
+#handle http:// as audio-url
+convertList() {
+  cat "$1" 2>&1 | sed 's?^ *http:\(.*\)?/http:\1.http-audio?'
+}
+
+#get a HTTP url via wget
+getHTTP() {
+  wget -q -O - "$1" 2>&1 &
+  MPID=$!
+}
+
+
+
+
+
+#wait until the cat or the converter have been stopped
+waitFkt() {
+  while [ 1 = 1 ]
+  do
+  dokill=0
+  if [ "$MPID" != "" ] ; then
+    kill -0 $MPID >/dev/null 2>&1 || dokill=1
+  fi
+  if [ "$FPID" != "" ] ; then
+    kill -0 $FPID >/dev/null 2>&1 || dokill=1
+  fi
+  if [ $dokill = 1 ] ; then
+    log "killing MPID=$MPID FPID=$FPID"
+    kill -9 $MPID > /dev/null 2>&1
+    MPID=""
+    kill -9 $FPID > /dev/null 2>&1
+    FPID=""
+  fi
+  if [ "$FPID" = "" -a "$MPID" = "" ] ; then
+    log leaving waitFkt
+    break
+  fi
+  usleep 100000
+  done
+  exit 0
+}
+    
+
+log started with param "$*"
+if [ "$1" = "" ] ; then
+  echo inavlid call
+  exit 1
+fi
+trap trapfkt 0 1 2 3 4 5 6 7 8 10 11 12 13 14 15
+case $1 in
+  check)
+  exit 0
+  ;;
+  play)
+  exts=`echo "$2" | sed 's/.*\.//'` 
+  if [ "$exts" = "" ] ; then
+    exit 1
+  fi
+  fname=`echo "$2" | sed 's/\.[^.]*$//'`
+  case $exts in
+    xmpg)
+    #mpeg2 test
+    nname="$fname.mpg"
+    cat "$nname" &
+    MPID=$!
+    waitFkt
+    ;;
+    xjpg)
+    #jpeg test
+    nname="$fname.jpg"
+    [ "$nname" = "" ] && exit 1
+    [ ! -f "$nname" ] && exit 1
+    convertPicture "$nname" $3 $4
+    waitFkt
+    ;;
+    xmp3)
+    #mp3 test
+    nname="$fname.mp3"
+    cat "$nname" &
+    MPID=$!
+    waitFkt
+    ;;
+    #real converting functions
+    bmp|BMP|tiff|TIFF|png|PNG)
+    convertPicture "$2" $3 $4
+    waitFkt
+    ;;
+    AVI|avi)
+    createFifo
+    convertAVI "$2" $3 $4
+    waitFkt
+    ;;
+    WAV|wav)
+    convertWAV "$2"
+    waitFkt
+    ;;
+    xdir)
+    catData "$2"
+    waitFkt
+    ;;
+    m3u|dir)
+    convertList "$2"
+    waitFkt
+    ;;
+    http-audio)
+    fn=`echo "$2" | sed 's/\.[^.]*$//' | sed 's?^ */??'`
+    getHTTP "$fn"
+    waitFkt
+    ;;
+    *)
+    exit 1
+    ;;
+  esac
+  ;;
+  *)
+  exit 1
+  ;;
+esac
index f4ddba4fba34c0e60ca5c1225e688e277fcb6534..8963b4c5ad52e9e0e2862143598062fceee28185 100644 (file)
@@ -80,6 +80,9 @@ VompClient::~VompClient()
 #endif
   if (loggedIn) cleanConfig();
   decClients();
+  
+  delete media;
+  delete mediaprovider;
 }
 
 void VompClient::incClients()