#!/bin/sh
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH

# We might need to call this for YTLB as well for V4
verify_drm_state()
{
  # If the certificate has changed we must remove all drm files
  [ -e /user/drm/drmcert ] && read drmcert </user/drm/drmcert
  # Bruno's sha1sum doesn't have check support
  fscert=$(sha1sum /usr/local/licenses/playready.bin)
  if [ "$drmcert" != "$fscert" ]; then
    echo Certificate doesn\'t match current state, clearing files
    rm -rf /user/drm/*
    echo $fscert > /user/drm/drmcert
  fi
}

read appname opts </tmp/runappold

hdsd_mode=1

# Use same output resolution as miniclient was using
case $VIDEO_RESOLUTION in
  1920x1080p@24*) res=1080p ;;
  1920x1080p@60*) res=1080p ;;
  1920x1080i@60*) res=1080i ;;
  720x480p@60*)   res=480p  ;;
  720x480i@60*)   res=480i; hdsd_mode=0 ;;
  *)              res=720p  ;;
esac
echo "res='$res'"

export hdsd_mode
export DFBARGS="linux-input-ir-only,no-sighandler,mode=1280x720,res=$res"

# Install DFB /dev/input/event nodes
/usr/local/bin/directfb/1.4/rundfb.sh install

# Verify if we need to clear any activation data
[ -e /rw/sage/deactivate_netflix ] && /app/client/clear-app netflix
[ -e /rw/sage/deactivate_vudu ] && /app/client/clear-app vudu
[ -e /rw/sage/deactivate_youtube ] && /app/client/clear-app youtube

if [ "$appname" != "waitpower" ]; then
  echo "Starting activity $appname"
  start_time=`date +%s`
fi

case $appname in
  netflix)
    cd /usr/local/bin/netflix
    export PATH=$PWD:$PATH
    export sw_picture_decode=y
    chmod 755 /user/netflix/nrd
    verify_drm_state
    netflix $opts 2>&1 | logos netflix
    ;;
  vudu)
    cd /usr/local/bin
    export PATH=$PWD:$PATH
    vudu $opts 2>&1 | logos vudu
    ;;
  youtube)
    cd /usr/local/bin/webkitGl2
    [ -z "$opts" ] && opts='https://www.youtube.com/tv'
    ./start $opts 2>&1 | logos youtube
    ;;
  waitpower)
    echo 1 > /tmp/poweroff
    ;;
  *)
    echo "Unknown application." >&2
    exit 1
    ;;
esac

if [ "$appname" != "waitpower" ]; then
  echo "Exited activity $appname after $(( `date +%s` - $start_time )) seconds"
fi
