#!/bin/bash

. "${BASH_SOURCE%/*}/funcs.sh" "$1"

check_filesize() {
    FILE="$1.${FILEEXT}"
    MIN="$2"
    MAX="$3"

    if [ -z ${MAX}  ]
    then
        MAX=${MIN}
    fi

    SIZE=$(stat -c %s "${DIRNAME}/${FILE}")
    echo "File: ${FILE}"
    if [ ${MIN} -eq ${MAX} ]
    then
        echo "Size: ${SIZE} (expected ${MIN})"
    else
        echo "Size: ${SIZE} (expected ${MIN}...${MAX})"
    fi

    if [ ${SIZE} -ge ${MIN} -a ${SIZE} -le ${MAX} ]
    then
        echo "Pass"
    else
        echo "FAIL!"
        exit 1
    fi
}

# Ensure log contains file sizes, predicted and actual
cat "${DIRNAME}/raven_e.${FILEEXT}" > /dev/null
cat "${DIRNAME}/raven_d.${FILEEXT}" > /dev/null

if [ "${DESTTYPE}" == "mp4" ];
then
    # mp4
    check_filesize "raven_e" 490440 494188
    check_filesize "raven_d" 354319 355136
elif [ "${DESTTYPE}" == "mp3" ];
then
    # mp3
    check_filesize "raven_e" 466981 490440
    check_filesize "raven_d" 343527
elif [ "${DESTTYPE}" == "wav" ];
then
    # wav
    check_filesize "raven_e" 5137772
    check_filesize "raven_d" 4316536
elif [ "${DESTTYPE}" == "ogg" ];
then
    # ogg
    check_filesize "raven_e" 356669 356771
    check_filesize "raven_d" 264179
elif [ "${DESTTYPE}" == "webm" ];
then
    # webm
    check_filesize "raven_e" 429639 440044
    check_filesize "raven_d" 263171 271157
elif [ "${DESTTYPE}" == "opus" ];
then
    # opus
    check_filesize "raven_e" 421675 432222
    check_filesize "raven_d" 255780 263994
elif [ "${DESTTYPE}" == "mov" ];
then
    # mov
    check_filesize "raven_e" 491651 495399
    check_filesize "raven_d" 355300 356142
elif [ "${DESTTYPE}" == "aiff" ];
then
    # aiff
    check_filesize "raven_e" 5137724
    check_filesize "raven_d" 4316488
elif [ "${DESTTYPE}" == "prores" ];
then
    # prores
    check_filesize "raven_e" 5140129
    check_filesize "raven_d" 4318641 4318666
elif [ "${DESTTYPE}" == "alac" ];
then
    # aiff
    check_filesize "raven_e" 3986423
    check_filesize "raven_d" 3277326
else
echo "Internal error, unknown type ${DESTTYPE}. Fix script!"
exit 99
fi

