#!/bin/sh
. /etc/utils.sh

# mcnmp_server is needed only on TV Box
! is-tv-box && exit 0

case "$1" in
  start)
    (
      # mcnmp_server playback code needs widevine and pullreader .so
      export LD_LIBRARY_PATH=/app/client
      export SAGEBIN_PATH=/usr/lib/sage_firmware
      rm -f /tmp/nexus_multiprocess
      babysit 10 mcnmp_server 2>&1 | logos mcnmp_server 0 20000000 &
      wait-until-created /tmp/nexus_multiprocess
      # This waits will we can connect to the mcnmp_server.
      mcnmp_retries=0
      while [ "$mcnmp_retries" -lt "60" ] && \
          ! ( nc 127.0.0.1 6167 < /dev/null ) ; do
        sleep 1
        mcnmp_retries=$((mcnmp_retries+1))
      done
      # Before we let the world know we are ready, check and re-initialize
      # PlayReady and Widevine if necessary.
      /app/client/verify_playready_widevine | logos mcnmp_server
      touch /tmp/mcnmp_ready
      if is-secure-boot; then
        : >/tmp/gpio/ledcontrol/secure_boot
      else
        rm -f /tmp/gpio/ledcontrol/secure_boot
      fi
      nice babysit 60 irmon 2>&1 | logos irmon &
    ) &
    ;;
  stop)
    pkillwait -x startupvideo  # if it's running, prevents miniclient from starting up
    pkillwait -x irmon
    pkillwait -x mcnmp_server
    ;;
  restart)
    $0 stop; $0 start
    ;;
  *)
    echo "Usage: $0 {start|stop|restart}"
    exit 1
esac
