#!/bin/sh
SERVICE_NAME=VideoBridge
PID_PATH_NAME=/var/run/karoo/videobridge.pid
CURRENT_DIR="$(dirname "$0")"
JVB_HOME=/usr/opt/ossapp/video_bridge
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
mainClass="org.jitsi.videobridge.Main"
cp=$(JARS=($JVB_HOME/jitsi-videobridge*.jar $JVB_HOME/lib/*.jar); IFS=:; echo "${JARS[*]}")
libs="$JVB_HOME/lib/native/linux-64"
logging_config="/etc/karoo.conf.d/config/videobridge.logging.properties"
videobridge_rc="/etc/karoo.conf.d/config/videobridge.rc"

# if there is a logging config file in lib folder use it (running from source)
if [ -f $logging_config ]; then
	LOGGING_CONFIG_PARAM="-Djava.util.logging.config.file=$logging_config"
fi

if [ -f $videobridge_rc  ]; then
	source $videobridge_rc
fi

if [ -z "$VIDEOBRIDGE_MAX_MEMORY" ]; then VIDEOBRIDGE_MAX_MEMORY=3072m; fi



source ${CURRENT_DIR}/init_common

do_start_video_bridge()
{
	echo -n "Starting $SERVICE_NAME"
	if [ ! -f $PID_PATH_NAME ]; then
		LD_LIBRARY_PATH=$libs nohup java -Xmx$VIDEOBRIDGE_MAX_MEMORY $VIDEOBRIDGE_DEBUG_OPTIONS -XX:-HeapDumpOnOutOfMemoryError -Djava.library.path=$libs $LOGGING_CONFIG_PARAM $JAVA_SYS_PROPS -cp $cp $mainClass --apis=rest /tmp 2>> /dev/null >> /dev/null &echo $! > $PID_PATH_NAME
		if ! do_check_program_process $PID_PATH_NAME 15; then
			rm -f $PID_PATH_NAME 2>> /dev/null >> /dev/null
			return 1            
		fi
	fi
  return 0
}

do_stop_video_bridge()
{
  do_stop ${SERVICE_NAME} ${PID_PATH_NAME}
  return 0
}

do_status_video_bridge()
{
    if ! do_status "${SERVICE_NAME}" "${PID_PATH_NAME}"; then
        return 1
    fi
    return 0
}

case $1 in
    start)
        if ! do_start_video_bridge; then
            exit 1
        fi
    ;;
    stop)
        if ! do_stop_video_bridge; then
            exit 1
        fi
    ;;
    status)
        if ! do_status_video_bridge; then
            exit 1
        fi
    ;;
    restart)
        if ! do_stop_video_bridge; then
            exit 1
        fi
	if ! do_start_video_bridge; then
            exit 1
        fi
    ;;
esac 
