#!/bin/bash

VMS_DIR=$(dirname $(dirname "${BASH_SOURCE[0]}"))

EXE="$VMS_DIR/bin/mediaserver-bin"
ARGS="-e"

# Switch off rp_filter for all interfaces to allow
# discover/install cameras with invalid ip addresses
for interface in /proc/sys/net/ipv4/conf/*/rp_filter; do
    echo "0" > ${interface}
done

# Process core dumps async
if grep systemUser "$VMS_DIR/etc/mediaserver.conf"; then
    CRASH_DIR="$VMS_DIR/var/crash"
    ARGS+=" --crash-directory=$CRASH_DIR"
else
    CRASH_DIR="$HOME"
fi
"$VMS_DIR/bin/shell_utils.sh" crash_gdb_bt "$VMS_DIR/bin/mediaserver-bin" "$CRASH_DIR"

lsblk -o MODEL -n | grep -v '^$' > /tmp/hddlist

echo
echo --- Set ulimits:
FD_MAX=32000
SYS_FD_MAX=$(cat /proc/sys/fs/file-max 2>/dev/null || echo $FD_MAX)
ulimit -n $((SYS_FD_MAX<FD_MAX?SYS_FD_MAX:FD_MAX))
ulimit -c unlimited
ulimit -a

echo
echo --- Starting: $EXE $ARGS
exec start-stop-daemon --start -d "$VMS_DIR/bin" --exec $EXE -- $ARGS

# root_tool enabled version
# exec start-stop-daemon --start \
#     --chuid networkoptix:networkoptix \
#     -d "$VMS_DIR/bin" --exec $EXE -- $ARGS
