addon: userspace driver for Sundtek MediaTV Pro - using more than one stick, small fixes

This commit is contained in:
peter 2011-11-06 12:31:08 +01:00
parent 2573a738a6
commit 90e504b5fa
3 changed files with 22 additions and 5 deletions

View File

@ -31,4 +31,4 @@ mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin/
cp -Pa $ROOT/$BUILD/sundtek_*/rootsys/opt/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin/
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib/
cp -Pa $ROOT/$BUILD/sundtek_*/rootsys/opt/lib/*.so $ADDON_BUILD/$PKG_ADDON_ID/lib/
cp -Pa $ROOT/$BUILD/sundtek_*/rootsys/opt/lib/* $ADDON_BUILD/$PKG_ADDON_ID/lib/

View File

@ -12,6 +12,8 @@ MUMUDVB=0
ADDON_DIR="/storage/.xbmc/addons/driver.dvb.sundtek-mediatv"
ADDON_HOME="/storage/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv"
ATTACH_DETACH_LOG="$ADDON_HOME/attach_detach.log"
#ATTACH_DETACH_LOG="/dev/null"
SUNDTEK_COUNTER_FILE="/var/run/sundtek-mediatv.counter"
wait_process() {
while [ -n "$(pidof $1)" ]; do
@ -23,15 +25,19 @@ wait_process() {
echo "Date: `date`" >>$ATTACH_DETACH_LOG
echo "Params: action=$1 devid=$2" >>$ATTACH_DETACH_LOG
. $SUNDTEK_COUNTER_FILE
case "$1" in
attach)
let SUNDTEK_COUNTER++
echo "SUNDTEK_COUNTER=$SUNDTEK_COUNTER" >$SUNDTEK_COUNTER_FILE
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ADDON_DIR/lib
export LD_PRELOAD=$LD_PRELOAD:$ADDON_DIR/lib/libmediaclient.so
(
# save adapter serial number (in background)
sleep 2
serial_number=`mediaclient -e | awk '/ID:/ {print $2}'`
serial_number=` mediaclient -e | awk '/device / {printf("%s\n", $0)} /ID:/ {printf(" serial: %s\n\n", $2)}'`
if [ ! -f $ADDON_HOME/adapter_serial_number.txt ]; then
echo -n "$serial_number" >$ADDON_HOME/adapter_serial_number.txt
else
@ -44,8 +50,15 @@ wait_process() {
;;
detach)
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH//:$ADDON_DIR\/lib/}
export LD_PRELOAD=${LD_PRELOAD//:$ADDON_DIR\/lib\/libmediaclient.so/}
let SUNDTEK_COUNTER--
echo "SUNDTEK_COUNTER=$SUNDTEK_COUNTER" >$SUNDTEK_COUNTER_FILE
if [ "$SUNDTEK_COUNTER" = "0" ] ; then
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH//:$ADDON_DIR\/lib/}
export LD_PRELOAD=${LD_PRELOAD//:$ADDON_DIR\/lib\/libmediaclient.so/}
else
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ADDON_DIR/lib
export LD_PRELOAD=$LD_PRELOAD:$ADDON_DIR/lib/libmediaclient.so
fi
;;
*)
@ -53,6 +66,7 @@ wait_process() {
;;
esac
echo "SUNDTEK_COUNTER=$SUNDTEK_COUNTER" >>$ATTACH_DETACH_LOG
echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >>$ATTACH_DETACH_LOG
echo "LD_PRELOAD=$LD_PRELOAD" >>$ATTACH_DETACH_LOG

View File

@ -23,6 +23,7 @@
ADDON_DIR="$HOME/.xbmc/addons/driver.dvb.sundtek-mediatv"
ADDON_HOME="$HOME/.xbmc/userdata/addon_data/driver.dvb.sundtek-mediatv"
SUNDTEK_CONFIG_FILE="$ADDON_HOME/sundtek.conf"
SUNDTEK_COUNTER_FILE="/var/run/sundtek-mediatv.counter"
mkdir -p $ADDON_HOME
@ -42,7 +43,9 @@ fi
SUNDTEK_ARG="--pluginpath=$ADDON_DIR/bin --daemon"
if [ -z "$(pidof mediasrv)" ]; then
rm $ADDON_HOME/attach_detach.log
mkdir -p /var/run
echo "SUNDTEK_COUNTER=0" >$SUNDTEK_COUNTER_FILE
echo -n "" >$ADDON_HOME/attach_detach.log
ln -sf $SUNDTEK_CONFIG_FILE /tmp/sundtek.conf
mediasrv $SUNDTEK_ARG
fi